Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevOpsPorto Meetup 38: Intro to FastAPI by Seba...
Search
DevOpsPorto
August 06, 2020
Technology
1
250
DevOpsPorto Meetup 38: Intro to FastAPI by Sebastián Ramírez
DevOpsPorto
August 06, 2020
Tweet
Share
More Decks by DevOpsPorto
See All by DevOpsPorto
DevOpsPorto Meetup 38: Using cutting-edge open-source technologies to build one of the biggest industrial Data Lake of the World by Allan Sene
devopsporto
0
130
DevOpsPorto Meetup 37: Why averages lie by Filipe Oliveira
devopsporto
0
170
DevOpsPorto Meetup 36: Computing and Operations at CERN: From Physical HW to Virtualization and Containers by Ricardo Rocha
devopsporto
0
200
DevOpsPorto Meetup 35: Turbocharging Azure DevOps with Octopus Deploy by Derek Campbell
devopsporto
0
200
DevOpsPorto Meetup 34: Freelance and Remote - Is it possible in DevOps
devopsporto
0
150
DevOpsPorto Meetup 33: How DevOps supported La Redoute reinvention by Antoine Craske
devopsporto
0
240
K8s in AWS: Europe, US and The Great Wall of China
devopsporto
0
200
DevOpsPorto Meetup 31: Metrics, context driven management by Alexandre Martins
devopsporto
0
230
Localizing your app. Traps and pitfalls by Roman Imankulov
devopsporto
0
120
Other Decks in Technology
See All in Technology
JavaScript 研修
recruitengineers
PRO
2
140
Postman MCP 関連機能アップデート / Postman MCP feature updates
yokawasa
0
150
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
2
610
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
250
マイクロモビリティシェアサービスを支える プラットフォームアーキテクチャ
grimoh
1
200
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
220
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
440
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
JOAI発表資料 @ 関東kaggler会
joai_committee
1
260
見てわかるテスト駆動開発
recruitengineers
PRO
4
280
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Faster Mobile Websites
deanohume
309
31k
The Language of Interfaces
destraynor
160
25k
BBQ
matthewcrist
89
9.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Automating Front-end Workflow
addyosmani
1370
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Navigating Team Friction
lara
189
15k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Transcript
Intro to High performance, easy to learn, fast to code,
ready for production
Who am I? Sebastián Ramírez github.com/tiangolo linkedin.com/in/tiangolo twitter.com/tiangolo Dev at
Explosion Berlin, Germany Explosion created: I created: tiangolo.com
About FastAPI • 19K GitHub stars (about 1K+ per month)
• Used by Microsoft, Uber, Netflix, etc. • Performance in the top rank for Python @tiangolo
Based on standards • OpenAPI • JSON Schema • OAuth2
✨ Automatic API docs ✨ @tiangolo
Based on standards - for free @tiangolo
Based on Python type hints • Autocompletion everywhere • Type
checks and type errors @tiangolo
Types provide autocompletion @tiangolo
Easy and short @tiangolo
Less API code @tiangolo
Basic FastAPI app @tiangolo https://somedomain.com/items/5?q=some+query
Basic FastAPI app - docs @tiangolo https://somedomain.com/docs
Automatic docs @tiangolo
Basic FastAPI app with body @tiangolo
Basic FastAPI app with body - docs @tiangolo
Basic FastAPI app with body - docs @tiangolo
Basic FastAPI app with body @tiangolo
Basic FastAPI app with body and query @tiangolo
Basic FastAPI app with body and query - docs @tiangolo
https://somedomain.com/food/?delivery=true
Basic FastAPI app with body and query @tiangolo
JSON array of objects in body @tiangolo
JSON array of objects in body - docs @tiangolo
JSON array of objects in body @tiangolo
JSON array of objects in body - invalid data @tiangolo
JSON array of objects in body - validation @tiangolo
JSON array of objects in body - validation @tiangolo
FastAPI auto-completion @tiangolo
Type checks @tiangolo
All based on standard Python types @tiangolo
Metadata @tiangolo
Metadata in docs @tiangolo
Metadata in docs @tiangolo
Required query @tiangolo
Required query in docs @tiangolo
Required query validation @tiangolo
Required query in docs - valid @tiangolo https://somedomain.com/food/?quantity=2
Required query in docs - response @tiangolo
Required query in docs @tiangolo
Validation @tiangolo
Validation in docs @tiangolo
Validation in docs - response @tiangolo
Data validation @tiangolo
FastAPI - Performance @tiangolo
FastAPI - Performance @tiangolo
FastAPI - Other features @tiangolo • Dependency Injection • Security
- OAuth2 • WebSockets • Files • Background Tasks • Easy GraphQL integration • More...
FastAPI - When not to @tiangolo • Stable • No
new features • Not an API
Other tools @tiangolo Build great CLIs. Easy to code. Based
on Python type hints. Functional deep learning with types, compatible with your favorite libraries. typer.tiangolo.com thinc.ai
Thank you! Sebastián Ramírez github.com/tiangolo linkedin.com/in/tiangolo twitter.com/tiangolo tiangolo.com Questions? fastapi.tiangolo.com