Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
DevOpsPorto Meetup 38: Intro to FastAPI by Sebastián Ramírez
DevOpsPorto
August 06, 2020
Technology
1
120
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
53
DevOpsPorto Meetup 37: Why averages lie by Filipe Oliveira
devopsporto
0
53
DevOpsPorto Meetup 36: Computing and Operations at CERN: From Physical HW to Virtualization and Containers by Ricardo Rocha
devopsporto
0
43
DevOpsPorto Meetup 35: Turbocharging Azure DevOps with Octopus Deploy by Derek Campbell
devopsporto
0
77
DevOpsPorto Meetup 34: Freelance and Remote - Is it possible in DevOps
devopsporto
0
50
DevOpsPorto Meetup 33: How DevOps supported La Redoute reinvention by Antoine Craske
devopsporto
0
120
K8s in AWS: Europe, US and The Great Wall of China
devopsporto
0
60
DevOpsPorto Meetup 31: Metrics, context driven management by Alexandre Martins
devopsporto
0
53
Localizing your app. Traps and pitfalls by Roman Imankulov
devopsporto
0
41
Other Decks in Technology
See All in Technology
OCI Service Mesh 概要 / OCI Service Mesh ovewview
oracle4engineer
PRO
0
100
Apa itu DevOps & Kenapa perlu belajar DevOps?
dicodingevent
0
120
情報の世界 2022年度 第11回「都市のデータ」 #情報の世界 / Data of City 2022
yumulab
0
110
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
0
210
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
200
The application of formal methods in Kafka reliability engineering
line_developers
PRO
1
210
Accelerated Computing for NLP on AWS
shokout
1
250
MRTK3 - DataBinding and Theming 入門
futo23
0
200
Strategyパターン
hankehly
0
160
eBPF for Security Observability
lizrice
0
220
MySQL HeatWaveの新しいトピック! / MySQL HeatWave Update 202206
yoshiakiyamasaki
0
100
【個人的】オブジェクト指向の現在地
toranoana
0
190
Featured
See All Featured
Infographics Made Easy
chrislema
233
17k
GraphQLの誤解/rethinking-graphql
sonatard
28
6.6k
Adopting Sorbet at Scale
ufuk
63
7.6k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
The Invisible Side of Design
smashingmag
290
48k
The Illustrated Children's Guide to Kubernetes
chrisshort
15
36k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
950
A Tale of Four Properties
chriscoyier
149
21k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
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