FastApi ব্রিফ ইন্ট্রো

fastApi blog bangla
fastApi blog bangla

পাইথন একটি জেনারেল পারপাস প্রোগ্রামিং ল্যাঙ্গুয়েজ , এর পাইথন এর অনেক এমাজিং ফিল্ড রয়েছে । আপনি চাইলে পাইথন দিয়ে ওয়েব ডেভলপমেন্ট অথবা গেইম ডেভলপমেন্ট থেকে শুরু করে কিংবা মেশিন লার্নিং , আর্টিফিসিয়াল ইন্টিলিজেন্স , ডাটা সায়েন্স সহ বহুবিধ কিছু করা যায় । তবে আজকে আমার এই পোস্ট এর বিষয় হচ্ছে পাইথন এর এমন একটি ফ্রেমওয়ার্ক ইন্ট্রোডাকশন করা যা ব্যাবহার করে আপনি এক চুটকিতেই সহজেই এপিআই বানিয়ে ফেলতে পারবেন।

আজকে আমাদের আলোচ্য বিষয় ফাস্টএপিয়াই । FastApi হচ্ছে পাইথন এর মাধ্যমে ব্যাকেন্ড ডেভলপমেন্ট করার জন্য অন্যতম ফ্রেমওয়ার্ক । এইটার সবথেকে হাইলাইটেড ফিচার হচ্ছে এটা খুব ফাস্ট । কতটা ফাস্ট ? এইটা ব্যাঞ্চমার্ক করার জন্য এইটা কম্পেয়ার করা হয়েছে নোডজেস এবং গো ল্যাং এর সাথে । এই শুধু পারফর্ম্যান্স এর দিক থেকে শুধু ফাস্ট নয় এইটার আরেকটি হাইলাইটেড ফিচার হচ্ছে এপিআই ডেভলোপমেন্ট করার জন্য সব থেকে ফাস্টফ্রমওয়ার্ক। ফাস্ট এপিয়াই ডক অনুসারে এটা শিখা একদম ইজি এবং কোড করাও ইজি , খুব হাই পার্ফর্মড এবং রোবাস্ট ।

ডক মোতাবেক এইটার এত হাই পার্ফর্মড হওয়ার পিছনে পাইথন এর আর কিছু লাইব্রেরী এবং ফ্রেমওয়ার্ক রয়েছে যাদের কাঁধে ভর করে রয়েছে FastApi । ফ্রেমওয়ার্ক গুল হলোঃ

  1. uvicorn. A python library which works as a server.
  2. starlette. A low level python framework of web development.
  3. pydantic. A python framework to work with data. Allows you to build models.

আপনারা যারা ফেসবুক এটা পড়ছেন আপনারা যদি আমার সাইট থেকে পড়েন তাহলে ভাল লাগবে ( http://blog.aldinn.com/ )

এবার দেখি আমরা কিভাবে FastApi ইন্সটল করবঃ

Bash
pip install fastapi uvicorn

এইটা ইন্সটল করার আগে আমাদের ভার্চুয়াল ইনভাইরোনমেন্ট ক্রিয়েট করে সেটা একটিভ করে নিতে হবে তারপর উপরের কমান্ডটি রান করবেন আপনার টার্মিনালে ।

সুতরাং আমাদের fastAPI ইন্সটল করার জন্য আমাদের fastapi , uvicorn নামে দুইটা প্যাকেজ ইন্সটল করে নিলেই হবে ।

চলুন এবার আমরা একটা সিম্পল এপিয়াই লিখি fastApi এর মাধ্যমে । তার জন্য আমাদের রুট প্রজেক্ট ডিরেক্টরিতে আমাদের main.py নামে একটি ফাইল ক্রিয়েট করে নিব । এরপর আমরা নিচের কোডটি লিখব ।

main.py
from fastapi import FastAPI
app = FastAPI()

@app.get('/)
def index():
	return { "Welcome": "To Tamzids Life"}

ফাস্ট এপিয়াই এ আমি এখন বাংলায় নতুন হ্যালো ওয়ার্ল্ড প্রিন্ট করলাম । এর আমি প্রথমে fastapi প্যাকেজ থেকে FastAPI ইম্পর্ট করে নিলাম ।

তারপর আমরা একটা app নামে নতুন ভ্যারিয়েবল ক্রিয়েট করলাম এবং এটা একটা FastAPI ইন্সটেন্স । তারপর আমরা একটা ফাংশন ক্রিয়েট করতে পারি যেটাকে FastAPI এর পরিভাষায় বলে “path operation functions” এবং আরেকটি ডেকোরেটর যেটাকে বলে “path operation decorators” ।

পাথ অপারেশন ডেকোরেটরটি FastAPI ইন্সটেন্স ভ্যারিয়েবল্টি সহকারে ডিক্লেয়ার করা হয় যেমনটা আপনারা দেখতে পাচ্ছেন এবং সাথে রেস্ট মেথড ত আছেই । রেস্ট মেথড এর প্যারেথিথিস এর মধ্যে আমরা পাথ ডিক্ল্যায়ার করে দিচ্ছি ।

তারপর আমরা একটা index ফাংশন লিখলাম যেটি একটি ডিকশনারী রিটার্ন করবে।

"Welcome": "To Tamzid’s Life" । আপনি যদি নাহ জেনে থাকেন তাহলে , পাইথন ডিকশনারির মাধ্যমে আমরা খুব সহজে জেসন অবজেক্ট জেনারেট করতে পারি ।

এবার আমাদের কোডটি রান করার পালা । যদি আপনারা মনোযোগ দিয়ে পড়ে থাকেন তাহলে আপনাদের মনে থাকবে আমি uvicorn নামে আরেকটি প্যাকেজ ইন্সটল করেছি যেটি পাইথন এর ওয়েব সার্ভার হিসেবে কাজ করে ।

এবার আমরা আমাদের কোড টি রান করব । আমরা আমাদের টার্মিনালে সিম্পলি

uvicorn main:app —reload কমান্ডটি রান করব । তারপর আমরা এমন একটি অউতপুট দেখতে পারব টার্মিনালে এবং ব্রাউজারে

এবং আমাদের এপ এখন রানিং । হুররে !

FastAPI এর ইন্টারেক্টিভ ডকুমেন্টেশন

FastAPI এর যে সব থেকে যেই জিনিসটি আমি সব থেকে বেশি পছন্দ করেছি সেটি হচ্ছে ইন্টারেক্টিভ ডকমেণ্টশন সিস্টেম । FastAPI OpenApi এর বেইসড করে তৈরি । OpenApi বলে দে কিভাবে আমাদের Api ডেস্ক্রাইভ করতে হবে , কিভাবে কিয়েট করতে হবে আর কিভাবে ভিজুয়ালাইজ করতে হবে । OpenApi এর ও একটা সফটওয়ার প্রয়োজন যাকে আমরা Swagger নামে জানি , যেটা আমাদের অটোমেটিক ডকুমেন্টেশন প্রোভাইড করে । আমদের এই ইন্টারেক্টিভ ডকুমেন্টেশন এক্সেস করতে হলে সিম্পলি আমাদের লোকাল হোস্ট এর এর পর “/docs” লিখে ব্রাউজার এ ইন্টার করতে হবে । এইখানে আপনি দেখতে পারবেন কিভাবে

যাইহোক আঁজকে আমরা একটা ছোট অউটপুট দেখেছি জাস্ট । কিভাবে API রান করতে হয় এববগ কিভাবে ইন্টারেক্টিভ ডক দেখতে হয় । আশা করি এটা শিখা অনেক কাজের হবে অলরেডি মাইক্রোসফট , উবার এবং নেটফিক্স এটা ব্যাবহার করা শুরু করেছে । আপনারা যারা ফেসবুক এটা পড়ছেন আপনারা যদি আমার সাইট থেকে পড়েন তাহলে ভাল লাগবে । আর ফেসবুক থেকে পড়ে থাকেন অবশ্যই আমার পেইজটা ফলো দিবেন । এমন আর পোস্ট এর জন্য

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *