From e3135ad34d0c0539a64861d16d133e72b4ac07da Mon Sep 17 00:00:00 2001 From: Mahdee Mushfique Kamal Date: Fri, 6 Mar 2026 20:34:56 +0600 Subject: [PATCH] Started Bangla/Bengali Documtation Support --- docs/bn/docs/index.md | 559 ++++++++++++++++++++++++++++++++++++++++++ docs/bn/llm-prompt.md | 71 ++++++ docs/bn/mkdocs.yml | 1 + 3 files changed, 631 insertions(+) create mode 100644 docs/bn/docs/index.md create mode 100644 docs/bn/llm-prompt.md create mode 100644 docs/bn/mkdocs.yml diff --git a/docs/bn/docs/index.md b/docs/bn/docs/index.md new file mode 100644 index 0000000000..956974b6da --- /dev/null +++ b/docs/bn/docs/index.md @@ -0,0 +1,559 @@ +# FastAPI { #fastapi } + + + +

+ FastAPI +

+

+ FastAPI ফ্রেমওয়ার্ক, উচ্চ পারফরম্যান্স সম্পন্ন, শেখা সহজ, দ্রুত কোড করা যায়, প্রোডাকশনের জন্য প্রস্তুত +

+

+ + Test + + + Coverage + + + Package version + + + Supported Python versions + +

+ +--- + +**ডকুমেন্টেশন**: https://fastapi.tiangolo.com/bn + +**সোর্স কোড**: https://github.com/fastapi/fastapi + +--- + +FastAPI হলো Python দিয়ে API তৈরির একটি আধুনিক, দ্রুত (উচ্চ-পারফরম্যান্স সম্পন্ন) ওয়েব ফ্রেমওয়ার্ক, যা স্ট্যান্ডার্ড Python টাইপ হিন্টের উপর ভিত্তি করে তৈরি। + +মূল বৈশিষ্ট্যগুলো হলো: + +* **দ্রুত**: **NodeJS** এবং **Go**-এর সমতুল্য অত্যন্ত উচ্চ পারফরম্যান্স সম্পন্ন (Starlette এবং Pydantic-এর কল্যাণে)। [সবচেয়ে দ্রুত Python ফ্রেমওয়ার্কগুলোর একটি](#performance)। +* **দ্রুত কোড করা যায়**: ফিচার ডেভেলপমেন্টের গতি প্রায় ২০০% থেকে ৩০০% বৃদ্ধি পায়। * +* **কম বাগ**: ডেভেলপারদের করা ভুল বা কোডিং ত্রুটি প্রায় ৪০% কমে যায়। * +* **স্বজ্ঞাত**: চমৎকার এডিটর সাপোর্ট। Completion সর্বত্র। ডিবাগিং-এ কম সময়। +* **সহজ**: ব্যবহার এবং শেখা সহজ হওয়ার জন্য ডিজাইন করা হয়েছে। ডকস পড়তে কম সময়। +* **সংক্ষিপ্ত**: কোড ডুপ্লিকেশন কম। প্রতিটি প্যারামিটার ডিক্লারেশন থেকে একাধিক ফিচার। কম বাগ। +* **শক্তিশালী**: প্রোডাকশন-রেডি কোড পান। স্বয়ংক্রিয় ইন্টারেক্টিভ ডকুমেন্টেশনসহ। +* **স্ট্যান্ডার্ড-ভিত্তিক**: API-এর জন্য উন্মুক্ত মানদণ্ডের উপর ভিত্তি করে (এবং সম্পূর্ণ সামঞ্জস্যপূর্ণ): OpenAPI (পূর্বে Swagger নামে পরিচিত) এবং JSON Schema। + +* একটি অভ্যন্তরীণ ডেভেলপমেন্ট টিম দ্বারা পরিচালিত পরীক্ষার উপর ভিত্তি করে অনুমান, যারা প্রোডাকশন অ্যাপ্লিকেশন তৈরি করছিল। + +## স্পনসর { #sponsors } + + + +### Keystone Sponsor { #keystone-sponsor } + +{% for sponsor in sponsors.keystone -%} + +{% endfor -%} + +### Gold and Silver Sponsors { #gold-and-silver-sponsors } + +{% for sponsor in sponsors.gold -%} + +{% endfor -%} +{%- for sponsor in sponsors.silver -%} + +{% endfor %} + + + +অন্যান্য স্পনসর + +## মতামত { #opinions } + +"_[...] আজকাল আমি **FastAPI** অনেক বেশি ব্যবহার করছি। [...] আমি আসলে আমার টিমের **Microsoft-এর ML সার্ভিস**গুলোর জন্য এটি ব্যবহার করার পরিকল্পনা করছি। তাদের কেউ কেউ মূল **Windows** প্রোডাক্ট এবং কিছু **Office** প্রোডাক্টে একীভূত হচ্ছে।_" + +
Kabir Khan - Microsoft (ref)
+ +--- + +"_আমরা **predictions** পেতে query করার জন্য একটি **REST** সার্ভার চালু করতে **FastAPI** লাইব্রেরিটি গ্রহণ করেছি। [Ludwig-এর জন্য]_" + +
Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - Uber (ref)
+ +--- + +"_**Netflix** আমাদের **crisis management** অর্কেস্ট্রেশন ফ্রেমওয়ার্কের ওপেন-সোর্স রিলিজ ঘোষণা করতে পেরে আনন্দিত: **Dispatch**! [**FastAPI** দিয়ে তৈরি]_" + +
Kevin Glisson, Marc Vilanova, Forest Monsen - Netflix (ref)
+ +--- + +"_**FastAPI** নিয়ে আমি অত্যন্ত উত্তেজিত। এটি এত মজার!_" + +
Brian Okken - Python Bytes podcast host (ref)
+ +--- + +"_সৎভাবে বলতে গেলে, আপনি যা তৈরি করেছেন তা সত্যিই শক্ত এবং পালিশ দেখাচ্ছে। অনেক দিক থেকে, এটাই আমি **Hug** হতে চেয়েছিলাম — কেউ সেটি তৈরি করছে দেখা সত্যিই অনুপ্রেরণাদায়ক।_" + +
Timothy Crosley - Hug creator (ref)
+ +--- + +"_যদি আপনি REST API তৈরির জন্য একটি **আধুনিক ফ্রেমওয়ার্ক** শিখতে চান, তাহলে **FastAPI** দেখুন [...] এটি দ্রুত, ব্যবহার করা সহজ এবং শেখা সহজ [...]_" + +"_আমরা আমাদের **API**গুলোর জন্য **FastAPI**-তে স্যুইচ করেছি [...] আমি মনে করি আপনিও এটি পছন্দ করবেন [...]_" + +
Ines Montani - Matthew Honnibal - Explosion AI founders - spaCy creators (ref) - (ref)
+ +--- + +"_যদি কেউ একটি প্রোডাকশন Python API তৈরি করতে চান, আমি দৃঢ়ভাবে **FastAPI** সুপারিশ করব। এটি **সুন্দরভাবে ডিজাইন করা**, **ব্যবহার করা সহজ** এবং **অত্যন্ত স্কেলযোগ্য**, এটি আমাদের API first ডেভেলপমেন্ট কৌশলে একটি **মূল উপাদান** হয়ে উঠেছে এবং আমাদের Virtual TAC Engineer-সহ অনেক অটোমেশন এবং সার্ভিস পরিচালনা করছে।_" + +
Deon Pillsbury - Cisco (ref)
+ +--- + +## FastAPI মিনি ডকুমেন্টারি { #fastapi-mini-documentary } + +২০২৫ সালের শেষে একটি FastAPI মিনি ডকুমেন্টারি প্রকাশিত হয়েছে, আপনি এটি অনলাইনে দেখতে পারেন: + +FastAPI Mini Documentary + +## CLI-এর FastAPI — **Typer** { #typer-the-fastapi-of-clis } + + + +যদি আপনি একটি ওয়েব API-এর পরিবর্তে টার্মিনালে ব্যবহারের জন্য একটি CLI অ্যাপ তৈরি করছেন, তাহলে **Typer** দেখুন। + +**Typer** হলো FastAPI-এর ছোট ভাই। এবং এটি **CLI-এর FastAPI** হতে উদ্দেশ্যপ্রণোদিত। ⌨️ 🚀 + +## প্রয়োজনীয়তা { #requirements } + +FastAPI দিগগজদের কাঁধে দাঁড়িয়ে আছে: + +* ওয়েব অংশের জন্য Starlette। +* ডেটা অংশের জন্য Pydantic। + +## ইনস্টলেশন { #installation } + +একটি virtual environment তৈরি ও সক্রিয় করুন, তারপর FastAPI ইনস্টল করুন: + +
+ +```console +$ pip install "fastapi[standard]" + +---> 100% +``` + +
+ +**নোট**: সমস্ত টার্মিনালে সঠিকভাবে কাজ করার জন্য `"fastapi[standard]"` কোটেশনের মধ্যে রাখুন। + +## উদাহরণ { #example } + +### তৈরি করুন { #create-it } + +`main.py` নামে একটি ফাইল তৈরি করুন: + +```Python +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/") +def read_root(): + return {"Hello": "World"} + + +@app.get("/items/{item_id}") +def read_item(item_id: int, q: str | None = None): + return {"item_id": item_id, "q": q} +``` + +
+অথবা async def ব্যবহার করুন... + +যদি আপনার কোড `async` / `await` ব্যবহার করে, তাহলে `async def` ব্যবহার করুন: + +```Python hl_lines="7 12" +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 = None): + return {"item_id": item_id, "q": q} +``` + +**নোট**: + +যদি আপনি না জানেন, ডকসে `async` এবং `await` সম্পর্কে _"তাড়া আছে?"_ বিভাগটি দেখুন। + +
+ +### চালান { #run-it } + +সার্ভার চালান: + +
+ +```console +$ fastapi dev main.py + + ╭────────── FastAPI CLI - Development mode ───────────╮ + │ │ + │ Serving at: http://127.0.0.1:8000 │ + │ │ + │ API docs: http://127.0.0.1:8000/docs │ + │ │ + │ Running in development mode, for production use: │ + │ │ + │ fastapi run │ + │ │ + ╰─────────────────────────────────────────────────────╯ + +INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp'] +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +INFO: Started reloader process [2248755] using WatchFiles +INFO: Started server process [2248757] +INFO: Waiting for application startup. +INFO: Application startup complete. +``` + +
+ +
+fastapi dev main.py কমান্ড সম্পর্কে... + +`fastapi dev` কমান্ড আপনার `main.py` ফাইল পড়ে, সেখানে **FastAPI** অ্যাপটি শনাক্ত করে এবং Uvicorn ব্যবহার করে একটি সার্ভার শুরু করে। + +ডিফল্টভাবে, `fastapi dev` লোকাল ডেভেলপমেন্টের জন্য auto-reload সক্ষম করে শুরু হবে। + +আরও তথ্যের জন্য FastAPI CLI ডকস পড়ুন। + +
+ +### পরীক্ষা করুন { #check-it } + +http://127.0.0.1:8000/items/5?q=somequery-এ ব্রাউজার খুলুন। + +আপনি JSON response দেখতে পাবেন: + +```JSON +{"item_id": 5, "q": "somequery"} +``` + +আপনি ইতিমধ্যে একটি API তৈরি করেছেন যা: + +* _paths_ `/` এবং `/items/{item_id}`-তে HTTP request গ্রহণ করে। +* উভয় _path_-ই `GET` operations (HTTP _methods_ নামেও পরিচিত) নেয়। +* _path_ `/items/{item_id}`-এ একটি _path parameter_ `item_id` আছে যা `int` হওয়া উচিত। +* _path_ `/items/{item_id}`-এ একটি ঐচ্ছিক `str` _query parameter_ `q` আছে। + +### ইন্টারেক্টিভ API ডকস { #interactive-api-docs } + +এখন http://127.0.0.1:8000/docs-এ যান। + +আপনি স্বয়ংক্রিয় ইন্টারেক্টিভ API ডকুমেন্টেশন দেখতে পাবেন (Swagger UI দ্বারা প্রদত্ত): + +![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png) + +### বিকল্প API ডকস { #alternative-api-docs } + +এখন http://127.0.0.1:8000/redoc-এ যান। + +আপনি বিকল্প স্বয়ংক্রিয় ডকুমেন্টেশন দেখতে পাবেন (ReDoc দ্বারা প্রদত্ত): + +![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png) + +## উদাহরণ আপগ্রেড { #example-upgrade } + +এখন `PUT` request থেকে একটি body গ্রহণ করতে `main.py` ফাইলটি পরিবর্তন করুন। + +Pydantic-এর কল্যাণে স্ট্যান্ডার্ড Python type ব্যবহার করে body ডিক্লেয়ার করুন। + +```Python hl_lines="2 7-10 23-25" +from fastapi import FastAPI +from pydantic import BaseModel + +app = FastAPI() + + +class Item(BaseModel): + name: str + price: float + is_offer: bool | None = None + + +@app.get("/") +def read_root(): + return {"Hello": "World"} + + +@app.get("/items/{item_id}") +def read_item(item_id: int, q: str | None = None): + return {"item_id": item_id, "q": q} + + +@app.put("/items/{item_id}") +def update_item(item_id: int, item: Item): + return {"item_name": item.name, "item_id": item_id} +``` + +`fastapi dev` সার্ভার স্বয়ংক্রিয়ভাবে রিলোড হবে। + +### ইন্টারেক্টিভ API ডকস আপগ্রেড { #interactive-api-docs-upgrade } + +এখন http://127.0.0.1:8000/docs-এ যান। + +* ইন্টারেক্টিভ API ডকুমেন্টেশন স্বয়ংক্রিয়ভাবে আপডেট হবে, নতুন body সহ: + +![Swagger UI](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png) + +* "Try it out" বাটনে ক্লিক করুন, এটি আপনাকে parameter পূরণ করতে এবং সরাসরি API-এর সাথে ইন্টারেক্ট করতে দেয়: + +![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png) + +* তারপর "Execute" বাটনে ক্লিক করুন, ইউজার ইন্টারফেস আপনার API-এর সাথে যোগাযোগ করবে, parameter পাঠাবে, ফলাফল পাবে এবং স্ক্রিনে দেখাবে: + +![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png) + +### বিকল্প API ডকস আপগ্রেড { #alternative-api-docs-upgrade } + +এখন http://127.0.0.1:8000/redoc-এ যান। + +* বিকল্প ডকুমেন্টেশনও নতুন query parameter এবং body প্রতিফলিত করবে: + +![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png) + +### সারসংক্ষেপ { #recap } + +সংক্ষেপে, আপনি **একবার** parameter, body ইত্যাদির type ফাংশন parameter হিসেবে ডিক্লেয়ার করেন। + +আপনি এটি স্ট্যান্ডার্ড আধুনিক Python type দিয়ে করেন। + +আপনাকে কোনো নতুন সিনট্যাক্স, কোনো নির্দিষ্ট লাইব্রেরির পদ্ধতি বা ক্লাস শিখতে হবে না। + +শুধু স্ট্যান্ডার্ড **Python**। + +উদাহরণস্বরূপ, একটি `int`-এর জন্য: + +```Python +item_id: int +``` + +অথবা আরও জটিল `Item` মডেলের জন্য: + +```Python +item: Item +``` + +...এবং সেই একটি ডিক্লারেশনের মাধ্যমে আপনি পান: + +* এডিটর সাপোর্ট, যার মধ্যে রয়েছে: + * Completion। + * Type check। +* ডেটা যাচাইকরণ: + * ডেটা অবৈধ হলে স্বয়ংক্রিয় এবং স্পষ্ট ত্রুটি। + * গভীরভাবে নেস্টেড JSON অবজেক্টের জন্যও যাচাইকরণ। +* ইনপুট ডেটার রূপান্তর: নেটওয়ার্ক থেকে Python ডেটা এবং type-এ রূপান্তর। নিচ থেকে পড়া: + * JSON। + * Path parameter। + * Query parameter। + * Cookie। + * Header। + * Form। + * File। +* আউটপুট ডেটার রূপান্তর: Python ডেটা এবং type থেকে নেটওয়ার্ক ডেটায় (JSON হিসেবে) রূপান্তর: + * Python type (`str`, `int`, `float`, `bool`, `list`, ইত্যাদি) রূপান্তর। + * `datetime` অবজেক্ট। + * `UUID` অবজেক্ট। + * ডেটাবেস মডেল। + * ...এবং আরও অনেক। +* স্বয়ংক্রিয় ইন্টারেক্টিভ API ডকুমেন্টেশন, ২টি বিকল্প ইউজার ইন্টারফেস সহ: + * Swagger UI। + * ReDoc। + +--- + +আগের কোড উদাহরণে ফিরে আসি, **FastAPI** করবে: + +* `GET` এবং `PUT` request-এর জন্য path-এ `item_id` আছে কিনা যাচাই করবে। +* `GET` এবং `PUT` request-এর জন্য `item_id`-এর type `int` কিনা যাচাই করবে। + * যদি না হয়, ক্লায়েন্ট একটি উপযোগী, স্পষ্ট ত্রুটি দেখবে। +* `GET` request-এর জন্য `q` নামে একটি ঐচ্ছিক query parameter আছে কিনা পরীক্ষা করবে (যেমন `http://127.0.0.1:8000/items/foo?q=somequery`)। + * `q` parameter `= None` দিয়ে ডিক্লেয়ার করা হয়েছে বলে এটি ঐচ্ছিক। + * `None` ছাড়া এটি প্রয়োজনীয় হতো (যেমন `PUT`-এর ক্ষেত্রে body)। +* `/items/{item_id}`-এ `PUT` request-এর জন্য, JSON হিসেবে body পড়বে: + * একটি প্রয়োজনীয় attribute `name` আছে কিনা যাচাই করবে যা `str` হওয়া উচিত। + * একটি প্রয়োজনীয় attribute `price` আছে কিনা যাচাই করবে যা `float` হতে হবে। + * একটি ঐচ্ছিক attribute `is_offer` আছে কিনা যাচাই করবে, যদি থাকে তাহলে `bool` হওয়া উচিত। + * এটি গভীরভাবে নেস্টেড JSON অবজেক্টের জন্যও কাজ করবে। +* স্বয়ংক্রিয়ভাবে JSON থেকে এবং JSON-এ রূপান্তর করবে। +* OpenAPI দিয়ে সবকিছু ডকুমেন্ট করবে, যা ব্যবহার করা যেতে পারে: + * ইন্টারেক্টিভ ডকুমেন্টেশন সিস্টেম। + * অনেক ভাষার জন্য স্বয়ংক্রিয় ক্লায়েন্ট কোড জেনারেশন সিস্টেম। +* সরাসরি ২টি ইন্টারেক্টিভ ডকুমেন্টেশন ওয়েব ইন্টারফেস প্রদান করবে। + +--- + +আমরা শুধু উপরিভাগ দেখলাম, কিন্তু আপনি ইতিমধ্যে এটি কীভাবে কাজ করে তার ধারণা পেয়েছেন। + +নিচের লাইনটি পরিবর্তন করার চেষ্টা করুন: + +```Python + return {"item_name": item.name, "item_id": item_id} +``` + +...থেকে: + +```Python + ... "item_name": item.name ... +``` + +...এতে: + +```Python + ... "item_price": item.price ... +``` + +...এবং দেখুন কীভাবে আপনার এডিটর attribute স্বয়ংক্রিয়ভাবে সম্পূর্ণ করবে এবং তাদের type জানবে: + +![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png) + +আরও বৈশিষ্ট্য সহ আরও সম্পূর্ণ উদাহরণের জন্য, Tutorial - User Guide দেখুন। + +**স্পয়লার সতর্কতা**: tutorial - user guide-এ রয়েছে: + +* **header**, **cookie**, **form field** এবং **file** সহ বিভিন্ন জায়গা থেকে **parameter** ডিক্লারেশন। +* `maximum_length` বা `regex`-এর মতো **validation constraint** কীভাবে সেট করবেন। +* একটি অত্যন্ত শক্তিশালী এবং ব্যবহার করা সহজ **Dependency Injection** সিস্টেম। +* **JWT token** এবং **HTTP Basic** auth সহ **OAuth2** সাপোর্ট সহ নিরাপত্তা এবং প্রমাণীকরণ। +* গভীরভাবে **nested JSON model** ডিক্লেয়ার করার আরও উন্নত (কিন্তু সমানভাবে সহজ) কৌশল (Pydantic-এর কল্যাণে)। +* Strawberry এবং অন্যান্য লাইব্রেরির সাথে **GraphQL** ইন্টিগ্রেশন। +* Starlette-এর কল্যাণে অনেক অতিরিক্ত বৈশিষ্ট্য: + * **WebSocket** + * HTTPX এবং `pytest`-এর উপর ভিত্তি করে অত্যন্ত সহজ test + * **CORS** + * **Cookie Session** + * ...এবং আরও। + +### আপনার অ্যাপ ডিপ্লয় করুন (ঐচ্ছিক) { #deploy-your-app-optional } + +আপনি ঐচ্ছিকভাবে আপনার FastAPI অ্যাপ FastAPI Cloud-এ ডিপ্লয় করতে পারেন, যদি না করে থাকেন তাহলে waiting list-এ যোগ দিন। 🚀 + +যদি আপনার ইতিমধ্যে একটি **FastAPI Cloud** অ্যাকাউন্ট থাকে (আমরা আপনাকে waiting list থেকে আমন্ত্রণ জানিয়েছি 😉), আপনি একটি কমান্ড দিয়ে আপনার অ্যাপ ডিপ্লয় করতে পারেন। + +ডিপ্লয় করার আগে, নিশ্চিত করুন যে আপনি লগইন করেছেন: + +
+ +```console +$ fastapi login + +You are logged in to FastAPI Cloud 🚀 +``` + +
+ +তারপর আপনার অ্যাপ ডিপ্লয় করুন: + +
+ +```console +$ fastapi deploy + +Deploying to FastAPI Cloud... + +✅ Deployment successful! + +🐔 Ready the chicken! Your app is ready at https://myapp.fastapicloud.dev +``` + +
+ +এটুকুই! এখন আপনি সেই URL-এ আপনার অ্যাপ অ্যাক্সেস করতে পারবেন। ✨ + +#### FastAPI Cloud সম্পর্কে { #about-fastapi-cloud } + +**FastAPI Cloud** **FastAPI**-এর পেছনে থাকা একই লেখক এবং টিম দ্বারা তৈরি। + +এটি ন্যূনতম প্রচেষ্টায় একটি API **তৈরি**, **ডিপ্লয়** এবং **অ্যাক্সেস** করার প্রক্রিয়াকে সহজ করে। + +এটি FastAPI দিয়ে অ্যাপ তৈরির একই **ডেভেলপার এক্সপেরিয়েন্স** ক্লাউডে **ডিপ্লয়** করার ক্ষেত্রেও নিয়ে আসে। 🎉 + +FastAPI Cloud হলো *FastAPI এবং বন্ধুরা* ওপেন সোর্স প্রজেক্টগুলোর প্রাথমিক স্পনসর এবং ফান্ডিং প্রদানকারী। ✨ + +#### অন্যান্য ক্লাউড প্রোভাইডারে ডিপ্লয় করুন { #deploy-to-other-cloud-providers } + +FastAPI ওপেন সোর্স এবং মানদণ্ড-ভিত্তিক। আপনি যেকোনো ক্লাউড প্রোভাইডারে FastAPI অ্যাপ ডিপ্লয় করতে পারেন। + +তাদের সাথে FastAPI অ্যাপ ডিপ্লয় করতে আপনার ক্লাউড প্রোভাইডারের গাইড অনুসরণ করুন। 🤓 + +## পারফরম্যান্স { #performance } + +স্বাধীন TechEmpower বেঞ্চমার্ক দেখায় যে Uvicorn-এর অধীনে চলা **FastAPI** অ্যাপ্লিকেশন সবচেয়ে দ্রুত Python ফ্রেমওয়ার্কগুলোর একটি হিসেবে চলছে, শুধুমাত্র Starlette এবং Uvicorn-এর নিচে (FastAPI দ্বারা অভ্যন্তরীণভাবে ব্যবহৃত)। (*) + +আরও জানতে, Benchmarks বিভাগটি দেখুন। + +## নির্ভরতা { #dependencies } + +FastAPI Pydantic এবং Starlette-এর উপর নির্ভর করে। + +### `standard` নির্ভরতা { #standard-dependencies } + +যখন আপনি `pip install "fastapi[standard]"` দিয়ে FastAPI ইনস্টল করেন, তখন এটি ঐচ্ছিক নির্ভরতার `standard` গ্রুপের সাথে আসে: + +Pydantic দ্বারা ব্যবহৃত: + +* email-validator - ইমেইল যাচাইকরণের জন্য। + +Starlette দ্বারা ব্যবহৃত: + +* httpx - `TestClient` ব্যবহার করতে চাইলে প্রয়োজনীয়। +* jinja2 - ডিফল্ট template কনফিগারেশন ব্যবহার করতে চাইলে প্রয়োজনীয়। +* python-multipart - `request.form()` দিয়ে form "parsing" সাপোর্ট করতে চাইলে প্রয়োজনীয়। + +FastAPI দ্বারা ব্যবহৃত: + +* uvicorn - আপনার অ্যাপ্লিকেশন লোড করা এবং পরিবেশন করার সার্ভারের জন্য। এতে `uvicorn[standard]` অন্তর্ভুক্ত, যেখানে উচ্চ-পারফরম্যান্স সার্ভিংয়ের জন্য প্রয়োজনীয় কিছু নির্ভরতা রয়েছে (যেমন `uvloop`)। +* `fastapi-cli[standard]` - `fastapi` কমান্ড প্রদান করতে। + * এতে `fastapi-cloud-cli` অন্তর্ভুক্ত, যা আপনাকে আপনার FastAPI অ্যাপ্লিকেশন FastAPI Cloud-এ ডিপ্লয় করতে দেয়। + +### `standard` নির্ভরতা ছাড়া { #without-standard-dependencies } + +যদি আপনি `standard` ঐচ্ছিক নির্ভরতা অন্তর্ভুক্ত করতে না চান, তাহলে `pip install "fastapi[standard]"` এর পরিবর্তে `pip install fastapi` দিয়ে ইনস্টল করতে পারেন। + +### `fastapi-cloud-cli` ছাড়া { #without-fastapi-cloud-cli } + +যদি আপনি standard নির্ভরতা সহ কিন্তু `fastapi-cloud-cli` ছাড়া FastAPI ইনস্টল করতে চান, তাহলে `pip install "fastapi[standard-no-fastapi-cloud-cli]"` দিয়ে ইনস্টল করতে পারেন। + +### অতিরিক্ত ঐচ্ছিক নির্ভরতা { #additional-optional-dependencies } + +কিছু অতিরিক্ত নির্ভরতা আছে যা আপনি ইনস্টল করতে চাইতে পারেন। + +অতিরিক্ত ঐচ্ছিক Pydantic নির্ভরতা: + +* pydantic-settings - settings management-এর জন্য। +* pydantic-extra-types - Pydantic-এর সাথে ব্যবহারের জন্য অতিরিক্ত type। + +অতিরিক্ত ঐচ্ছিক FastAPI নির্ভরতা: + +* orjson - `ORJSONResponse` ব্যবহার করতে চাইলে প্রয়োজনীয়। +* ujson - `UJSONResponse` ব্যবহার করতে চাইলে প্রয়োজনীয়। + +## লাইসেন্স { #license } + +এই প্রজেক্টটি MIT লাইসেন্সের শর্তে লাইসেন্সপ্রাপ্ত। diff --git a/docs/bn/llm-prompt.md b/docs/bn/llm-prompt.md new file mode 100644 index 0000000000..9a0202ade3 --- /dev/null +++ b/docs/bn/llm-prompt.md @@ -0,0 +1,71 @@ +### Target language + +Translate to Bengali (বাংলা). + +Language code: bn. + +### Grammar to use when talking to the reader + +Use standard formal Bengali (প্রমিত বাংলা). Address the reader using `আপনি` (formal "you") rather than `তুমি` (informal "you"). + +### Quotes + +1) Convert neutral double quotes (`"`) to Bengali double typographic quotes (`"` and `"`). Convert neutral single quotes (`'`) to Bengali single typographic quotes (`'` and `'`). + +Do NOT convert quotes in code snippets and code blocks to their Bengali typographic equivalents. + +Examples: + +Source (English): + +``` +"Hello world" +"Hello Universe" +"He said: 'Hello'" +`"__main__"` +`"items"` +``` + +Result (Bengali): + +``` +"হ্যালো ওয়ার্ল্ড" +"হ্যালো ইউনিভার্স" +"তিনি বললেন: 'হ্যালো'" +`"__main__"` +`"items"` +``` + +### Headings + +- Translate headings naturally in Bengali. +- Do NOT translate the anchor IDs inside `{ #anchor-id }` — keep them in English exactly as they are. + +Example: + +Source (English): + +``` +## Create a Project { #create-a-project } +``` + +Result (Bengali): + +``` +## একটি প্রজেক্ট তৈরি করুন { #create-a-project } +``` + +- Make sure that the translated part of the heading does not end with a period. + +### Technical terms + +Do not translate technical programming terms. Keep them in English. For example: +- `string` stays as `string` (or use backtick form in context) +- `request body` stays as `request body` +- `response` stays as `response` +- `path parameter`, `query parameter`, `header`, `cookie`, etc. stay in English +- Framework and library names (`FastAPI`, `Pydantic`, `Starlette`, `Uvicorn`) are never translated + +### Other rules + +Preserve indentation. Keep emojis. Encode in utf-8. Use Linux line breaks (LF). diff --git a/docs/bn/mkdocs.yml b/docs/bn/mkdocs.yml new file mode 100644 index 0000000000..de18856f44 --- /dev/null +++ b/docs/bn/mkdocs.yml @@ -0,0 +1 @@ +INHERIT: ../en/mkdocs.yml