Тёмный
Ssali Jonathan
Ssali Jonathan
Ssali Jonathan
Подписаться
I am a software engineer hailing from Uganda 🇺🇬, actively producing instructional programming videos. My aspiration is to educate millions on coding principles through the content I create. I kindly seek assistance in realizing this goal.
FastAPI now has a CLI  (FastAPI-CLI)
5:06
4 месяца назад
Комментарии
@CharlesKomakech-u6i
@CharlesKomakech-u6i 16 часов назад
I want to get started with python but need someone to teach me or give a guidance
@SsaliJonathan
@SsaliJonathan 15 часов назад
I’m here. I can help
@CharlesKomakech-u6i
@CharlesKomakech-u6i 8 часов назад
@@SsaliJonathan how do I get started sir. Am a complete beginner. Anyway I can connect with you
@Ma_joh
@Ma_joh 2 дня назад
Best one
@AlameenAdeyemi
@AlameenAdeyemi 4 дня назад
Thanks, the comments also helped Y'all should not forget to install redis on ur machine and enable the service, the default port is 6739 so after enabling the service u are good to go.
@ayushibose4225
@ayushibose4225 5 дней назад
where will i get the front end code for this? anyways a great series completed the whole 15 videos today
@SsaliJonathan
@SsaliJonathan 5 дней назад
I did not build a frontend for this
@OfficialCaleb_YT
@OfficialCaleb_YT 7 дней назад
When I sign up as two of the same users, I get {username: null} and samw with all the other things. Pls help
@SsaliJonathan
@SsaliJonathan 6 дней назад
Kindly reach out via Discord. In the #help channel, show all details about your error and I will help. Thanks discord.gg/t48Y6ReF
@HimjyotiSarma-s9e
@HimjyotiSarma-s9e 7 дней назад
I was getting error as Object of type datetime is not JSON serializable in refresh route. I fixed it by changing the expiry in create_access_token like this: expiry_datetime = datetime.now() + (expiry if expiry is not None else timedelta(minutes=60)) In the payload I used 'expiry': expiry_datetime.isoformat(),
@HimjyotiSarma-s9e
@HimjyotiSarma-s9e 7 дней назад
I have also change my route a little: @user_router.get("/refresh_token") async def get_new_access_token(token_details: dict = Depends(RefreshTokenBearer())): expiry_timestamp = token_details["expiry"] expiry_datetime = datetime.strptime(expiry_timestamp, "%Y-%m-%d %H:%M:%S.%f") if expiry_datetime > datetime.now(): access_token = create_access_token(user_data=token_details['user']) print(access_token) return JSONResponse(content={"access_token": access_token}) raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Invalid or Expired Token")
@HimjyotiSarma-s9e
@HimjyotiSarma-s9e 7 дней назад
Hope its helps for those who might be facing issues.👍
@cbbcbb6803
@cbbcbb6803 7 дней назад
Linux?
@SsaliJonathan
@SsaliJonathan 7 дней назад
Used windows at the time I recorded this
@TomislavMiletic
@TomislavMiletic 8 дней назад
This is awesome, thank you! Again SqlAlchemy 2 Pydantic 2 and Fastapi. Better that paid udemy courses. So you create crud.db to use as a shortcut? I didn't really understand that part. What if there was one more model, like User? Can you please share how would we connect the object to a logged in user? And now i guess the next video to watch would be the one with the SQLModel, correct?
@samsonoluwaseun8258
@samsonoluwaseun8258 9 дней назад
Thanks for all you do! 🙌
@SsaliJonathan
@SsaliJonathan 9 дней назад
Welcome
@pav19892
@pav19892 9 дней назад
this is really good Course on the FAST API
@TomislavMiletic
@TomislavMiletic 10 дней назад
Ssali, after watching your SQLAlchemy 2.0 ORM Crash Course, i am a bit lost as to the difference between this video and "Building a REST API with FastAPI, Async SQLAlchemy, and PostgreSQL". Can you please advice? Thank you
@SsaliJonathan
@SsaliJonathan 10 дней назад
Sqlmodel is just an Orm that builds on top of sqlalchemy. You will find it to use since all there’s is to use in sqlalchemy can be added
@TomislavMiletic
@TomislavMiletic 10 дней назад
@@SsaliJonathan thank you, okay let's watch them in order and ask questions later if need be 👍🙂
@TomislavMiletic
@TomislavMiletic 10 дней назад
Fresh, new content for basics on setting up V2, thank you!
@SsaliJonathan
@SsaliJonathan 10 дней назад
Thanks for watching
@MomozoKreationz
@MomozoKreationz 10 дней назад
I realised that these guys only give the basics if you are looking for the whole thing you cant find that , thats why i never pay for any course. but thanks .
@SsaliJonathan
@SsaliJonathan 10 дней назад
Thanks for watching
@whocaresifiexist1425
@whocaresifiexist1425 10 дней назад
Great, thank you.
@SsaliJonathan
@SsaliJonathan 10 дней назад
You are welcome!
@Jayce-m6d
@Jayce-m6d 11 дней назад
Does this code still work today? I'd love to follow along!
@SsaliJonathan
@SsaliJonathan 10 дней назад
Greetings. This code will run the same way. This is because React and Flask have gone through a lot of changes. Thanks so much.
@Jayce-m6d
@Jayce-m6d 9 дней назад
@@SsaliJonathan So it will work?
@Jayce-m6d
@Jayce-m6d 11 дней назад
Hi great videos! if I folowed this step by step would it still run ?
@rogerguedison
@rogerguedison 11 дней назад
muito bom o tutorial, já aprendo ingles junto :D
@SsaliJonathan
@SsaliJonathan 11 дней назад
Me alegro que te guste
@AbhishekJain-zi5qc
@AbhishekJain-zi5qc 11 дней назад
Awsome tutorial. Plz can you make on tutorial on microser vices.
@SsaliJonathan
@SsaliJonathan 11 дней назад
Rest assured. I will make one.
@mgsantanaofficiel2204
@mgsantanaofficiel2204 11 дней назад
Can you help me with Uber full app clone with reflex?
@SsaliJonathan
@SsaliJonathan 11 дней назад
I honestly can’t promise that given my busy schedule. But I’ll leave it as a challenge to you.
@HimjyotiSarma-s9e
@HimjyotiSarma-s9e 12 дней назад
Hi Jonathan, thanks for creating such an awesome playlist. I can't express enough how great your course is.
@SsaliJonathan
@SsaliJonathan 12 дней назад
Glad you enjoy it! Thanks so much for watching
@Rahul-ce9yz
@Rahul-ce9yz 12 дней назад
is pynecone is modified into reflex??
@SsaliJonathan
@SsaliJonathan 12 дней назад
It is Reflex. They renamed it
@Rahul-ce9yz
@Rahul-ce9yz 12 дней назад
@@SsaliJonathan I have a dout that if I don't know radix ui or chakra ui ,will it be difficult to learn reflex
@dothack2k7
@dothack2k7 15 дней назад
Ty!
@prashlovessamosa
@prashlovessamosa 15 дней назад
Thanks Mr Jonathan
@SsaliJonathan
@SsaliJonathan 15 дней назад
Welcome Prashant. Thanks for watching
@farazahmed1668
@farazahmed1668 16 дней назад
Kindly add timestamps please.
@SsaliJonathan
@SsaliJonathan 16 дней назад
Thanks so much. I’ll add them
@pramodhbr4190
@pramodhbr4190 16 дней назад
Waiting for fastapi microservice😢
@SsaliJonathan
@SsaliJonathan 16 дней назад
Will have to build that course in the future.
@enghimanshu
@enghimanshu 16 дней назад
wow thanks for this man !
@SsaliJonathan
@SsaliJonathan 16 дней назад
Glad you liked it. Thanks for watching
@doms_cinema
@doms_cinema 16 дней назад
got stuck at 2 hours as usual ... cant get any answers as this wasnt on windows and he used different database ...
@SsaliJonathan
@SsaliJonathan 16 дней назад
What could be the problem? Do you mind if you can reach out on Discord? I’ll be able to help you from there
@SsaliJonathan
@SsaliJonathan 16 дней назад
discord.com/invite/yqpwkwjRbx
@Ma_joh
@Ma_joh 17 дней назад
Best one 🤗🤗
@SsaliJonathan
@SsaliJonathan 17 дней назад
I am glad it helped. Thanks for watching
@cheverewear
@cheverewear 18 дней назад
Great job. We will appreciate you making something like this but on Django with databases like Postgres, Mongo or MySQL.
@SsaliJonathan
@SsaliJonathan 17 дней назад
I am glad you found value in my work.Will consider doing that in the future
@ravsrvamsikrishna9125
@ravsrvamsikrishna9125 18 дней назад
It's a very useful playlist that explained the best practices, implementations. Thank you for creating this playlist❤
@SsaliJonathan
@SsaliJonathan 17 дней назад
Thanks for watching
@prosperzegue6735
@prosperzegue6735 18 дней назад
According to you, is SqlModel more relevant for production environnement than SqlAlchemy ? Is FastAPI resilient on large project on production or we must go for Django Rest Framework for that... Since SQLModel/FastAPI doesn't have version 1.0 yet and there are a lot to do
@alexmpami
@alexmpami 19 дней назад
hi jonathan I've a problem, I can't connect my db with fastapi the CLI rerurn me this msg : "home/b2pic/Desktop/bookly/src/__init__.py:10: RuntimeWarning: coroutine 'initdb' was never awaited initdb()/" can you or anyone help me to fix it please
@SsaliJonathan
@SsaliJonathan 19 дней назад
Please call initdb with await. like await initdb
@alexmpami
@alexmpami 19 дней назад
@@SsaliJonathan ok I try it, so thanks 👍
@densondube369
@densondube369 19 дней назад
Why am I getting the error : from err sqlalchemy.orm.exc.UnmappedInstanceError: Class 'src.books.schemas.Book' is not mapped
@SsaliJonathan
@SsaliJonathan 19 дней назад
kindly show me the way you are constructing your models.
@densondube369
@densondube369 19 дней назад
No worries, found the issue!
@abduljaweed8131
@abduljaweed8131 20 дней назад
Thanks for uploading
@SsaliJonathan
@SsaliJonathan 19 дней назад
Welcome
@davidessien3617
@davidessien3617 20 дней назад
There is a bug somewhere with validating the integrity of the token. When I tamper with the token like delete some characters, it logs an error, but the request still goes through.
@SsaliJonathan
@SsaliJonathan 20 дней назад
That issue can be handled in the verify_jwt function. Kindly reach out via discord and we’ll see how to go about this
@realtors_life
@realtors_life 20 дней назад
Salute is all I can say because your work has been of great help to me. Thank you and kindly create video on the different app contents.
@SsaliJonathan
@SsaliJonathan 20 дней назад
I’m glad this video helped
@franckishe1691
@franckishe1691 20 дней назад
I usually don't comment but this Tuto is just amazing! You covered pretty much all the topics from basic to advance. Thanks for your work. I was able to build an API for my front-end app! You definitely earned one sub
@SsaliJonathan
@SsaliJonathan 20 дней назад
Thanks so much for the kind comment. I’m glad my video has been valuable to you. I promise to make more valuable content
@ditslytherin
@ditslytherin 20 дней назад
Hi, could you fix the timestamp? Great work, btw. Thank you.
@SsaliJonathan
@SsaliJonathan 20 дней назад
The timestamps have given me a hard time. But I have now fixed them.
@SsaliJonathan
@SsaliJonathan 21 день назад
Hey guys, Thanks for watching. This was requested to be part of the FastAPI Beyond CRUD series. I unfortunately did not add it. So I wanted to get live and do this explaining web sockets
@mridu299
@mridu299 21 день назад
I liked the video and subscribed. Watched content till 3 hr timestamp, really good stuff. Will implement till this part now.
@SsaliJonathan
@SsaliJonathan 21 день назад
Glad it was helpful! Thanks for watching. Kindly ask if you have any concerns.
@alegntayeyilma9564
@alegntayeyilma9564 23 дня назад
On the vs code status bar there is "File 0% Documented". What tool is it?
@SsaliJonathan
@SsaliJonathan 22 дня назад
Autodoc. I think that’s what it is
@davidessien3617
@davidessien3617 23 дня назад
This is the simplest fastapi video I have seen. Very detailed and straight to the point.
@SsaliJonathan
@SsaliJonathan 22 дня назад
I’m glad you like it. Thanks for watching
@jbbonutube
@jbbonutube 23 дня назад
Good work. I really like that you show example of structure as this becomes important in real world projects. lol, I was afraid of the length of 12hrs, but you have held my attention. Thanks.
@SsaliJonathan
@SsaliJonathan 23 дня назад
I am glad you have really held on to the video. Kindly tell me how you will feel about it at the end.
@jbbonutube
@jbbonutube 7 дней назад
@@SsaliJonathan Finally finished the whole tutorial. Riveting, and useful. Thanks for all your work. I have one error left "in _load_backend_mixin version = _bcrypt.__about__.__version__"... but so far the error doesn't make any difference, but if you know what this is, please let me know.
@jbbonutube
@jbbonutube 6 дней назад
Never mind, I rewrote the hash password defs to avoid using the passlib.
@bilalahmad9177
@bilalahmad9177 23 дня назад
Great Sir, Very clear explanation of concepts and implementation. You have made FastAPI really easy to grab and learn for freshers.
@SsaliJonathan
@SsaliJonathan 23 дня назад
Thanks and welcome
@HimaniKapoor-c4x
@HimaniKapoor-c4x 23 дня назад
Thanks Jonathan 😁
@SsaliJonathan
@SsaliJonathan 23 дня назад
Welcome
@MustafeAbdi-id2ut
@MustafeAbdi-id2ut 24 дня назад
bro this course is the best fastapi course l have ever seen and you cover all l need l don't know how l appreciate this
@SsaliJonathan
@SsaliJonathan 24 дня назад
Thanks Mustafe! I appreciate the comment. Thanks for watching and I hope you get more value in the next chapters.
@dudenarima2528
@dudenarima2528 24 дня назад
Yeah that looks good but what to do if Program and Course models are in different files? (as they should be) let's assume I have different folders for Course files(crud, models, schemas etc.) and Program files (same). If I simply import them into each other, I get circular import error, but at the same time I can't just "not import" course into program or vice versa, because those models depend on each other. What should I do then? (to both not have all models in the same file and still have relationship between them)
@dudenarima2528
@dudenarima2528 24 дня назад
There few ideas I want to share: 1. create model_relations file in main directory, import every model there and add relationship fields using inheritance (sort of "central file" for models) 2. simply use Mapped[list[uuid.UUID]] (I use uuid for id) instead of Mapped[list[Program]] and need for importing different models disappears, but this one feels kinda wrong
@SsaliJonathan
@SsaliJonathan 24 дня назад
Try using the format “<model_module.model_name>” if your course models are located in course/models.py then I think “course.models.Course” will work
@dudenarima2528
@dudenarima2528 24 дня назад
@@SsaliJonathan didn't understand how the answer is related sorry problem here is that when I import course.models.Course to program.models.Program (and vice versa) I get circular import error. I want to get rid of this error, even tho I still need to use them. I decided to just write relationships without Mapped[] class because it's just for typechecking during compilation and doesn't really affect the program. for example: parent_program = relationship('CourseModel', back_populates='child_courses')