Python FAST API Tutorial

Поделиться
HTML-код
  • Опубликовано: 1 июн 2024
  • Welcome back to my channel! In this video, I will be showing you FastAPI which is a Python framework. As the name suggests, this allows us to make APIs in Python.
    💻 Checkout Intel's OpenVINO toolkit for FREE and start building and deploying AI/ML applications with the DevCloud for the edge! intel.ly/3whdRWo #sponsored
    📄 Resources 📄
    FAST-API Docs: fastapi.tiangolo.com/
    Fix Pip (Windows): • How to Install Pygame ...
    Fix Pip (Mac/Linux): • How to Install Pygame ...
    ⭐️ Timestamps ⭐️
    00:00 | Introduction
    02:22 | FAST-API Advantages
    04:49 | Installing FastAPI
    06:26 | Writing Our First FAST-API API
    10:58 | Running Our API
    14:00 | What is an API
    16:35 | JSON Explanation
    18:16 | Creating More Endpoints & GET Method
    19:19 | Path/Endpoint Parameters
    27:19 | Query Parameters
    35:19 | Request Body & POST Method
    44:12 | PUT Method
    50:42 | Delete Method
    53:15 | Status Codes and Error Responses
    ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
    💰 Courses & Merch 💰
    💻 The Fundamentals of Programming w/ Python: tech-with-tim.teachable.com/p...
    👕 Merchandise: teespring.com/stores/tech-wit...
    🔗 Social Medias 🔗
    📸 Instagram: / tech_with_tim
    📱 Twitter: / techwithtimm
    ⭐ Discord: / discord
    📝 LinkedIn: / tim-ruscica-82631b179
    🌎 Website: techwithtim.net
    📂 GitHub: github.com/techwithtim
    🔊 Podcast: anchor.fm/tech-with-tim
    🎬 My RUclips Gear 🎬
    🎥 Main Camera (EOS Canon 90D): amzn.to/3cY23y9
    🎥 Secondary Camera (Panasonic Lumix G7): amzn.to/3fl2iEV
    📹 Main Lens (EFS 24mm f/2.8): amzn.to/2Yuol5r
    🕹 Tripod: amzn.to/3hpSprv
    🎤 Main Microphone (Rode NT1): amzn.to/2HrZxXc
    🎤 Secondary Microphone (Synco Wireless Lapel System): amzn.to/3e07Swl
    🎤 Third Microphone (Rode NTG4+): amzn.to/3oi0v8Z
    ☀️ Lights: amzn.to/2ApeiXr
    ⌨ Keyboard (Daskeyboard 4Q): amzn.to/2YpN5vm
    🖱 Mouse (Logitech MX Master): amzn.to/2HsmRDN
    📸 Webcam (Logitech 1080p Pro): amzn.to/2B2IXcQ
    📢 Speaker (Beats Pill): amzn.to/2XYc5ef
    🎧 Headphones (Bose Quiet Comfort 35): amzn.to/2MWbl3e
    🌞 Lamp (BenQ E-reading Lamp): amzn.to/3e0UCr8
    🌞 Secondary Lamp (BenQ Screenbar Plus): amzn.to/30Dtafi
    💻 Monitor (BenQ EX2780Q): amzn.to/2HsmUPZ
    💻 Monitor (LG Ultrawide 34WN750): amzn.to/3dSD7tS
    🎙 Mic Boom Arm (Rode PSA 1): amzn.to/30EZw9m
    🎚 Audio Interface (Focusrite Scarlet 4i4): amzn.to/2TjXsih
    💸 Donations 💸
    💵 One-Time Donations: www.paypal.com/donate?hosted_...
    💰 Patreon: / techwithtim
    ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
    ⭐️ Tags ⭐️
    -Tech With Tim
    - Fast API
    - Fast API Tutorial
    - Python API
    - Python FastAPI Tutorial
    ⭐️ Hashtags ⭐️
    #TechWithTiim #FastAPITutorial

Комментарии • 260

  • @worzell5169
    @worzell5169 Год назад +62

    43:49 for anyone wondering, he changed the function parameters to be def get_item(name: str = Query(None, title="Name", description="Name of item.", max_length=10, min_length=2)):

  • @s4lm._179
    @s4lm._179 3 года назад +157

    Just when i thought of learning about API, there comes Tim

  • @thegimel
    @thegimel 3 года назад +21

    Great video Tim!
    Would love to see a follow-up video where you show how to build a web micro-service (using FastAPI) for machine learning model inference

  • @kenny-kvibe
    @kenny-kvibe 3 года назад +7

    This was epic, I was watching for 3 hours straight, and I've implemented a chilld class of FastAPI with a function that saves data into file.json when requests succeed.
    Great module I love it ! & great video, thank you very much! All that is missing is the cors, xss security things, let the research continue :D

  • @Musava
    @Musava 3 года назад +3

    Even though i know most basic and intermediate stuff, i still watch every single second of this video to not miss any information

  • @user-ke4yx6uw1r
    @user-ke4yx6uw1r 3 года назад +2

    I have been working with Django and thinking about to give a try with fast api and flask.
    And here comes Tim with a fast api tutorial, Thank you Tim

  • @SeattleDataGuy
    @SeattleDataGuy 3 года назад +6

    I have been looking to get into FastAPI and compare it to Flask(which is what I usually use for a lot of dev). This was a great in depth intro and more! Thank you.

  • @bh3553
    @bh3553 3 года назад +77

    Somewhere around 25 minutes, your face cam is over the relevant code. Still very informative

    • @arunavamaulik19
      @arunavamaulik19 2 года назад +2

      @Josh Yorko This comment needs to be pinned!

    • @JeffreyWagner7
      @JeffreyWagner7 4 месяца назад

      Better to just get rid of the face cam anyhow. Why do we need to see anyone's face between intro and outro?

    • @Studywise_io
      @Studywise_io Месяц назад

      def get_item(item_id: int = Path(description="the id of the item you want to view", gt=0) ):
      return inventory[item_id]

  • @zarrycherry
    @zarrycherry 2 года назад +91

    Great to follow except for the part where you have your face cam over the code your write. Also when you transition from query parameters to the next topic your code for get_item is different and as we follow along we still have our required fields when trying to get an item after our 2 items added through post, the get_item method you used simply asks for the item name.

    • @neclis7777
      @neclis7777 2 года назад +4

      Yes, this exactly :). The video is great, but as you underline in the conclusion of the video, the important part is the difference between Path & Query which you seem to have cut in your video ! THank you for all your content Tim, keep it up !

    • @lifebelowyourmeans5454
      @lifebelowyourmeans5454 2 года назад +2

      ya had the same problem. got kinda stuck lol.

    • @mawe4585
      @mawe4585 2 года назад +8

      Mee too! Great video but this part around 26:00 is impossible to follow.

    • @dawit100100
      @dawit100100 2 года назад +46

      here is the part of the code which is not visible on part around 26:00
      def get_item(item_id: int = Path(None, description="The Id of the item you'd like to view", gt=0, lt=2)):

  • @pauldickman4379
    @pauldickman4379 11 месяцев назад

    The asterisk part just cracks me up. One of those things. Super great tutorial btw, thank you for taking so much time to make it high quality. Still holds up well 2 years later and that is hard to do nowadays.

  • @martinag6607
    @martinag6607 2 года назад +6

    I finally understand API and all thanks to you, Tim, thank you so so much for making these! Super grateful for your sharing of knowledge!! Thanks and stay so cool :)

  • @richisgood22
    @richisgood22 Год назад +1

    I wish I could upvote you more! Thank you so much for all of the help you've provided me over the years. You're amazing!

  • @ajiteshkumar
    @ajiteshkumar 3 года назад +5

    Tim is always here the same second i want to learn something. Thank you!

  • @joddden
    @joddden 2 года назад

    I absolutely love you man, my genius hero! You coincidentally have videos on things I need for work AND things I'm just interested in that I thought was way too specific to me, like the NEAT series.

  • @pinakastra
    @pinakastra 3 года назад +3

    Just what I wanted to learn and that too in short n crisp (also enough detailed to get started). Thanks

  • @kemalcihanbastak8476
    @kemalcihanbastak8476 3 года назад +32

    Hey Tim could you make tutorials about advanced topics like Kafka and Elasticsearch with Python.
    Btw great explanation.

  • @binaprajapati3593
    @binaprajapati3593 3 года назад +12

    I am not first.
    I am not last.
    But when Tim uploads, I click fast
    😎😎

    • @ikennamanagwu9646
      @ikennamanagwu9646 3 года назад +1

      You should have been a rapper... Eminem needs lessons

  • @nomoremuda
    @nomoremuda 3 года назад

    This is fantastic, Tim, I needed this for my current projects

  • @thehandydandy
    @thehandydandy 3 года назад +8

    Please do some more fastapi videos, the library is still new and there isn't much tutorials out there. Great thing is that the documenting is really good.

  • @tomdanielsofficial
    @tomdanielsofficial 2 года назад

    Thank you so much for this great video! It helped me finish my homework for python class which would have been due tomorrow :)

  • @Sciencedoneright
    @Sciencedoneright 3 года назад +14

    Dude. You're reading our minds. I was just thinking about learning FastAPI and, you made this video!!!

    • @aakashjana6225
      @aakashjana6225 3 года назад +2

      we only think of what they feed to us. not a big surprise nowadays anymore

    • @sineadward5225
      @sineadward5225 Год назад

      @@aakashjana6225 What technologies are you working with/do you enjoy working with?

    • @aakashjana6225
      @aakashjana6225 Год назад

      @@sineadward5225 interestingly these days I am working with system verilog ( hardware description language) to work with FPGAs. Should take a look at it, it's very interesting fir chip design.

  • @sovietcat4825
    @sovietcat4825 3 года назад +8

    great vid i didn't know you can do this until now... very infomative

  • @sanjeevKumar-eg6hp
    @sanjeevKumar-eg6hp Год назад

    Thanks for precise and to the point explanation of FAST-API. It was nice leaning at this pace

  • @Nick-kd9no
    @Nick-kd9no 2 года назад

    best short intro to FastAPI. Thank you Tim

  • @gecsus
    @gecsus 2 года назад +9

    Tim, at time 26:00 you are adding things we can't see for Greater than >. Your popover window either covered it or you were showing the wrong part of the screen. So we are unable to type what you typed.
    Generally, your videos are really good, so please review them carefully.

    • @ignabelitzky
      @ignabelitzky Год назад +5

      def get_item(item_id: int = Path(None, description = "The ID of the item you'd like to view.", le=1)):

  • @michakacprzak8984
    @michakacprzak8984 3 года назад +1

    Really nice introduction to FAST API, thanks Tim

  • @parameshkumar6580
    @parameshkumar6580 5 месяцев назад

    Thank You Tim ,Great video I like the way how you used dictionary first then introduced classes

  • @Meenimie
    @Meenimie 11 месяцев назад

    Tim, you're the best at what you do.
    Please, keep it up because we need you.

  • @rasheedibraheem6839
    @rasheedibraheem6839 Год назад

    A great tutorial! Very helpful, many thanks Tim

  • @k2theboss47
    @k2theboss47 3 года назад +1

    Thanks Tim, this is insanely valuable!!!

  • @procode6881
    @procode6881 3 года назад +5

    Was waiting waiting for this ...first one to get it!

  • @emailvinz
    @emailvinz Год назад

    Great tuto as usual, thanks Tim !

  • @EnglishRain
    @EnglishRain Год назад +1

    Thanks a TON for Zooming in!

  • @KAREKINFPV
    @KAREKINFPV Год назад

    This is incredible! Thank you so much!

  • @NMNaufaldo
    @NMNaufaldo 2 года назад

    Waw I was just amazed how fast & easy to build an API with this framework 🚀

  • @Betty-dc9ky
    @Betty-dc9ky Год назад

    Thank you Tim for this tutorial. Found it really useful.

  • @iscodav
    @iscodav 2 года назад

    Thank you very much. That was a great experience to get to start with FastAPI

  • @alexnefayne4266
    @alexnefayne4266 Год назад

    Thanks Tim another great tutorial i find these so usefull

  • @samozturk8276
    @samozturk8276 2 года назад +12

    @50:51 Tim forgot to type "from fastapi import Query" on top of the code.

  • @milesmatic2872
    @milesmatic2872 3 года назад

    Awesome tutorial, very helpful!

  • @mysneekers5862
    @mysneekers5862 3 года назад

    This guy is great! Thanks for your tutorials.

  • @samozturk8276
    @samozturk8276 2 года назад +10

    Hello Tim, nice tutorial. But at some parts, I couldn't see the code because of the portrait :D Are there any repo for this or something like that?

  • @whichdude420
    @whichdude420 3 года назад +2

    Glad more people are trying out FastAPI ^^

  • @yassinebenazzouz7170
    @yassinebenazzouz7170 Год назад

    just watched your flask restful api and this one, perfect !

  • @nigeldavis
    @nigeldavis 3 года назад

    i just started a job where im going to be using FastAPI this is perfect!

  • @emilijamarjanovic5497
    @emilijamarjanovic5497 2 года назад

    Great tutorial, thank you very much!

  • @romanviktordvorak76
    @romanviktordvorak76 Год назад

    Great introduction to FastAPI. Thank You!

  • @hackynawhat
    @hackynawhat 3 года назад

    This was what I actually needed 😊😊😊

  • @The1neo34
    @The1neo34 Год назад

    Thank you! Best video on APIs I have watched to date

  • @efajunk
    @efajunk Год назад

    Thank you very much. Absolutely useful info about this framework!

  • @arrvind7385
    @arrvind7385 2 года назад

    Tons of thanks , Really Superb explanation

  • @rembautimes8808
    @rembautimes8808 2 года назад +2

    Bye bye Django. Thanks for this excellent tutorial. Exactly what I was looking for and the automated documentation is a big win. Did the trifecta- liked , subscribed and comment ( From Singapore)

  • @uptightowl3801
    @uptightowl3801 3 года назад +3

    TIM PLEASE be my dad 😩😩😩 these tutorials are amazing. I haven’t watched it yet but I saw the channel and clicked

  • @emmanouilmorfiadakis118
    @emmanouilmorfiadakis118 2 года назад

    Very Good Explanation.Thank you

  • @arturmostowiak9427
    @arturmostowiak9427 2 года назад +3

    The PUT method is not necessarily a method that updates something. For this you have PATCH method. PUT is in short : create a resource or update it if it exists.

  • @Robizd1
    @Robizd1 2 года назад +21

    You could have used PATCH method instead of PUT method for updating items. PATCH allows you to partially update item. Btw nice video

    • @yessirski7868
      @yessirski7868 4 месяца назад

      do they work the same in terms of the perameters?

  • @malachimathins9390
    @malachimathins9390 6 месяцев назад

    Great Video Tim
    "Hey everyone! I just wanted to share my experience with different code editors. I've tried various IDEs, including VS Code and Visual Studio,
    and I ran into some issues that were frustrating to deal with. so its best to use sublime text like in the video

  • @EpicGamer-ux1tu
    @EpicGamer-ux1tu Год назад

    Great vid Tim! Thanks.

  • @Elekks
    @Elekks Год назад +3

    Consider maybe moving you're camera to the top right of the screen. Around 26:27ish you were blocking the syntax for less than and greater than operators. Not a huge deal but could make the video easier to follow.

  • @gnvageesh6467
    @gnvageesh6467 3 года назад +23

    That's cool and easy for those who have experience with Flask... Could make a tutorial on Python and Firebase like a backend tutorial

    • @mike_vahemoubayed8099
      @mike_vahemoubayed8099 3 года назад +1

      That would be awesome, I never used firebase, that would be nice to learn

    • @gnvageesh6467
      @gnvageesh6467 3 года назад

      @@mike_vahemoubayed8099 yes...

  • @GreenfieldOTTYS14
    @GreenfieldOTTYS14 2 года назад

    amazing, thank you so much!

  • @saloniparekh3999
    @saloniparekh3999 3 года назад +2

    wow this was really great, can you also post videos for DS and Algos to prepare for job interviews.

  • @markruiz9397
    @markruiz9397 2 года назад +1

    Please keep the FastAPI material coming!!!

  • @shnuiiwithdoublei
    @shnuiiwithdoublei 3 месяца назад +1

    Such an underrated video

  • @gustavojuantorena
    @gustavojuantorena 3 года назад

    Great content ! Thank you

  • @sanduchicu7545
    @sanduchicu7545 3 года назад

    Very helpful thx a lot. gl with ur channel in the future ;)

  • @noobypro4560
    @noobypro4560 3 года назад

    Thanks tim for providing this usefull contents

  • @riperboyxl3216
    @riperboyxl3216 Год назад

    dude this tutorial is GREAT

  • @JohanMonard
    @JohanMonard 2 года назад

    Great tutorial, could you add a section showing how to secure API access with user login/pwd?

  • @Latif127
    @Latif127 6 месяцев назад

    It is a nice tutorial. Thank you

  • @evanshlom1
    @evanshlom1 2 года назад

    This is a great intro to fastapi

  • @rahulkmail
    @rahulkmail 3 года назад

    Excellent tutorial

  • @gustavo8433
    @gustavo8433 2 года назад

    Thanks for the tutorial !! I need to put some dash/ plotly elements into my API. is it possible ? how could this be done ?

  • @shashankm4363
    @shashankm4363 3 года назад

    YES... New video from tim!!!!!!

  • @xXJM01Xx
    @xXJM01Xx Год назад

    Great video, I knew this was a great library that I should learn and the video did a very good job of getting my feet wet.

  • @leonWischmeyer
    @leonWischmeyer 2 года назад

    Pls make your cam in the top right corner and make it a bit smaler. The tutorial is very nice. When you have experience with flask fastapi is very easy to learn.

  • @abdallahkharoby4180
    @abdallahkharoby4180 2 года назад

    Your are really awesome thank you very much, hope you make one day a video about scrapy library so that we can scrap an api from any website we want.

  • @jeroenvermunt3372
    @jeroenvermunt3372 2 года назад +1

    Could you do a quick little tutorial on how to connect this with a persistent database

  • @sakethgupta2885
    @sakethgupta2885 3 года назад

    Make a tutorial on media pipe which helps us a lot in object recognition, and boosts the capability of opencv

  • @wakweikafelix
    @wakweikafelix Год назад

    Thank you for sharing!

  • @ChrisHalden007
    @ChrisHalden007 2 года назад

    Great video. Thanks

  • @drewprof
    @drewprof 2 года назад

    Good vid Tim!

  • @matthewrenegar6559
    @matthewrenegar6559 Год назад +2

    51:04 this line of code will not run because of the "Query"
    def delete_item(item_id: int = Query(..., description="The ID of the item to be deleted"), gt=0):
    At 54:00 he scrolls up and you see this at the very top of the screen.
    from fastapi import FastAPI, Path, Query

  • @islamh6042
    @islamh6042 11 месяцев назад

    Thanks Tim!

  • @AtulKumar-zu5hx
    @AtulKumar-zu5hx Год назад

    great explanation

  • @lucastavares7767
    @lucastavares7767 2 года назад

    Very Good, from Brazil 🇧🇷😃👍

  • @user-re1vj1jx4r
    @user-re1vj1jx4r Год назад

    Great one!

  • @iho2437
    @iho2437 2 года назад

    Based Tim with the API knowledge.

  • @gianniprocida3332
    @gianniprocida3332 2 года назад

    Excellent!

  • @amans6504
    @amans6504 2 года назад

    hey tim, suppose if i wanna set the name to lowercase, i can do **if inventory[item_id]['name'] == name.lower():** but it doesn't work if i do not provide the query parameter, it gives an error like, "'NoneType' object has no attribute 'lower' ", how do i fix this?

  • @hakim6801
    @hakim6801 2 года назад

    Great Job ..... Thanks

  • @ashraf736
    @ashraf736 2 года назад

    Nice explanation

  • @anshuman4mrkl
    @anshuman4mrkl 3 года назад

    Clearly explained

  • @opcon3155
    @opcon3155 2 года назад +3

    Just so you know, Django rest framework also has very strict validation capabilities

  • @GelsYT
    @GelsYT Год назад

    THANK YOU!!!

  • @Mr_Spock512
    @Mr_Spock512 3 года назад

    Excellent content as always!

  • @oliverchen2614
    @oliverchen2614 Год назад +1

    Hello, when I add default value "None" to Path method, the prompt said: AssertionError: Path parameters cannot have a default value

  • @aleksanderdeda204
    @aleksanderdeda204 2 года назад

    Hey ! I wanted to know how to permanently save datas and retrieve them whenever i want and not to create or recreate them when i re-execute the program. For example connecting with a database or something like that.

  • @johnnyt.2523
    @johnnyt.2523 3 года назад +1

    Outrageous! xD

  • @umynchannel7528
    @umynchannel7528 2 года назад

    thank's for providing a lot of information to us, but can you make a video on django rest api.