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
200
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
97
DevOpsPorto Meetup 37: Why averages lie by Filipe Oliveira
devopsporto
0
140
DevOpsPorto Meetup 36: Computing and Operations at CERN: From Physical HW to Virtualization and Containers by Ricardo Rocha
devopsporto
0
150
DevOpsPorto Meetup 35: Turbocharging Azure DevOps with Octopus Deploy by Derek Campbell
devopsporto
0
150
DevOpsPorto Meetup 34: Freelance and Remote - Is it possible in DevOps
devopsporto
0
110
DevOpsPorto Meetup 33: How DevOps supported La Redoute reinvention by Antoine Craske
devopsporto
0
200
K8s in AWS: Europe, US and The Great Wall of China
devopsporto
0
140
DevOpsPorto Meetup 31: Metrics, context driven management by Alexandre Martins
devopsporto
0
150
Localizing your app. Traps and pitfalls by Roman Imankulov
devopsporto
0
86
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
54k
ADRを運用して3年経った僕らの現在地
onk
PRO
11
4.9k
業務ヒアリングと知識の呪い
tamai_63
0
280
第45回 MLOps 勉強会 - ML Test Score を用いた機械学習システムの定量的なアセスメント
masatakashiwagi
3
300
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
8
2.1k
エムスリーマネジメントチーム紹介資料 / Introduction of M3 Management Team
m3_engineering
0
270
【shownet.conf_】革新と伝統を融合したファシリティ
shownet
PRO
0
320
【shownet.conf_】ShowNet伝送改めShowNet APN 2024
shownet
PRO
0
420
【swonet.conf_】NOCメンバーが語るSTMの実態!! ~ShowNetから若者への贈り物~
shownet
PRO
0
300
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
170
山手線一周のパフォーマンス改善
suzukahr
0
160
ドメインと向き合う - 旅行予約編
hidenorigoto
4
560
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
324
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
24
1.7k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
4 Signs Your Business is Dying
shpigford
180
21k
We Have a Design System, Now What?
morganepeng
49
7.2k
Done Done
chrislema
181
16k
The Cost Of JavaScript in 2023
addyosmani
43
5.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
A better future with KSS
kneath
237
17k
YesSQL, Process and Tooling at Scale
rocio
167
14k
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