🧐 আলোচনার মূল বিষয়: কেন এবং কী?
প্রজেক্ট শুরু করার আগে কিছু বেসিক ধারণা থাকা দরকার:
১. ভার্চুয়াল এনভায়রনমেন্ট (Virtual Environment) কেন লাগে?
এটি আপনার কম্পিউটারের ভেতরে একটি আলাদা ছোট ঘর বা আইসোলেটেড জগত। আপনি যখন পাইথনে কাজ করবেন, তখন বিভিন্ন প্রজেক্টে বিভিন্ন লাইব্রেরি লাগবে। যদি সব লাইব্রেরি সরাসরি কম্পিউটারে ইন্সটল করেন, তবে একটার সাথে অন্যটার ভার্সন মিলে গণ্ডগোল হতে পারে। ভার্চুয়াল এনভায়রনমেন্ট আপনার প্রজেক্টের লাইব্রেরিগুলোকে সুরক্ষিত রাখে।
২. FastAPI কী?
FastAPI হলো পাইথনের একটি আধুনিক এবং অত্যন্ত দ্রুতগতির Web Framework। এর মাধ্যমে খুব সহজে এবং কম কোড লিখে API তৈরি করা যায়। এর বিশেষত্ব হলো এটি Asynchronous কাজ করতে পারে, অর্থাৎ একই সাথে অনেকগুলো রিকোয়েস্ট হ্যান্ডেল করতে পারে।
৩. Uvicorn কী?
FastAPI কিন্তু নিজে নিজে আপনার ব্রাউজারে রান করতে পারে না। সে শুধু আপনার লেখা লজিক বা কোড। এই কোডটিকে ইন্টারনেটে বা লোকালহোস্টে সার্ভ করার জন্য একজন “পরিবেশক” বা ওয়েব সার্ভার লাগে।
Uvicorn হলো সেই ASGI (Asynchronous Server Gateway Interface) সার্ভার। এটি আপনার FastAPI কোড এবং ইউজারের ব্রাউজারের মধ্যে সেতুবন্ধন হিসেবে কাজ করে।
🛠️ ধাপ ১: ভার্চুয়াল এনভায়রনমেন্ট – আমাদের খেলার বাক্স
প্রথমে আপনার প্রজেক্ট ফোল্ডারে টার্মিনাল ওপেন করুন এবং নিচের কমান্ডটি লিখুন।
কমান্ড:
Bash
python3 -m venv venvএখানে venv হলো আমাদের বাক্সের নাম।
বাক্সটি খুলতে হবে (Activate):
ভিতরে কাজ করার আগে দরজা খুলতে হবে।
Bash
source venv/bin/activate(উইন্ডোজ ইউজার হলে লিখুন: venv\Scripts\activate)
📦 ধাপ ২: টুলস ইন্সটল করা (FastAPI & Uvicorn)
আমাদের বাক্সে এখন প্রয়োজনীয় সফটওয়্যার বা টুলস ভরার পালা।
কমান্ড:
Bash
pip install fastapi uvicornএখানে pip হলো পাইথনের প্যাকেজ ম্যানেজার যা ইন্টারনেট থেকে আমাদের জন্য এই দুটি লাইব্রেরি নামিয়ে এনে প্রজেক্টে যুক্ত করবে।
✍️ ধাপ ৩: প্রথম কোড লেখা (main.py)
এখন একটি নতুন ফাইল খুলুন এবং এর নাম দিন main.py। নিচের কোডটি সেখানে লিখুন:
কোড:
Python
from fastapi import FastAPI
# ১. অ্যাপ অবজেক্ট তৈরি করা
app = FastAPI()
# ২. একটি রাস্তা (Route) তৈরি করা
@app.get("/")
def read_root():
return {"message": "Hello World, I am learning FastAPI!"}
কোডের ব্যবচ্ছেদ:
app = FastAPI(): এটি আমাদের অ্যাপ্লিকেশনের মেইন ইঞ্জিন।@app.get("/"): এখানে@হলো একটি ডেকোরেটর। এটি ইউজারকে বলে দেয় যদি কেউ মেইন ইউআরএল-এ (যেমন: google.com/) আসে, তবে সে যেন এই ফাংশনটি পায়।read_root(): এটি একটি সাধারণ পাইথন ফাংশন যা আউটপুট হিসেবে একটি JSON (পিকশনারি স্টাইল) ডেটা রিটার্ন করে।
🚀 ধাপ ৪: সার্ভার চালু করা (Run Server)
এখন আমাদের কোডটি লাইভ করার পালা। টার্মিনালে লিখুন:
কমান্ড:
Bash
uvicorn main:app --reload
- main: আপনার ফাইলের নাম (
main.py)। - app: ফাইলের ভেতরের ভেরিয়েবল
appযা আপনি কোডে লিখেছেন। - –reload: এটি ম্যাজিকের মতো কাজ করে। আপনি কোড সেভ করলেই সার্ভার অটোমেটিক আপডেট হয়ে যাবে।
🌐 ধাপ ৫: ফলাফল দেখা
সব ঠিক থাকলে ব্রাউজার ওপেন করে এই ঠিকানায় যান:
আপনি স্ক্রিনে দেখবেন: {"message": "Hello World, I am learning FastAPI!"}
🎁 বোনাস (অটোমেটিক ডকুমেন্টেশন):
FastAPI-র সেরা ফিচার হলো এর অটো-ডকুমেন্টেশন। এই লিংকে যান:
এখানে আপনি দেখতে পাবেন আপনার বানানো API-টি কীভাবে কাজ করছে তা সুন্দরভাবে সাজানো আছে। একে Swagger UI বলা হয়।
অভিনন্দন! আপনি সফলভাবে আপনার প্রথম FastAPI প্রজেক্ট রান করেছেন। কালকে আমরা শিখব কীভাবে এই API-তে ডেটা পাঠানো যায় (Path Parameters)।
আপনি কি চান আমি আজকের টপিকের ওপর ৫টি কুইজ তৈরি করে দিই যা আপনি আপনার পাঠকদের জন্য যোগ করতে পারেন?