This is how all intro tutorials should be. Fundamental justification, the most basic components and how they are naturally useful, and also a quick peak at where to find more documentation for if you decide to deploy at scale. Thank you, subbed.
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.
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
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!!!
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.
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.
Great video. Thank you for that. I'm starting to develop in Python, using Flet. This library has integration with fastapi by the package flet-fastapi. I'm creating a page that will have a set of forms. So I will use flet-fastapi to handle the routes , but seeing your video it seems now to me that Fastapi is useful to create API's, a way to manipulate data in a DB
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.
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)
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
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?
This is a very good video. Congrats. Pitty it didn't cover the authentication and how to enhance the swagger docs. Maybe a more in depth video later, hmm? What do you think?
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?
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...?
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.
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?
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í
“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?”
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.
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.
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.
🥺🥺 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.
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.
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"
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.
hey James, I'd say you already have the basics down i.e you know what it takes to build a web application. It'll really help if you have a project idea in mind to motivate you to build something entirely from scratch. If not, taking a course might be a better first step before you read a book because this way you get to internalize a lot of fairly new concepts visually. Please check out courses on Udemy or Scrimba for affordable courses. If you want something free, NetNinja/Traversy media is a great place to start. Goodluck!
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.
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.
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!
😂😂😂 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.
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 😎
Take a look at the comments. This video has really helped thousands. Can’t say that about all my videos but this one I can. Also, teaching from the documentation is the most effective away to learn. Many devs don’t use the docs. I’m trying to get them to primarily use docs for everything.
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???
This is how all intro tutorials should be. Fundamental justification, the most basic components and how they are naturally useful, and also a quick peak at where to find more documentation for if you decide to deploy at scale. Thank you, subbed.
Mann, this video is crystal clear intro to FastAPI
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.
I knew FastAPI was good but it is actually great! Much more production ready than Flask and much closer to Spring framework
What do all those weird terms mean?
@@keylanoslokj1806 Flask is another Python library and Spring is a Java framework
@@keylanoslokj1806they represent different ways of doing things.
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
@@danielkirsch4351I would say the autoconfigured validation, swagger and all those sweet things that Flask does not have out of the box
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!!!
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.
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.
you saved me from insanity with this comment, thanks!
Coming from Rails world, fast and right to the point! love it, smooth teaching style!
At 16:42 line 32 just updating the Todo item would suffice since the Todo id isn't expected to change
Great video. Thank you for that.
I'm starting to develop in Python, using Flet. This library has integration with fastapi by the package flet-fastapi. I'm creating a page that will have a set of forms. So I will use flet-fastapi to handle the routes , but seeing your video it seems now to me that Fastapi is useful to create API's, a way to manipulate data in a DB
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.
Great content as usual. Im more a javascript guy but it doesn't hurt to see things from a python's perspective💯👍👍
Definitely like how enthusiastic he is about everything
Amazing ! This video got me started very FAST, thank you very much!
Love the video! Where are the next parts?
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
That was a great demo of fastAPI. Really cool library!
i cannot click on the link for pt2 and pt3. says website is down. is there a way to watch p2 and p3?
Excellent tutorial. I did a Coursera Cert on Back-End using Django and was entirely overwhelmed! Lol. This clarified a lot for me.
awesome.. I worked with flask apis .. it pretty much looked the same.. with built in async etc.. thank you.
Great tutorial, nice way to spend my Sunday morning!
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.
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?
hello, where can i find the other parts?
a very clear video with good example(s) of why one might use FastAPI...
nice video. how do you compare it with something like Ruby-Sinatra or Hanami ?
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)
This is a good question I would like to know this as well.
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
@@AdefemiGreat Do you happen to have by any chance some literature about this topic?
@@timbrap4693 not literature really, more like experience
They're probably using next or nuxt to make server side requests
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?
Serialization time typed, it uses Pydantic
This is a very good video. Congrats. Pitty it didn't cover the authentication and how to enhance the swagger docs. Maybe a more in depth video later, hmm? What do you think?
went to join your community for vid 2 and 3, hopefully it'll be back soon.
Great, to the point, tutorial. Thank you.
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?
But I thought that typing is something was added in Python v3. So could it be really an advantages over Flask?
BTW how about something like dJango?
how to flash message to jinja2 template using fastapi just like flash in flask?
can you make a tutorial using flet as a frontend and fast api as a backend.
Need a video with fastapi + htmx
Expect it soon. Been looking for a reason to use htmx.
@@TravisMedia I'll be on alert for the video
Great! How do you have the autocompletion in your terminal? Is it a plug-in or a special terminal
Im not sure about Travis, but I use zsh as my shell and use the zsh-autosuggestions zsh-syntax-highlighting plugins
Wonderfully done. Thank you
How about this vs Quart?
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...?
django
@@BrendanAus I wonder how Django compares with Yii2, as a pure REST API backend...
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.
So a database installed and running on a droplet that you manage, or a managed database that DO manages? Just wanted to clarify.
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?
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í
“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?”
@@TravisMedia ¡Gracias!
¡Ya creo que lo ví! ¿estas usando postman para probar los endpoints?
Bravo 👏👏👏 Master
Lit 🔥 Impressive 😍
Gratitude 🙏 for your satisfactory Work 🚀🌟🌱
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.
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.
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.
🥺🥺 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.
love working with fast api
4:05 source venv/bin/activate?
if ms win? maybe: venv\Scripts\activate
I love fastapi because I love flask and it's basically the same syntax but with more features
i create project for remove background image ,and enhance quality and extract text from image using fastapi with python and front using htmx
github link?
Great turorial, thanks!
Awesome tutorial! Thanks!
Thank you for your efforts! Respect
Man loved your content , Thankyou
Which version of python should be used for fastapi?
Currently 3.7+
Any recommendations for older tech guy getting into development starting from scratch…?
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.
Age doesn't matter. The intent to learn is
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"
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.
Dude just ask ChatGPT those exact same things.
hey James, I'd say you already have the basics down i.e you know what it takes to build a web application. It'll really help if you have a project idea in mind to motivate you to build something entirely from scratch. If not, taking a course might be a better first step before you read a book because this way you get to internalize a lot of fairly new concepts visually. Please check out courses on Udemy or Scrimba for affordable courses. If you want something free, NetNinja/Traversy media is a great place to start. Goodluck!
Is there a good tutorial about authentication ?
Thank you. I enjoyed this.
Awesome. Thanks it helped. 👍👍
how to we structure our project when it gets bigger.
Did he talk about FastAPI minuses? There got to at least one?
Bottle is good too?
is it feasible for ML apps?
You my friend are simply Awesome!! Now I know Fastapi... thanx!
Built in swagger is cool. This Definitely seems more intuitive than JavaScript
100k incoming!
Great vid!
I did but no one has taken my crud operations seriously
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?
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.
This video is the bestttttttt
How do i host it remotely
fastapi.tiangolo.com/deployment/
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.
I tried to follow your tutorial, however I got this error "$ uvicorn main:app --reload
bash: uvicorn: command not found" . What did I missed?
Django 🔥
Fr
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!
wow.. i need to rewrite my flask api. like right now
FYI whomever is reading:
There's a Postman extension in VScode
That’s new to me. Thanks!
Can I edit your videos?
Thank you so mach!
The genius... link is not working.
the hard part to leaving django is its django admin feature
Learning something like msgspec also pays off
except mvc is a mistake - cqrs seems to be the future and also improved minimal APIs
Nah, Tornado everytime!
Thanks!
But when learning fastapi u need to create things manually
Django to go💯
Thats alot todo in one day ;)
Why this dude accent sound like he from Arkansas and England? 😂😂😂
😂😂😂 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.
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 😎
hey loki
i feel that using the command prompt is a large step backwards. i had to stop right there.
Use anaconda prompt
Use anaconda prompt
Nope the terminal is a crucial feature and something all developers should at least familiarize themselves with
UA-cam should stop paying for videos like this. What's the point? Most of these are just copy-paste content straight from the official documentation.
Take a look at the comments. This video has really helped thousands. Can’t say that about all my videos but this one I can. Also, teaching from the documentation is the most effective away to learn. Many devs don’t use the docs. I’m trying to get them to primarily use docs for everything.
travis you got a lil twang in your voice lol. You grew up in the south lmao?
Did you kill The Flash's parents?
Who did what? 😆
Socketify
Why we need to learn? No we do not need to learn.
Bro if you want you can learn it it's not required that you learn it
That's your EGO speaking there buddy. If you don't wanna learn you can happily leave. Nobody's forcing you.
What rebels!
Loving it good comment :p
It’s not literal. The “NEED” is for emphasis.
Anything python is an immediate no from me. Python is just a trend and the language has nothing good going for it.
chatgpt written in python
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???
he goes on to explain that you would replace the array with a database - point was to create endpoints