Why You NEED To Learn FastAPI | Hands On Project

Ғылым және технология

FastAPI is my absolute favorite Python API because of its modern features not found in other APIs.
In this video, I'll discuss 7 advantages that FastAPI has over other alternatives, like an API built with Flask, and I'll do this WHILE building out a fun little ToDo app.
Code along with me!
Become a community member to access Part 2 and Part 3 of this course where we connect the API to SQL and then build out a React front-end for it. More information here - travis.media/community/
Timestamps
00:00 Intro
00:43 Why are APIs so important?
03:30 Project setup
04:07 Installation and server
04:40 First basic route
05:10 Advantage 1 - It's just plain Python
05:35 Advantage 2 - Async built-in
06:50 Structuring our routes
07:52 GET todos
08:28 POST todo
09:00 Advantage 3 - Data validation built-in
10:37 Advantage 4 - Typed Python!
11:44 GET todo
14:13 DELETE todo
15:35 UPDATE todo
18:19 Advantage 5 - Errors are in JSON
18:28 Advantage 6 - Authentication methods built-in
18:50 Advantage 7 - Swagger and ReDoc built-in
20:41 Outro
Dive deep with FastAPI on Udemy
geni.us/y3m6
** Career Path Coding Tracks **
Web Developer - geni.us/jBigBd
Software Engineer - geni.us/AbMxjrX
Machine Learning - geni.us/GporLlT
Python Developer - geni.us/tv2FJBU
DevOps Engineer - geni.us/MgHtJ
** My Coding Blueprints **
Learn to Code Web Developer Blueprint - geni.us/HoswN2
AWS/Python Blueprint - geni.us/yGlFaRe
** I write regularly **
travis.media
** FREE EBOOKS **
📘 travis.media/ebooks
LET'S CONNECT!
📰 LinkedIn ➔ / travisdot. .
🐦 Twitter ➔ / travisdotmedia​
🙋🏼‍♂️ Website ➔ travis.media
#fastapi #pythonprogramming #api
** Some of the links in this description may be affiliate links that I may get a little cut of. Thank you.

Пікірлер: 145

  • @hndr91
    @hndr919 ай бұрын

    Mann, this video is crystal clear intro to FastAPI

  • @ratzule
    @ratzule2 ай бұрын

    Outstanding, Travis. Crystal clear and fun. This is the first of your videos I have found, but I enjoyed and learned so much useful stuff in it I immediately subscribed.

  • @miluna94
    @miluna9410 ай бұрын

    I knew FastAPI was good but it is actually great! Much more production ready than Flask and much closer to Spring framework

  • @keylanoslokj1806

    @keylanoslokj1806

    10 ай бұрын

    What do all those weird terms mean?

  • @miluna94

    @miluna94

    10 ай бұрын

    @@keylanoslokj1806 Flask is another Python library and Spring is a Java framework

  • @rl6382

    @rl6382

    10 ай бұрын

    ​@@keylanoslokj1806they represent different ways of doing things.

  • @danielkirsch4351

    @danielkirsch4351

    8 ай бұрын

    What makes it closer to Spring in your view @miluna94 ? - interested to know as I am looking into python frameworks and wish to pick something which may make it simpler in terms of congnitive load and context switching . Thanks

  • @miluna94

    @miluna94

    8 ай бұрын

    ​@@danielkirsch4351I would say the autoconfigured validation, swagger and all those sweet things that Flask does not have out of the box

  • @click66
    @click668 ай бұрын

    My favourite part was when you told us what API stands for. "OH, what doesnt it stand for..." Kidding of course, great video. Im an experienced dev getting deeper into how to leverage python for more scalable apps so FastAPI is quickly beomcing ny weapon of choice, and this video really helped. Thanks

  • @ronjones1587
    @ronjones15876 ай бұрын

    Amazing ! This video got me started very FAST, thank you very much!

  • @incognito_789
    @incognito_7892 ай бұрын

    I'm sort of a newbie so it takes me some hours to follow up, but your video is incredibly concisely and informative. Thumbs up for you, thank you soooo much!!!

  • @omarhassoun636
    @omarhassoun6365 ай бұрын

    Love the video! Where are the next parts?

  • @jonathanjohnson2785
    @jonathanjohnson278510 ай бұрын

    Great content as usual. Im more a javascript guy but it doesn't hurt to see things from a python's perspective💯👍👍

  • @AstorSkywalker
    @AstorSkywalker7 ай бұрын

    Great tutorial, nice way to spend my Sunday morning!

  • @phaneendhraajaythota1025
    @phaneendhraajaythota102510 ай бұрын

    awesome.. I worked with flask apis .. it pretty much looked the same.. with built in async etc.. thank you.

  • @mattmarshall1834
    @mattmarshall18348 ай бұрын

    Great, to the point, tutorial. Thank you.

  • @casper905
    @casper9055 ай бұрын

    Coming from Rails world, fast and right to the point! love it, smooth teaching style!

  • @armans4494
    @armans449410 ай бұрын

    Wonderfully done. Thank you

  • @ragsbigfella
    @ragsbigfella9 ай бұрын

    Travis, thank you for this video. Can you please create a video with async/await in fastapi with a bigger project which has a multiple folders/files?

  • @whisperingadventurespnw
    @whisperingadventurespnw9 ай бұрын

    Could you do a follow up on this video using a database? I’ve seen fast api tutorials like this before but they all stop before they implement the database layer. If you made that video you’d be the only one with that content.

  • @Patronesofly
    @Patronesofly2 ай бұрын

    Definitely like how enthusiastic he is about everything

  • @darrenlefcoe
    @darrenlefcoe8 ай бұрын

    a very clear video with good example(s) of why one might use FastAPI...

  • @aitools24
    @aitools247 ай бұрын

    00:03 Creating an API first allows for easy integration and maintenance of multiple applications. 02:30 Fast API is a better alternative than Flask as an API. 05:20 FastAPI provides built-in async support and is more efficient than Flask 07:57 Create and validate a to-do item for the API 10:44 Fast API provides typed APIs, allowing for easy declaration of types in Python. 13:29 Implementing CRUD Operations 16:14 Updating to-do items 18:46 Fast API provides a built-in Swagger UI for easy API documentation and testing. Crafted by Merlin AI.

  • @neusprach
    @neusprach9 ай бұрын

    Awesome tutorial! Thanks!

  • @parkerrex
    @parkerrex6 ай бұрын

    Caught me a bit off guard that you kept calling it FastTrack and then got the count off, but forget that this video was great!!! Thanks Travis.

  • @jironymojirolamus913
    @jironymojirolamus9134 ай бұрын

    Great turorial, thanks!

  • @terribletruth8201
    @terribletruth82018 ай бұрын

    11:25 If you're dumb or blind like me, make sure the menu item next to GraphQL is set to "JSON". Mine was defaulted to text, it took me forever to figure out why mine wasn't working.

  • @sanderweide6245

    @sanderweide6245

    6 ай бұрын

    you saved me from insanity with this comment, thanks!

  • @muhammadumarsotvoldiev8768
    @muhammadumarsotvoldiev87688 ай бұрын

    Thank you for your efforts! Respect

  • @_MagL
    @_MagL9 ай бұрын

    At 16:42 line 32 just updating the Todo item would suffice since the Todo id isn't expected to change

  • 9 ай бұрын

    nice video. how do you compare it with something like Ruby-Sinatra or Hanami ?

  • @techeye7005
    @techeye70059 ай бұрын

    Man loved your content , Thankyou

  • @AaronGayah
    @AaronGayah8 ай бұрын

    Thank you. I enjoyed this.

  • @Darbokst
    @Darbokst4 ай бұрын

    went to join your community for vid 2 and 3, hopefully it'll be back soon.

  • @circulartext
    @circulartext5 ай бұрын

    love working with fast api

  • @sameergaikwad222
    @sameergaikwad2223 ай бұрын

    Awesome. Thanks it helped. 👍👍

  • @hellomelloyello
    @hellomelloyello3 ай бұрын

    Excellent tutorial. I did a Coursera Cert on Back-End using Django and was entirely overwhelmed! Lol. This clarified a lot for me.

  • @thomasanderson9539
    @thomasanderson95399 ай бұрын

    Great! How do you have the autocompletion in your terminal? Is it a plug-in or a special terminal

  • @kylehodgetts

    @kylehodgetts

    8 ай бұрын

    Im not sure about Travis, but I use zsh as my shell and use the zsh-autosuggestions zsh-syntax-highlighting plugins

  • @user-fs3gh8ey1u
    @user-fs3gh8ey1u9 ай бұрын

    Thank you so mach!

  • @adiljamshad215
    @adiljamshad2157 ай бұрын

    I'm asking about fastapi being typed (I am talking about developer experience). As I have worked with c#. The typed characteristic is what I admire the most about it. Python being a dynamic language, how can fastapi be typed while running on python? Is it compile time typed or is it run time typed too?

  • @paulChannel196

    @paulChannel196

    7 ай бұрын

    Serialization time typed, it uses Pydantic

  • @user-if1dj7fy2y
    @user-if1dj7fy2y18 сағат бұрын

    Bravo 👏👏👏 Master Lit 🔥 Impressive 😍 Gratitude 🙏 for your satisfactory Work 🚀🌟🌱

  • @christofferagger4072
    @christofferagger40723 ай бұрын

    Great vid!

  • @istwishmeister9368
    @istwishmeister936829 күн бұрын

    does anyone know why the FastAPI document in this video is shown differently than the currently available version? How can I get the proper documentation version of FastAPI?

  • @MrProgrammerSharmaJi
    @MrProgrammerSharmaJi4 ай бұрын

    🥺🥺 now python can be my primary goto for small and medium projects as it resolves my concern of oversized setup of anything like django... Also it made easy to structure our project by ourselves.

  • @theBidon
    @theBidon10 ай бұрын

    100k incoming!

  • @timbrap4693
    @timbrap469310 ай бұрын

    You mention when building a webapp, you can use a frontend like react to call the routes. When you do this, the calls are visible from the network tab in devtools. But when I visit some of the more famous websites, those calls arent always visible. Why is that? Do they not use an API, or do they serverside render it (prefetch serverside and send the data over some way)

  • @Crypt0mite

    @Crypt0mite

    9 ай бұрын

    This is a good question I would like to know this as well.

  • @AdefemiGreat

    @AdefemiGreat

    9 ай бұрын

    Most big companies have an active socket connection for transferring data between the backend and frontend. So what you see most times is just interaction between the frontend and the socket service

  • @timbrap4693

    @timbrap4693

    9 ай бұрын

    @@AdefemiGreat Do you happen to have by any chance some literature about this topic?

  • @AdefemiGreat

    @AdefemiGreat

    9 ай бұрын

    @@timbrap4693 not literature really, more like experience

  • @extremelyangryman2583

    @extremelyangryman2583

    9 ай бұрын

    They're probably using next or nuxt to make server side requests

  • @zbyszeks3657
    @zbyszeks36572 ай бұрын

    6:46 "ERROR: Error loading ASGI app. Attribute "app" not found in module "main". Just didn't "save" on the file and there was not autosave mode on

  • @jezztorrent6636
    @jezztorrent66364 күн бұрын

    This video is the bestttttttt

  • @user-jg4ci4mf8w
    @user-jg4ci4mf8w10 ай бұрын

    Question: Why do you create a new project and environment using a terminal program outside of VS Code when you're going to end up using vs-code to build out your app? Please someone answer this question, I noticed many people do this.

  • @TravisMedia

    @TravisMedia

    10 ай бұрын

    Two reasons for me: 1. I by default just start with the terminal by habit when I do things like this. 2. If you start with VSCode, often when you bootstrap a project it creates a new folder. Then you have to cd into that and reopen VSCode to show the file tree from that folder. If you start with the terminal, you can install, cd into a directory, and get into the path where you need to be, and then at last open up a text editor in that path.

  • @BboyKeny

    @BboyKeny

    9 ай бұрын

    I used to use the terminal to go to the project directory and start vscode with code . Now I use neovim instead of vscode. I like the terminal because it gives easy access to many programs / functionalities.

  • @tesla9527
    @tesla95279 ай бұрын

    how to flash message to jinja2 template using fastapi just like flash in flask?

  • @cikgutaiff
    @cikgutaiff10 ай бұрын

    Though dated, I'm so used to Yii2 and Gii for automatically generating MVC from a database. There doesn't seem to be anything equivalent in the Python world for now, that is free. Or is there...?

  • @brendanmclearie4278

    @brendanmclearie4278

    9 ай бұрын

    django

  • @cikgutaiff

    @cikgutaiff

    9 ай бұрын

    @@brendanmclearie4278 I wonder how Django compares with Yii2, as a pure REST API backend...

  • @pramudyadika_
    @pramudyadika_3 ай бұрын

    Thanks!

  • @StrategicCIS
    @StrategicCIS9 ай бұрын

    I've got a database on a digital ocean droplet that I'm trying to connect to with FastAPI and SQLModel. I can connect to the DB when it's local. Do you have any tutorials on getting things up on the cloud? Thanks.

  • @TravisMedia

    @TravisMedia

    9 ай бұрын

    So a database installed and running on a droplet that you manage, or a managed database that DO manages? Just wanted to clarify.

  • @StrategicCIS

    @StrategicCIS

    9 ай бұрын

    It's a database on a droplet that I manage. I've made some progress: I've got FastAPI/SQLModel on a Deta space. I'm getting a {"detail":"Not Found"}, and in the Swagger docs I'm getting a 200 Successful response and then a 422 Validation Error. From my research, it looks like everything is good on the server side of things and that there's something wrong with my code - either the ORM or the API. Is that accurate?

  • @Carterofmars
    @Carterofmars10 ай бұрын

    Since I'll be concentrating on HTML/CSS a Web API is something I'll need to add to my curriculum. Question: Do you still recommend Zoho Books?

  • @akramsystems
    @akramsystems9 ай бұрын

    How about this vs Quart?

  • @andybecker5001
    @andybecker50019 ай бұрын

    Built in swagger is cool. This Definitely seems more intuitive than JavaScript

  • @chriskeo392
    @chriskeo39210 ай бұрын

    Need a video with fastapi + htmx

  • @TravisMedia

    @TravisMedia

    10 ай бұрын

    Expect it soon. Been looking for a reason to use htmx.

  • @chriskeo392

    @chriskeo392

    10 ай бұрын

    @@TravisMedia I'll be on alert for the video

  • @vannakvy9109
    @vannakvy91099 ай бұрын

    how to we structure our project when it gets bigger.

  • @bakasenpaidesu
    @bakasenpaidesu10 ай бұрын

    Django 🔥

  • @jameszack7158
    @jameszack71588 ай бұрын

    Hi. I want to build a web application. I know coding in python and javascript. But that's all. I don't know anything about web applications, HTML, CSS, frontend, backend, routing, HTTP, databases, servers, protocols etc. So, how can I learn about these things and how do I build a web application? Could you please recommend a book explaining all these things for a complete beginner? Thanks.

  • @thehereticalinvestigation

    @thehereticalinvestigation

    7 ай бұрын

    Dude just ask ChatGPT those exact same things.

  • @dev.info.2000
    @dev.info.20008 ай бұрын

    Which version of python should be used for fastapi?

  • @TravisMedia

    @TravisMedia

    8 ай бұрын

    Currently 3.7+

  • @Tommysbuilds
    @Tommysbuilds9 ай бұрын

    wow.. i need to rewrite my flask api. like right now

  • @Shadow01Net
    @Shadow01Net5 ай бұрын

    Is there a good tutorial about authentication ?

  • @williansuarez3988
    @williansuarez398816 күн бұрын

    Buen video, ¿como haces para hacer post, get, put y delete sin estar en docs? veo que lo haces seleccionando de unos desplegables pero a mi no me aparece así

  • @TravisMedia

    @TravisMedia

    16 күн бұрын

    “Cuando uses la documentación, verás @app.get() en los ejemplos o @app.post() en los ejemplos. Así que cuando mires en la página de Parámetros de Ruta en la documentación, verás solicitudes get. Cuando mires en la página de Cuerpo de Solicitud, probablemente encontrarás ejemplos de solicitudes post, y así sucesivamente. ¿Responde eso a tu pregunta?”

  • @williansuarez3988

    @williansuarez3988

    16 күн бұрын

    @@TravisMedia ¡Gracias!

  • @williansuarez3988

    @williansuarez3988

    16 күн бұрын

    ¡Ya creo que lo ví! ¿estas usando postman para probar los endpoints?

  • @God-uf6yc
    @God-uf6yc6 ай бұрын

    Bottle is good too?

  • @PANDURANG99
    @PANDURANG998 ай бұрын

    is it feasible for ML apps?

  • @Roman_Carter
    @Roman_Carter10 ай бұрын

    Any recommendations for older tech guy getting into development starting from scratch…?

  • @SergioBallestrero

    @SergioBallestrero

    10 ай бұрын

    It depends a lot on your background and your goal (personal or career move). But anyway what I feel is most important is to be motivated and enjoy doing it, so find some hobby project to experiment, like automating some task, some home IoT with RasPi, Arduino etc. The second one is to read not just books but other people's code too.

  • @confidential303

    @confidential303

    9 ай бұрын

    Age doesn't matter. The intent to learn is

  • @martinkrauser4029

    @martinkrauser4029

    7 ай бұрын

    I recommend not being fooled into thinking age is a factor for learning skills. When you're new, you're new. :) Better question to ask would be "with my background in this and interests in this, where do you recommend I start"

  • @Proviper666
    @Proviper6669 ай бұрын

    Did he talk about FastAPI minuses? There got to at least one?

  • @santoshbandichode3449
    @santoshbandichode34495 ай бұрын

    Learning something like msgspec also pays off

  • @TotallyNotAuroras2ndChannel
    @TotallyNotAuroras2ndChannel10 ай бұрын

    I did but no one has taken my crud operations seriously

  • @RowafaEdits
    @RowafaEdits10 ай бұрын

    Can I edit your videos?

  • @FickleHead
    @FickleHead8 ай бұрын

    Thats alot todo in one day ;)

  • @AbderrahmanFodili
    @AbderrahmanFodili9 ай бұрын

    Coming from Laravel this seems so painful to watch. No model route binding Don't mind me 😅 I'm a noob with only six months of experience The swagger thing was neat 😎

  • @paulgupta2454
    @paulgupta24549 ай бұрын

    Can you please add a link to the code that you're writing, I know you want us to 'code along with you' but it's difficult to find syntax errors as we're watching a video. It's especially insensitive to those with accessibility needs. Good video otherwise though!

  • @MrAtomUniverse
    @MrAtomUniverse8 ай бұрын

    How do i host it remotely

  • @TravisMedia

    @TravisMedia

    8 ай бұрын

    fastapi.tiangolo.com/deployment/

  • @ahmedmusawir
    @ahmedmusawir5 ай бұрын

    You my friend are simply Awesome!! Now I know Fastapi... thanx!

  • @rakly3473
    @rakly34738 ай бұрын

    FYI whomever is reading: There's a Postman extension in VScode

  • @TravisMedia

    @TravisMedia

    8 ай бұрын

    That’s new to me. Thanks!

  • @himankshu
    @himankshu6 ай бұрын

    hey loki

  • @browaruspierogus2182
    @browaruspierogus21829 ай бұрын

    except mvc is a mistake - cqrs seems to be the future and also improved minimal APIs

  • @not_a_human_being
    @not_a_human_being4 ай бұрын

    put? delete? looks like FastAPI puts new wind into the sails of the REST. Having worked with APIs I'm yet to see anything other than "GET" or "POST" in production.

  • @baloney_sandwich
    @baloney_sandwich3 ай бұрын

    No corporate developers use vscode. There’s so much work to do and so much integration but vscode is just a skeleton program and all companies disable vscode market place.

  • @handsomelyhung
    @handsomelyhung10 ай бұрын

    Why this dude accent sound like he from Arkansas and England? 😂😂😂

  • @TravisMedia

    @TravisMedia

    10 ай бұрын

    😂😂😂 I think you nailed it. I get asked all the time, and I'm like "Umm I'm from Virginia.?" But most people guess either the south US or England. England though, really? The other two I get are that I'm from NY (??? what) and of course, I have a hundred comments on YT saying I sound like Obama. Whatever it is, you all keep me laughing about it.

  • @zeus7914
    @zeus79149 ай бұрын

    i feel that using the command prompt is a large step backwards. i had to stop right there.

  • @kennedymuhumuza283

    @kennedymuhumuza283

    6 ай бұрын

    Use anaconda prompt

  • @kennedymuhumuza283

    @kennedymuhumuza283

    6 ай бұрын

    Use anaconda prompt

  • @ipodtouch470

    @ipodtouch470

    6 ай бұрын

    Nope the terminal is a crucial feature and something all developers should at least familiarize themselves with

  • @user-tz3cw5hy6k
    @user-tz3cw5hy6k9 ай бұрын

    travis you got a lil twang in your voice lol. You grew up in the south lmao?

  • @hoegge
    @hoegge9 ай бұрын

    It is not an API - it is a backend framework / library

  • @atetraxx

    @atetraxx

    9 ай бұрын

    What do you think an API is?

  • @hoegge

    @hoegge

    9 ай бұрын

    @@atetraxx An API is (application programming interface) is originally an interface to interact with an application, i.e., could be the objects you interact with in Visual Basic for Applications, it could be a way to automated things in a CAD program via. Python, or control a music program like Ableton Live from objects in Max for Live. Of course it can also be a way to interact with a bigger system over a network interface, hence the term being used in web development. If you have a service, where there is an API for users to get the data or update things, that interface is an API. When developing an application that consists of both a backend and a front-end to be complete, the HTTP (REST or not) interface, is not really an API, but a communication interface inside the "application" between front-end and backend. Over time it became good practice to use the same interface for your own app as the one you provided to users / customers - i.e., the internal client/server communication became the same as the API for others, and therefore people began to call that API too. But in general it is not an API. Finally, the framework or library to create a service (e.g. Node, Django, Deno, Bun, whatever, and tools like Express etc) are not an API - they are API SDKs - or actually they are "server SDKs". So FastAPI is an server SDK that can also be used to make APIs, if you want to connect to an application that way.

  • @thedoctor5478
    @thedoctor54785 ай бұрын

    Socketify

  • @eskomo34
    @eskomo349 ай бұрын

    Anything python is an immediate no from me. Python is just a trend and the language has nothing good going for it.

  • @publicname

    @publicname

    9 ай бұрын

    chatgpt written in python

  • @antonpictures
    @antonpictures10 ай бұрын

    Bro. I subscribed, them went to join your “community” and you ask for $15. Come on man. Let me join , let’s start building an llm app together, team community, and then after we become friends ask me for 15, disappointed. Unsubscribed. Scam.

  • @TravisMedia

    @TravisMedia

    9 ай бұрын

    Not sure what the problem is here. The community is extra, optional, and outside of KZread.

  • @svyatoslavartyukhov2692
    @svyatoslavartyukhov269210 ай бұрын

    maaaan I know it's the lesson for dummies, but cmon, don't teach them bad things from start, ```for todo in todos```? rly? If your subs started with fastapi they should know about dicts...right???

  • @dirtslayer123

    @dirtslayer123

    10 ай бұрын

    he goes on to explain that you would replace the array with a database - point was to create endpoints

  • @anonymous_anonymity
    @anonymous_anonymity10 ай бұрын

    Why we need to learn? No we do not need to learn.

  • @i_clock4783

    @i_clock4783

    9 ай бұрын

    Bro if you want you can learn it it's not required that you learn it

  • @HypnosisBear

    @HypnosisBear

    9 ай бұрын

    That's your EGO speaking there buddy. If you don't wanna learn you can happily leave. Nobody's forcing you.

  • @illuminated2438

    @illuminated2438

    9 ай бұрын

    What rebels!

  • @yehudamakarov

    @yehudamakarov

    9 ай бұрын

    Loving it good comment :p

  • @Action2me

    @Action2me

    8 ай бұрын

    It’s not literal. The “NEED” is for emphasis.

  • @AllRoderComic
    @AllRoderComic27 күн бұрын

    why don't you make a complete video instead of us finding your videos on your community page where you are just selling your course nothing else

  • @thewelder3538
    @thewelder35389 ай бұрын

    There are NO fast APIs. They're just things that people who want to be called "programmers" use. Nothing that has to be Base64 encoded should ever be considered to be fast.

  • @joyavila6254
    @joyavila62544 ай бұрын

    I tried to follow your tutorial, however I got this error "$ uvicorn main:app --reload bash: uvicorn: command not found" . What did I missed?

  • @zbyszeks3657
    @zbyszeks36572 ай бұрын

    4:05 source venv/bin/activate? if ms win? maybe: venv\Scripts\activate

  • @anyak885
    @anyak885Ай бұрын

    venv\Scripts\activate for those on Windows

  • @ratzule
    @ratzule2 ай бұрын

    Thanks!

Келесі