FastAPI; HTTP tabanlı API servisleri geliştirmek için geliştirilmiş modern, hızlı ve yüksek performanslı bir Python web framework'üdür. İlk defa 5 Aralık 2018'de Sebastián Ramírez tarafından geliştirilmeye başlanmıştır. Python ve FastAPI bileşenlerinin uyumlu olduğu her platformda (Windows, Linux, MacOS gibi) çalıştırılabilmektedir. Python 3.8 ve üzeri sürümlerde kullanılabilmektedir.
Hız: Oldukça yüksek performansa sahiptir, Starrlette ve Pydantic sayesinde NodeJS ve Go ile aynı seviyededir. Özellikle bu sebeple diğer Python API framework'leri arasında öne çıkar.
Programlamada Hız: FastAPI, geliştiricilerin işini basitliği sayesinde hızlandırır.
Daha Az Hata: Geliştiricilerden kaynaklanan hataları büyük oranda azaltır.
Otomatik Tamamlama: Geniş editör desteği bulunmaktadır. Pek çok farklı IDE'de auto-complete (IntelliSense) desteklernir.
Kolaylık: Öğrenme ve kullanma kolaylığı göz önüne alınarak tasarlanmıştır. Bu sebeple halihazırda Python bilen ve hızlı bir şekilde API geliştirmek isteyen kişiler için birebirdir.
Kısalık: Kod kopyalarını olabildiğince azaltır ve kodun temiz olmasını sağlar.
Sağlamlık: Kod hemen üretime hazır hale getirilebilir. İnteraktif dökümantasyona sahip olması süreci kolaylaştırır.
Standartlara Dayalı: FastAPI, OpenAPI【1】 (eskiden Swagger olarak biliniyordu) ve JSON Schema【2】 'ya dayalıdır ve bunlarla tamamen uyumludur.
Asenkron Desteği: Daha iyi performans için async ve await anahtar kelimelerini (keywords) destekler.
Dahili Güvenlik: Yaygın güvenlik sorunlarından korunmak için OAuth2, JWT ve istek doğrulama mekanizmalarını içerir.
FastAPI, veri doğrulaması için Pydantic【3】 ve asenkron işlevselliği desteklemek için Swagger【4】 kullanır:
Python sanal ortamınızı oluşturup etkinleştirin. Sonra sanal ortamın etkinleştirildiği terminalde bu kodu kullanarak FastAPI'ı indirin:
Bu komut, FastAPI'ı standart kütüphaneleriyle indirir. Eğer sadece FastAPI'ı indirmek istiyorsanız bu komutu da kullanabilirsiniz:
Basit bir FastAPI uygulaması örneği:
Geliştirme aşamasında kodu makinede yürütmek için bu komut kullanılır (eğer yürütülecek dosya main.py ise):
veya Uvicorn ile:
Üretim aşamasında kodu makinede yürütmek için bu komut kullanılır (eğer yürütülecek dosya main.py ise):
veya Uvicorn ile:
SwaggerUI aracılığıyla oluşturulan dokümantasyona [url'niz]/docs, ReDoc ile oluşturulan dokümantasyona [url'niz]/redoc üzerinden ulaşılabilir.
[1]
OpenAPI Initiative. “OpenAPI Specification.” OpenAPI resmi web sitesi. Erişim: 11 Ağustos 2025. https://www.openapis.org/.
[2]
JSON Schema Working Group. “JSON Schema.” Resmi JSON Schema web sitesi. Erişim: 11 Ağustos 2025. https://json-schema.org/.
[3]
Samuel Colvin. "Pydantic." Pydantic resmi sitesi. Erişim 11 Ağustos 2025. https://pydantic.dev/.
[4]
SmartBear Software. "Swagger." Swagger resmi sitesi. Erişim: 11 Ağustos 2025. https://swagger.io/.
[5]
Tom Cristie. "Starlette." Starlette resmi sitesi. Erişim: 11 Ağustos 2025. https://www.starlette.io/.
[6]
Tom Christie. "Uvicorn." Uvicorn resmi sitesi. Erişim: 11 Ağustos 2025. https://www.uvicorn.org/.
Henüz Tartışma Girilmemiştir
"FastAPI" maddesi için tartışma başlatın
Öne Çıkan Özellikler
Bileşenler ve Gereksinimler
Kurulum
Örnek
İnteraktif API Dokümantasyonu