FastAPI کا ابتدائی رہنما: اعلی کارکردگی API کی بہترین مشقیں
FastAPI کا ابتدائی رہنما: اعلی کارکردگی API کی بہترین مشقیں
جدید بیک اینڈ ترقی میں، FastAPI آہستہ آہستہ ابھرتا ہوا ہے، جو اعلی کارکردگی API بنانے کے لیے ایک مقبول انتخاب بن رہا ہے۔ یہ رہنما آپ کو FastAPI کی خصوصیات، فوائد، اور مخصوص مراحل کے ذریعے تیزی سے شروع کرنے کا طریقہ سکھائے گا، تاکہ آپ حقیقی پروجیکٹس میں زیادہ مؤثر طریقے سے API بنائیں اور تعینات کریں۔
FastAPI کیا ہے؟
FastAPI ایک جدید، تیز (اعلی کارکردگی) ویب فریم ورک ہے، جو معیاری Python قسم کی نشاندہی پر مبنی ہے۔ یہ ترقی دہندگان کو ایک سادہ طریقے سے تیز API بنانے کی اجازت دیتا ہے، جبکہ کارکردگی کی رفتار اور اچھی دیکھ بھال کو یقینی بناتا ہے۔ اس کی اہم خصوصیات میں شامل ہیں:
- اعلی کارکردگی: Starlette (ویب کے حصے کے لیے) اور Pydantic (ڈیٹا کے حصے کے لیے) پر مبنی، کارکردگی Node.js اور Go کے قریب ہے۔
- خودکار دستاویزات کی تخلیق: OpenAPI اور JSON Schema کے ذریعے، FastAPI خودکار طور پر تعاملاتی API دستاویزات تیار کر سکتا ہے۔
- استعمال میں آسان: Python قسم کی نشاندہی کا استعمال کرتے ہوئے، عام غلطیوں کو کم کرتا ہے اور ترقی دہندگان کی پیداوار کی کارکردگی کو بڑھاتا ہے۔
- غیر متزامن پروگرامنگ کی حمایت:
asyncاورawaitکی حمایت کرتا ہے، جس سے بڑی تعداد میں درخواستوں کو سنبھالنے میں کارکردگی کا فائدہ ہوتا ہے۔
FastAPI کے فوائد
FastAPI روایتی فریم ورک (جیسے Django اور Flask) کے مقابلے میں نمایاں فوائد فراہم کرتا ہے:
- تیز ترقی: خودکار طور پر تیار کردہ دستاویزات اور قسم کی جانچ کی وجہ سے، ترقی کی رفتار نمایاں طور پر بڑھ جاتی ہے۔
- مؤثر کارکردگی: اعلی ہم وقتی ایپلی کیشنز کو سنبھالنے کے لیے موزوں، خاص طور پر اعلی بوجھ کے تحت بہترین کارکردگی کا مظاہرہ کرتا ہے۔
- مضبوط قسم کی حمایت: قسم کی نشاندہی کے ذریعے مؤثر طریقے سے چلانے کے وقت کی غلطیوں کو کم کرتا ہے۔
- اچھا ٹیسٹنگ سپورٹ: انحصار کی انجیکشن اور اس کے درخواست ماڈل ٹیسٹنگ اور ڈیبگنگ کو آسان بناتے ہیں۔
FastAPI کے ساتھ تیزی سے شروع کریں
1. ماحول کی تیاری
سب سے پہلے، یہ یقینی بنائیں کہ آپ نے Python 3.7 یا اس سے زیادہ کا ورژن انسٹال کیا ہوا ہے۔ اس کے بعد، آپ درج ذیل کمانڈ کا استعمال کرتے ہوئے FastAPI اور ASGI سرور Uvicorn انسٹال کر سکتے ہیں:
pip install fastapi uvicorn
2. بنیادی FastAPI ایپ بنائیں
اس کے بعد، ایک سادہ FastAPI ایپ بنائیں۔ اپنے ورکنگ ڈائریکٹری میں، ایک نیا main.py فائل بنائیں، جس کا مواد درج ذیل ہے:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
3. ایپ چلائیں
Uvicorn کا استعمال کرتے ہوئے FastAPI ایپ چلائیں:
uvicorn main:app --reload
براؤزر میں http://127.0.0.1:8000 پر جائیں، آپ کو {"Hello": "World"} کا جواب نظر آئے گا۔ اسی طرح، http://127.0.0.1:8000/items/1?q=test پر جانے سے {"item_id": 1, "query": "test"} واپس آئے گا۔
4. خودکار دستاویزات بنائیں
FastAPI ہر راستے کے لیے خودکار طور پر دستاویزات تیار کرتا ہے، آپ درج ذیل URL پر جا کر تعاملاتی دستاویزات دیکھ سکتے ہیں:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
5. ڈیٹا ماڈل اور توثیق
FastAPI Pydantic کے ذریعے ڈیٹا ماڈل بنانے اور درخواست کے جسم کی توثیق کی بھی حمایت کرتا ہے۔ مثال کے طور پر:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
@app.post("/items/")
async def create_item(item: Item):
return item
اوپر دی گئی کوڈ کی مثال ایک Item ڈیٹا ماڈل کی وضاحت کرتی ہے، FastAPI خودکار طور پر آنے والے JSON ڈیٹا کی توثیق کرے گا۔
6. غیر متزامن اور ہم وقتی پروگرامنگ
FastAPI غیر متزامن پروگرامنگ کی حمایت کرتا ہے، آپ async def کا استعمال کرتے ہوئے غیر متزامن روٹ فنکشنز کی وضاحت کر سکتے ہیں۔ مثال کے طور پر:
import asyncio
@app.get("/wait/")
async def wait_for_response():
await asyncio.sleep(1)
return {"message": "Waited for 1 second!"}
7. FastAPI ایپ کی تعیناتی
FastAPI ایپ کو مختلف ماحول میں تعینات کیا جا سکتا ہے، بشمول Docker، Kubernetes، کلاؤڈ سروسز وغیرہ۔ Docker میں FastAPI کی تعیناتی کا ایک سادہ مثال:
# Dockerfile
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
پھر Docker امیج بنائیں اور چلائیں:
docker build -t myfastapiapp .
docker run -d -p 8000:8000 myfastapiapp
آپ http://localhost:8000 پر جا کر اپنی ایپ دیکھ سکتے ہیں۔
بہترین مشقیں
- قسم کی نشاندہی کا استعمال کریں: ہمیشہ Python قسم کی نشاندہی کا استعمال کریں تاکہ کوڈ کی پڑھنے کی صلاحیت اور دیکھ بھال میں اضافہ ہو۔
- پیرامیٹر کی توثیق: کاروباری ضروریات کے مطابق مناسب پیرامیٹر کی توثیق مرتب کریں، یہ یقینی بنائیں کہ API کو فراہم کردہ ڈیٹا درست ہے۔
- مرکزی طور پر استثنائیات کا انتظام کریں: عالمی غلطی کی ہینڈلنگ کی وضاحت کریں، یہ یقینی بنائیں کہ API درست طور پر استثنائیات کو سنبھال سکے۔
- دستاویزات اور تبصرے: API کی دستاویزات کو اپ ڈیٹ رکھیں، تبصروں اور دستاویزات کے ذریعے کوڈ کی رسائی کو برقرار رکھیں۔
- درمیانی سافٹ ویئر کا استعمال کریں: CORS، توثیق وغیرہ کی خصوصیات کے لیے درمیانی سافٹ ویئر کا مناسب استعمال کریں۔
نتیجہ
FastAPI جدید اعلی کارکردگی API بنانے کے لیے ایک طاقتور ٹول کے طور پر، اپنی مؤثر اور استعمال میں آسانی کی وجہ سے ترقی دہندگان میں وسیع پیمانے پر مقبول ہے۔ چاہے آپ ابتدائی ہوں یا تجربہ کار ترقی دہندہ، آپ اس سے فائدہ اٹھا سکتے ہیں۔ حقیقی ترقی میں، بہترین طریقوں کے ساتھ مل کر آپ کو پروجیکٹس کو زیادہ مؤثر طریقے سے بنانے اور برقرار رکھنے میں مدد ملے گی۔ امید ہے کہ یہ رہنما آپ کے FastAPI سیکھنے کے سفر میں رہنمائی اور مدد فراہم کرے گا!





