Ssali Jonathan
Ssali Jonathan
  • Видео 353
  • Просмотров 1 052 420
FastAPI Beyond CRUD Full Course - A FastAPI Course
In the "FastAPI Beyond CRUD" course, you'll move beyond the basics and dive into advanced API development with FastAPI. This course is perfect for developers who are already comfortable with CRUD operations and are eager to explore the powerful features that FastAPI has to offer. You'll start by learning how to set up a FastAPI project and run a simple web server, before quickly progressing to more advanced topics like building REST APIs, managing path and query parameters, and working with databases using SQLModel. Additionally, you'll learn how to manage settings with Pydantic, organize your API with routers, and implement asynchronous SQLModel connections.
As the course progresses, you'...
Просмотров: 23 340

Видео

Deploying FastAPI, PostgreSQL, Celery & Redis on Render - FastAPI Beyond CRUD (Part 23)
Просмотров 655Месяц назад
In this video, we’ll walk through deploying a FastAPI application on Render: This application comprises FastAPI, PostgreSQL, Celery, and Redis. You’ll learn how to set up FastAPI , PostgreSQL for reliable database management, and Redis to enhance Celery as an efficient task queue for background processing. We’ll cover configuration tips, deployment steps, and best practices to ensure a smooth a...
Get Ready For Pycon Uganda 2024 feat @pyconuganda
Просмотров 783Месяц назад
PyCon Uganda is an annual tech conference that celebrates and promotes the use of the Python programming Language within Uganda and Beyond! #pyconuganda2024 Pycon website: ug.pycon.org/2024 Follow Pycon Uganda On X: x.com/pyconuganda Subscribe To Pycon Uganda RUclips www.youtube.com/@pyconuganda
API Testing With Unittest Mock, Pytest & Schemathesis - FastAPI Beyond CRUD (Part 22)
Просмотров 547Месяц назад
In this video, we'll cover how to test your API using Unittest Mock, Pytest, and Schemathesis. We'll start with Unittest Mock, which helps you create fake API responses for testing. Next, we’ll use Pytest, a user-friendly framework for writing and running tests. Finally, we’ll explore Schemathesis, which automatically generates and runs tests based on your API's specification to ensure everythi...
API Documentation With Swagger And Redoc - FastAPI Beyond CRUD (Part 21)
Просмотров 5032 месяца назад
In this video, we explore API documentation with FastAPI, we look at how it automatically generates detailed API docs using Swagger UI and ReDoc. FastAPI leverages Python type hints and Pydantic models to produce an OpenAPI specification, which forms the backbone of the documentation. We’ll explore how Swagger UI offers an interactive interface for your API endpoints directly in the browser, wh...
Background Tasks with FastAPI Background Tasks and Celery + Redis - FastAPI Beyond CRUD (Part 20)
Просмотров 1,5 тыс.2 месяца назад
In this video, we dive deep into boosting your FastAPI application by offloading time-consuming tasks to the background. We'll start by exploring FastAPI's built-in background tasks, demonstrating how to execute functions asynchronously without blocking the main thread. Next, we'll introduce Celery, a powerful task queue system, to handle more complex background jobs. You'll learn how to integr...
Handling Password Resets - FastAPI Beyond CRUD (Part 19)
Просмотров 3132 месяца назад
In this video, we configure password resets for our FastAPI application using email verification. Additionally, we enforce access restrictions to ensure only users with verified accounts can log in. #python #fastapi #apidevelopment SOURCE CODE: github.com/jod35/fastapi-beyond-CRUD COURSE WEBSITE: jod35.github.io/fastapi-beyond-crud-docs/site/chapter14/ PLEASE DONATE TO THE CHANNEL THROUGH: BUY ...
User Account Verification Via Email - FastAPI Beyond CRUD (Part 18)
Просмотров 7472 месяца назад
In this video, we explore integrating email support into our application using FastAPI-Mail. We start by implementing email-sending capabilities and proceed to verify user accounts. We also look at how we can securely pass data in URLs using the itsdangerous Python library. #python #fastapi #apidevelopment SOURCE CODE: github.com/jod35/fastapi-beyond-CRUD COURSE WEBSITE: jod35.github.io/fastapi...
Middleware, Setting Up Custom Logging And CORS - FastAPI Beyond CRUD (Part 17)
Просмотров 1 тыс.2 месяца назад
In this video, we explore the important concept of middleware in FastAPI. Middleware acts as a bridge between incoming requests and application logic, allowing for custom processing at various stages of request handling. Throughout the tutorial, we not only establish a custom logger for our application but also implement middleware to enhance functionality. Additionally, we configure CORS (Cros...
Error Handling (How to create Custom Error Handlers and Exceptions) - FastAPI Beyond CRUD (Part 16)
Просмотров 7502 месяца назад
Error Handling (How to create Custom Error Handlers and Exceptions) - FastAPI Beyond CRUD (Part 16)
More Database And Schema Relationships - FastAPI Beyond CRUD (Part 15)
Просмотров 4603 месяца назад
More Database And Schema Relationships - FastAPI Beyond CRUD (Part 15)
Model And Schema Relationships (One To Many SQLModel) - FastAPI Beyond CRUD (Part 14)
Просмотров 7263 месяца назад
Model And Schema Relationships (One To Many SQLModel) - FastAPI Beyond CRUD (Part 14)
Role-Based Access Control Using Dependency Injection (User Roles) - FastAPI Beyond CRUD (Part 13)
Просмотров 1,2 тыс.3 месяца назад
Role-Based Access Control Using Dependency Injection (User Roles) - FastAPI Beyond CRUD (Part 13)
JWT Authentication (Revoke Access Tokens Using Redis) - FastAPI Beyond CRUD (Part 12)
Просмотров 7693 месяца назад
JWT Authentication (Revoke Access Tokens Using Redis) - FastAPI Beyond CRUD (Part 12)
JWT Authentication (Renew User Access Using Refresh Tokens) - FastAPI Beyond CRUD (Part 11)
Просмотров 7403 месяца назад
JWT Authentication (Renew User Access Using Refresh Tokens) - FastAPI Beyond CRUD (Part 11)
JWT Authentication (Protect Endpoints with HTTP Bearer Auth) - FastAPI Beyond CRUD (Part 10)
Просмотров 9343 месяца назад
JWT Authentication (Protect Endpoints with HTTP Bearer Auth) - FastAPI Beyond CRUD (Part 10)
JWT Authentication (Create Access And Refresh Tokens) - FastAPI Beyond CRUD (Part 9)
Просмотров 1,2 тыс.3 месяца назад
JWT Authentication (Create Access And Refresh Tokens) - FastAPI Beyond CRUD (Part 9)
User Account Creation (Email & Password) - FastAPI Beyond CRUD (Part 8)
Просмотров 5993 месяца назад
User Account Creation (Email & Password) - FastAPI Beyond CRUD (Part 8)
Create a User Authentication Model (Database Migrations With Alembic) - FastAPI Beyond CRUD (Part 7)
Просмотров 7903 месяца назад
Create a User Authentication Model (Database Migrations With Alembic) - FastAPI Beyond CRUD (Part 7)
CRUD With Async SQLModel (An Introduction to Dependency Injection) - FastAPI Beyond CRUD (Part 6)
Просмотров 1,1 тыс.3 месяца назад
CRUD With Async SQLModel (An Introduction to Dependency Injection) - FastAPI Beyond CRUD (Part 6)
Databases With SQLModel (Connection, Lifespan Events, And Models) - FastAPI Beyond CRUD (Part 5)
Просмотров 1,5 тыс.3 месяца назад
Databases With SQLModel (Connection, Lifespan Events, And Models) - FastAPI Beyond CRUD (Part 5)
Modular Project Structure With FastAPI Routers - FastAPI Beyond CRUD (Part 4)
Просмотров 1,2 тыс.3 месяца назад
Modular Project Structure With FastAPI Routers - FastAPI Beyond CRUD (Part 4)
Build a CRUD REST API (Response Models, Validation, And Exceptions) - FastAPI Beyond CRUD (Part 3)
Просмотров 1 тыс.3 месяца назад
Build a CRUD REST API (Response Models, Validation, And Exceptions) - FastAPI Beyond CRUD (Part 3)
Web Server Basics (Path & Query Params, Request Body, Headers) - FastAPI Beyond CRUD (Part 2)
Просмотров 1,6 тыс.3 месяца назад
Web Server Basics (Path & Query Params, Request Body, Headers) - FastAPI Beyond CRUD (Part 2)
Introduction And Project Set Up - FastAPI Beyond CRUD (Part 1)
Просмотров 2,7 тыс.3 месяца назад
Introduction And Project Set Up - FastAPI Beyond CRUD (Part 1)
Communication About FastAPI Course And Channel Donations
Просмотров 2924 месяца назад
Communication About FastAPI Course And Channel Donations
Advanced Django ORM Features (Q-Objects, F-Expressions, Aggregations and Annotations)
Просмотров 5494 месяца назад
Advanced Django ORM Features (Q-Objects, F-Expressions, Aggregations and Annotations)
Easily Turn Your Markdown Into Static Sites Using MKDocs
Просмотров 5354 месяца назад
Easily Turn Your Markdown Into Static Sites Using MKDocs
FastAPI now has a CLI (FastAPI-CLI)
Просмотров 6544 месяца назад
FastAPI now has a CLI (FastAPI-CLI)
Be Careful when Listening to To Youtube Software Engineers @SidTheITGuy
Просмотров 3 тыс.5 месяцев назад
Be Careful when Listening to To RUclips Software Engineers @SidTheITGuy

Комментарии

  • @CharlesKomakech-u6i
    @CharlesKomakech-u6i День назад

    I want to get started with python but need someone to teach me or give a guidance

    • @SsaliJonathan
      @SsaliJonathan День назад

      I’m here. I can help

    • @CharlesKomakech-u6i
      @CharlesKomakech-u6i День назад

      @@SsaliJonathan how do I get started sir. Am a complete beginner. Anyway I can connect with you

  • @Ma_joh
    @Ma_joh 3 дня назад

    Best one

  • @AlameenAdeyemi
    @AlameenAdeyemi 5 дней назад

    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 6 дней назад

    where will i get the front end code for this? anyways a great series completed the whole 15 videos today

    • @SsaliJonathan
      @SsaliJonathan 6 дней назад

      I did not build a frontend for this

  • @OfficialCaleb_YT
    @OfficialCaleb_YT 8 дней назад

    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 7 дней назад

      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 8 дней назад

    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 8 дней назад

      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 8 дней назад

      Hope its helps for those who might be facing issues.👍

  • @cbbcbb6803
    @cbbcbb6803 8 дней назад

    Linux?

    • @SsaliJonathan
      @SsaliJonathan 8 дней назад

      Used windows at the time I recorded this

  • @TomislavMiletic
    @TomislavMiletic 9 дней назад

    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 10 дней назад

    Thanks for all you do! 🙌

  • @pav19892
    @pav19892 10 дней назад

    this is really good Course on the FAST API

  • @TomislavMiletic
    @TomislavMiletic 11 дней назад

    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 11 дней назад

      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 11 дней назад

      @@SsaliJonathan thank you, okay let's watch them in order and ask questions later if need be 👍🙂

  • @TomislavMiletic
    @TomislavMiletic 11 дней назад

    Fresh, new content for basics on setting up V2, thank you!

  • @MomozoKreationz
    @MomozoKreationz 11 дней назад

    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 .

  • @whocaresifiexist1425
    @whocaresifiexist1425 11 дней назад

    Great, thank you.

  • @Jayce-m6d
    @Jayce-m6d 12 дней назад

    Does this code still work today? I'd love to follow along!

    • @SsaliJonathan
      @SsaliJonathan 11 дней назад

      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 10 дней назад

      @@SsaliJonathan So it will work?

  • @Jayce-m6d
    @Jayce-m6d 12 дней назад

    Hi great videos! if I folowed this step by step would it still run ?

  • @rogerguedison
    @rogerguedison 12 дней назад

    muito bom o tutorial, já aprendo ingles junto :D

  • @AbhishekJain-zi5qc
    @AbhishekJain-zi5qc 12 дней назад

    Awsome tutorial. Plz can you make on tutorial on microser vices.

  • @mgsantanaofficiel2204
    @mgsantanaofficiel2204 12 дней назад

    Can you help me with Uber full app clone with reflex?

    • @SsaliJonathan
      @SsaliJonathan 12 дней назад

      I honestly can’t promise that given my busy schedule. But I’ll leave it as a challenge to you.

  • @HimjyotiSarma-s9e
    @HimjyotiSarma-s9e 13 дней назад

    Hi Jonathan, thanks for creating such an awesome playlist. I can't express enough how great your course is.

    • @SsaliJonathan
      @SsaliJonathan 13 дней назад

      Glad you enjoy it! Thanks so much for watching

  • @Rahul-ce9yz
    @Rahul-ce9yz 13 дней назад

    is pynecone is modified into reflex??

    • @SsaliJonathan
      @SsaliJonathan 13 дней назад

      It is Reflex. They renamed it

    • @Rahul-ce9yz
      @Rahul-ce9yz 13 дней назад

      @@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 16 дней назад

    Ty!

  • @prashlovessamosa
    @prashlovessamosa 16 дней назад

    Thanks Mr Jonathan

    • @SsaliJonathan
      @SsaliJonathan 16 дней назад

      Welcome Prashant. Thanks for watching

  • @farazahmed1668
    @farazahmed1668 17 дней назад

    Kindly add timestamps please.

  • @pramodhbr4190
    @pramodhbr4190 17 дней назад

    Waiting for fastapi microservice😢

    • @SsaliJonathan
      @SsaliJonathan 17 дней назад

      Will have to build that course in the future.

  • @enghimanshu
    @enghimanshu 17 дней назад

    wow thanks for this man !

    • @SsaliJonathan
      @SsaliJonathan 17 дней назад

      Glad you liked it. Thanks for watching

  • @doms_cinema
    @doms_cinema 17 дней назад

    got stuck at 2 hours as usual ... cant get any answers as this wasnt on windows and he used different database ...

    • @SsaliJonathan
      @SsaliJonathan 17 дней назад

      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 17 дней назад

      discord.com/invite/yqpwkwjRbx

  • @Ma_joh
    @Ma_joh 18 дней назад

    Best one 🤗🤗

    • @SsaliJonathan
      @SsaliJonathan 18 дней назад

      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 18 дней назад

      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❤

  • @prosperzegue6735
    @prosperzegue6735 19 дней назад

    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 20 дней назад

    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 20 дней назад

      Please call initdb with await. like await initdb

    • @alexmpami
      @alexmpami 19 дней назад

      @@SsaliJonathan ok I try it, so thanks 👍

  • @densondube369
    @densondube369 20 дней назад

    Why am I getting the error : from err sqlalchemy.orm.exc.UnmappedInstanceError: Class 'src.books.schemas.Book' is not mapped

    • @SsaliJonathan
      @SsaliJonathan 20 дней назад

      kindly show me the way you are constructing your models.

    • @densondube369
      @densondube369 20 дней назад

      No worries, found the issue!

  • @abduljaweed8131
    @abduljaweed8131 21 день назад

    Thanks for uploading

  • @davidessien3617
    @davidessien3617 21 день назад

    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 21 день назад

      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 21 день назад

    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.

  • @franckishe1691
    @franckishe1691 21 день назад

    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 21 день назад

      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 21 день назад

    Hi, could you fix the timestamp? Great work, btw. Thank you.

    • @SsaliJonathan
      @SsaliJonathan 21 день назад

      The timestamps have given me a hard time. But I have now fixed them.

  • @SsaliJonathan
    @SsaliJonathan 22 дня назад

    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 22 дня назад

    I liked the video and subscribed. Watched content till 3 hr timestamp, really good stuff. Will implement till this part now.

    • @SsaliJonathan
      @SsaliJonathan 22 дня назад

      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 23 дня назад

      Autodoc. I think that’s what it is

  • @davidessien3617
    @davidessien3617 24 дня назад

    This is the simplest fastapi video I have seen. Very detailed and straight to the point.

    • @SsaliJonathan
      @SsaliJonathan 23 дня назад

      I’m glad you like it. Thanks for watching

  • @jbbonutube
    @jbbonutube 24 дня назад

    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 24 дня назад

      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 8 дней назад

      @@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 7 дней назад

      Never mind, I rewrote the hash password defs to avoid using the passlib.

  • @bilalahmad9177
    @bilalahmad9177 24 дня назад

    Great Sir, Very clear explanation of concepts and implementation. You have made FastAPI really easy to grab and learn for freshers.

  • @HimaniKapoor-c4x
    @HimaniKapoor-c4x 24 дня назад

    Thanks Jonathan 😁

  • @MustafeAbdi-id2ut
    @MustafeAbdi-id2ut 25 дней назад

    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 25 дней назад

      Thanks Mustafe! I appreciate the comment. Thanks for watching and I hope you get more value in the next chapters.

  • @dudenarima2528
    @dudenarima2528 25 дней назад

    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 25 дней назад

      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 25 дней назад

      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 25 дней назад

      @@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')