منصوبے کے بارے میں

FastAPI ایک جدید، اعلیٰ کارکردگی والا پائتھون ویب فریم ورک ہے جو APIs بنانے کے لیے استعمال ہوتا ہے اور معیاری پائتھون ٹائپ ہنٹس پر مبنی ہے۔ یہ ویب ہینڈلنگ لیئر کے لیے Starlette اور ڈیٹا ہینڈلنگ لیئر کے لیے Pydantic پر تعمیر کیا گیا ہے۔ یہ پروجیکٹ انتہائی اعلیٰ کارکردگی کو نمایاں کرتا ہے، جو NodeJS اور Go کے مقابلے کی ہے، اور اسے دستیاب تیز ترین پائتھون فریم ورکس میں سے ایک سمجھا جاتا ہے۔ یہ تیز تر ترقی کی رفتار، ڈویلپر کی کم غلطیاں، مضبوط ایڈیٹر سپورٹ، سیکھنے میں آسانی، کم سے کم کوڈ کی نقل، پروڈکشن کے لیے تیار آؤٹ پٹ، اور OpenAPI اور JSON Schema جیسے کھلے API معیارات کے ساتھ مطابقت پر بھی زور دیتا ہے۔ اہم صلاحیتوں میں درخواست کے ڈیٹا کی خودکار توثیق، JSON سے سیریلائزیشن اور پارسنگ، پاتھ پیرامیٹرز، کوئری پیرامیٹرز، کوکیز، ہیڈرز، فارمز، اور فائلیں شامل ہیں۔ ڈیٹا ماڈلز معیاری پائتھون اقسام کے ساتھ اعلان کیے جاتے ہیں، اور یہی اعلانات ایڈیٹر کی تکمیل، ٹائپ چیکس، توثیق، اور آؤٹ پٹ ڈیٹا کی خودکار تبدیلی فراہم کرتے ہیں۔ FastAPI خودکار طور پر Swagger UI اور ReDoc کے ذریعے انٹرایکٹو API دستاویزات تیار کرتا ہے، اور یہ اضافی خصوصیات کی بھی حمایت کرتا ہے جیسے ڈیپنڈنسی انجیکشن، سیکیورٹی اور تصدیق بشمول OAuth2 بمع JWT ٹوکنز، HTTP Basic auth، WebSockets، CORS، کوکی سیشنز، Strawberry جیسی لائبریریوں کے ذریعے GraphQL انٹیگریشن، اور HTTPX اور pytest کے ساتھ آسان ٹیسٹنگ۔ انسٹالیشن عام طور پر uv کے ساتھ `uv add "fastapi[standard]"` کا استعمال کرتے ہوئے، یا ورچوئل ماحول میں pip کے ساتھ کی جاتی ہے۔ ایک کم سے کم ایپلیکیشن FastAPI انسٹینس اور روٹ فنکشنز کو `@app.get` یا `@app.put` جیسے ڈیکوریٹرز کے ساتھ متعین کر کے بنائی جا سکتی ہے۔ شامل FastAPI CLI خودکار ری لوڈ کے ساتھ ڈیولپمنٹ سرور چلا سکتا ہے اور ایک ہی کمانڈ میں ایپلیکیشنز کو FastAPI Cloud پر ڈیپلائے بھی کر سکتا ہے، تاہم فریم ورک اوپن سورس ہے اور اسے کسی بھی کلاؤڈ پرووائیڈر پر ڈیپلائے کیا جا سکتا ہے۔ FastAPI Pydantic اور Starlette پر منحصر ہے۔ `standard` ایکسٹرا میں ای میل کی توثیق، ٹیسٹ کلائنٹ کے لیے HTTPX، Jinja2 ٹیمپلیٹس، فارم پارسنگ کے لیے python-multipart، سرونگ کے لیے Uvicorn، اور FastAPI CLI کے ڈیپنڈنسیز شامل ہیں۔ اختیاری ایکسٹراز میں pydantic-settings، pydantic-extra-types، orjson، اور ujson شامل ہیں۔ یہ پروجیکٹ MIT لائسنس کے تحت لائسنس یافتہ ہے اور اسے Microsoft، Uber، Netflix، اور Cisco جیسی کمپنیوں نے پروڈکشن APIs اور ML سروسز کے لیے استعمال کیا ہے۔