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
150
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
81
DevOpsPorto Meetup 37: Why averages lie by Filipe Oliveira
devopsporto
0
91
DevOpsPorto Meetup 36: Computing and Operations at CERN: From Physical HW to Virtualization and Containers by Ricardo Rocha
devopsporto
0
76
DevOpsPorto Meetup 35: Turbocharging Azure DevOps with Octopus Deploy by Derek Campbell
devopsporto
0
110
DevOpsPorto Meetup 34: Freelance and Remote - Is it possible in DevOps
devopsporto
0
78
DevOpsPorto Meetup 33: How DevOps supported La Redoute reinvention by Antoine Craske
devopsporto
0
160
K8s in AWS: Europe, US and The Great Wall of China
devopsporto
0
84
DevOpsPorto Meetup 31: Metrics, context driven management by Alexandre Martins
devopsporto
0
86
Localizing your app. Traps and pitfalls by Roman Imankulov
devopsporto
0
64
Other Decks in Technology
See All in Technology
経営統合をきっかけに会社をエンジニアリングした話 / btconjp-2023
carta_engineering
0
150
MarvelClient Upgrade 64bit クライアントへの自動アップグレード設定
mitsuru_katoh
0
120
創業1年目のスタートアップでAWSコストを抑えるために取り組んでいること / How to Keep AWS Costs Down at a Startup
yuj1osm
3
2.1k
re:Invent2022 前後の Amazon EventBridge のアップデートを踏まえつつ、情シスの仕事をより楽しくしたい話。 / EventBridge for Information Systems Department
_kensh
2
700
GraphQLスキーマ設計の勘所
yukukotani
26
6.2k
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
140
AWS Cloud Forensics & Incident Response
e11i0t_4lders0n
0
130
ChatGPT for Hacking
anugrahsr
0
4.3k
01_ユーザーリサーチ実施の進め方
kouzoukaikaku
0
320
AI Builderについて
miyakemito
0
880
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
220
PHPのimmutable arrayとは
hnw
1
150
Featured
See All Featured
Building Your Own Lightsaber
phodgson
96
4.9k
Git: the NoSQL Database
bkeepers
PRO
419
60k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
239
19k
What's in a price? How to price your products and services
michaelherold
233
9.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
How GitHub (no longer) Works
holman
298
140k
Three Pipe Problems
jasonvnalue
89
8.9k
Support Driven Design
roundedbygravity
88
8.9k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
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