FastAPI

Bilişim Ve İletişim Teknolojileri+1 Daha
fav gif
Kaydet
kure star outline
Orijinal Yazar
Sebastián Ramírez (tiangolo)
Geliştiriciler
Sebastián Ramírez ve Topluluk
Platformlar
WindowsLinuxMacOS
İlk Yayınlanma
5 Aralık 2018
Tür
Yazılım Framework'ü
Lisans
MIT Lisansı
Resmi Sitesi
https://fastapi.tiangolo.com/
Kod Deposu
https://github.com/fastapi/fastapi

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.

Öne Çıkan Özellikler

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.

Bileşenler ve Gereksinimler

FastAPI, veri doğrulaması için Pydantic【3】  ve asenkron işlevselliği desteklemek için Swagger【4】  kullanır:

  • Pydantic: Python için bir veri doğrulaması kütüphanesidir. Bir IDE kullanırken açıklamalara dayalı tür ipuçları sağlar, otomatik tamamlama (auto-complete) sayesinde hata ayıklamayı kolaylaştırır.
  • Starlette【5】 : Asenkron işlevselliği desteklemek için kullanılan hafif bir framework'tür.
  • Uvicorn【6】 : Asenkron framework'ler için minimal düzeyde ve düşük seviyeli bir web sunucusudur.
  • OpenAPI: FastAPI, otomatik olarak OpenAPI standartlarına uygun API dokümantasyonları (SwaggerUI ve ReDoc) üretir. Böylece geliştiriciler gerçek zamanlı olarak API'ları test edebilir. SwaggerUI, /docs; ReDoc ise /redoc adresinden erişilebilir.

Kurulum

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:

Örnek

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:

İnteraktif API Dokümantasyonu

SwaggerUI aracılığıyla oluşturulan dokümantasyona [url'niz]/docs, ReDoc ile oluşturulan dokümantasyona [url'niz]/redoc üzerinden ulaşılabilir.

Dipnotlar

Ayrıca Bakınız

Yazarın Önerileri

Python Virtual Environment (Sanal Ortam)Py

Python Virtual Environment (Sanal Ortam)

Bilişim Ve İletişim Teknolojileri +2

Sen de Değerlendir!

0 Değerlendirme

Yazar Bilgileri

Avatar
YazarMuhammed Nabi Yıldız11 Ağustos 2025 12:18

Tartışmalar

Henüz Tartışma Girilmemiştir

"FastAPI" maddesi için tartışma başlatın

Tartışmaları Görüntüle

İçindekiler

  • Öne Çıkan Özellikler

  • Bileşenler ve Gereksinimler

  • Kurulum

  • Örnek

  • İnteraktif API Dokümantasyonu

KÜRE'ye Sor