en
Feedback
FastAPI

FastAPI

Open in Telegram

Sharing specialized content about the FastAPI framework, Python, and FastAPI deployment in the cloud. مطالب تخصصی فریم ورک FastAPI . پایتون محتوای فارسی و انگلیسی Discussion: https://t.me/fastapi_persian #fastapi #python #cloud

Show more
670
Subscribers
No data24 hours
-37 days
+330 days
Posts Archive
گروه پرسش و پاسخ https://t.me/fastapi_persian

در FastAPI، می‌توانید از Depends برای مدیریت وابستگی‌ها و امنیت استفاده کنید. مثلاً اگر بخواهید یک توکن JWT را برای احراز هویت بررسی کنید، می‌توانید آن را به عنوان یک وابستگی تعریف کنید:
from fastapi import Depends, HTTPException, Security
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials

security = HTTPBearer()

def get_current_user(credentials: HTTPAuthorizationCredentials = Depends(security)):
    token = credentials.credentials
    if token != "valid-token":
        raise HTTPException(status_code=401, detail="Invalid token")
    return {"user_id": 123, "role": "admin"}

@app.get("/protected")
def protected_route(user: dict = Depends(get_current_user)):
    return {"message": "You have access", "user": user}
🔹 چرا Depends مهم است؟ • کد را ماژولار و قابل تست می‌کند. • امنیت و احراز هویت را می‌توان به سادگی در مسیرهای مختلف اعمال کرد. • مدیریت وابستگی‌ها را ساده و تمیز نگه می‌دارد. 💡 اگر از FastAPI برای APIهای امن استفاده می‌کنی، Depends یکی از ابزارهای قدرتمند برای احراز هویت و مدیریت دسترسی است!

در این کانال نکته های مربوط به مهندسی داده انتشاد داده میشود و با ابزارهای دیگر این حرفه آشنا میشوید، بدیهی است که استفاده از کلاد نقش بسیار پررنگی در این حرفه دارد و یکی از ابزارهای بسیار کاربردی آن snowflake است که بر روی سرویس دهنده های کلاد اجرا میشود. https://t.me/data_eng_hub

مهندسی داده (Data Engineering) به زبان ساده، فرآیند ساخت و مدیریت زیرساخت‌های داده‌ای است تا داده‌ها را از منابع مختلف جمع‌آو
مهندسی داده (Data Engineering) به زبان ساده، فرآیند ساخت و مدیریت زیرساخت‌های داده‌ای است تا داده‌ها را از منابع مختلف جمع‌آوری، پردازش و به شکل قابل استفاده برای تحلیل و تصمیم‌گیری تبدیل کند. در واقع، مهندسان داده یک پایپ‌لاین داده‌ای (Data Pipeline) طراحی و پیاده‌سازی می‌کنند که شامل مراحل زیر است: 1. استخراج داده (Extract) از منابع مختلف (دیتابیس‌ها، APIها، فایل‌ها و …) 2. تبدیل و پاک‌سازی داده (Transform) شامل پردازش، استانداردسازی، حذف داده‌های نامعتبر و تکمیل داده‌های ناقص 3. بارگذاری داده (Load) در یک پایگاه داده یا انبار داده (Data Warehouse) برای تحلیل و گزارش‌گیری 4. ارائه داده به شکل بینش‌پذیر (Insight) از طریق داشبوردها، گزارش‌ها و مدل‌های تحلیلی در نهایت، هدف مهندسی داده این است که داده‌های خام را به داده‌های ارزشمند و معنادار تبدیل کند که کسب‌وکارها بتوانند از آن برای تصمیم‌گیری بهتر استفاده کنند.

یکی از ابزارهای مفید در مهندسی داده، FastAPI است که یک فریمورک سریع و مدرن برای ساخت APIها در پایتون محسوب می‌شود. در فرآیند مهندسی داده، FastAPI می‌تواند نقش مهمی در ایجاد و مدیریت خدمات داده‌ای (Data Services) ایفا کند. چگونه FastAPI در مهندسی داده مفید است؟ 1. ایجاد API برای دریافت و ارسال داده • می‌توان از FastAPI برای طراحی APIهای RESTful جهت جمع‌آوری و دریافت داده از منابع مختلف استفاده کرد. 2. واسطی بین پایپ‌لاین داده و ابزارهای تحلیل • بعد از پردازش و تمیزکاری داده‌ها، FastAPI می‌تواند یک لایه API فراهم کند که داده‌های پردازش‌شده را در اختیار ابزارهای تحلیل داده و داشبوردها قرار دهد. 3. اتصال به پایگاه‌های داده • FastAPI به‌راحتی با پایگاه‌های داده SQL و NoSQL مانند PostgreSQL، MongoDB، Redis و Snowflake ارتباط برقرار می‌کند و می‌تواند داده‌ها را در آن‌ها ذخیره یا بازیابی کند. 4. مدیریت پردازش داده‌ها به‌صورت بلادرنگ (Real-Time) • در سیستم‌های داده‌ای که نیاز به پردازش آنی دارند (مثل استریم داده از Kafka یا RabbitMQ)، می‌توان از FastAPI برای ایجاد سرویس‌های پردازش لحظه‌ای استفاده کرد. 5. پشتیبانی از پردازش‌های پس‌زمینه و پردازش موازی • با قابلیت‌های async/await، FastAPI می‌تواند درخواست‌های داده‌ای را سریع‌تر پردازش کند و بهینه‌تر عمل کند. نتیجه‌گیری FastAPI یک ابزار ایده‌آل برای ساخت لایه سرویس داده در پایپ‌لاین‌های مهندسی داده است. این فریمورک به کمک سرعت بالا، پشتیبانی از async، و ارتباط آسان با پایگاه‌های داده، می‌تواند داده‌های پردازش‌شده را به شکلی امن و سریع در اختیار تحلیل‌گران و داشبوردهای داده‌ای قرار دهد.

Don't implement FastAPI User management, authentication, authorization or permissions from scratch, use one of these amazing repositories 1. FastApi Users - 2.4k ⭐️ on Github Ready-to-use and customizable users management for FastAPI https://lnkd.in/ezv_a96H Created by: François Voron 2. AuthX - 407 ⭐️ on Github Ready to use and Customizable Authentications and Authorizations Management for FastAPI ⚡️ https://lnkd.in/ep43UbTJ Created by: Yasser Tahiri 3. FastAPI simple security - 154 ⭐️ on Github API-key based security utilities for FastAPI, focused on simplicity of use https://lnkd.in/eRBTn6JT 4. FastAPI Security - 110 ⭐️ on Github Implements authentication and authorization as FastAPI https://lnkd.in/e27BtQQB Created by: Jacob Magnusson 5. FastAPI Permissions - 316 ⭐️ on Github Row level security for FastAPI framework https://lnkd.in/eeuR2Wje 6. FastAPI JWT Auth - 470 ⭐️ on Github FastAPI extension that provides JWT Auth support (secure, easy to use, and lightweight) https://lnkd.in/e9nAEBhX Created by: Nyoman Pradipta Dewantara 7. FastAPI Login - 414 ⭐️ on Github FastAPI-Login tries to provide similar functionality as Flask-Login does. https://lnkd.in/ehGqyxUZ 8. Fastapi Azure Auth - 220 ⭐️ on Github Easy and secure implementation of Azure AD for your FastAPI APIs 🔒 B2C, single- and multi-tenant support. https://lnkd.in/eXYAtaYF Created by: Jonas Krüger Svensson 9. Fastapi Cloudauth - 254 ⭐️ on Github Simple integration between FastAPI and cloud authentication services (AWS Cognito, Auth0, Firebase Authentication). https://lnkd.in/ercemDdH

پیکل یه ماجول برای سریالایز کردن آبجکت ها است اما حواستون باشه چیزی رو که نمیدونید چیه باهاش unpickle نکنید.
پیکل یه ماجول برای سریالایز کردن آبجکت ها است اما حواستون باشه چیزی رو که نمیدونید چیه باهاش unpickle نکنید.

https://datanerd.tech/ ابزارها و زبانهای مورد استفاده در حوزه دیتا در کشورهای مختلف
https://datanerd.tech/ ابزارها و زبانهای مورد استفاده در حوزه دیتا در کشورهای مختلف

اگر قبلا با ruff (لینتر پایتون نوشته شده با زبان راست) محصول ASTRAL کار کردید . همین شرکت یه ابزار مدیریت پکیج به نام UV با ز
اگر قبلا با ruff (لینتر پایتون نوشته شده با زبان راست) محصول ASTRAL کار کردید . همین شرکت یه ابزار مدیریت پکیج به نام UV با زبان راست نوشته که از Poetry هم چندین برابر سریعتره و برای ویندوز، مک و لینوکس قابل نصب است. https://docs.astral.sh/uv/

دنبال یه فونت مناسب برای vscode بودم که رایگان باشه و فونت Ligatures داشته باشه . به این برخورد کردم . https://www.jetbrains.com/lp/mono/#how-to-install

⚡️A new Python-specific guide to Docker just dropped https://docs.docker.com/language/python/containerize/

استفاده متا از FastAPI در agentic system مربوط به مدل هوش مصنوعی Llama
استفاده متا از FastAPI در agentic system مربوط به مدل هوش مصنوعی Llama

نتایج نظر سنجی سال ۲۰۲۴ stack overflow با ظاهری جذاب منتشر شد https://survey.stackoverflow.co/2024/

⚠️ امروز اگه به خاطر اشتباه ارتقا ویندوز بلو اسکرین گرفتید کامپیوتر را در حالت safemode بوت کنید و سپس فولدر زیر را حذف کنید
⚠️ امروز اگه به خاطر اشتباه ارتقا ویندوز بلو اسکرین گرفتید کامپیوتر را در حالت safemode بوت کنید و سپس فولدر زیر را حذف کنید این یک مشکل فنی از سمت شرکت CrowdStrike است . C\Windows\System32\drivers\CrowdStrike

فریم ورک های بک اند با بیشترین استار در گیت هاب
فریم ورک های بک اند با بیشترین استار در گیت هاب

چند تا بازی باحال برای یادگیری SQL - با تشکر از اشکان Let's dive into SQL games for those who wanna learn more These interact
چند تا بازی باحال برای یادگیری SQL - با تشکر از اشکان Let's dive into SQL games for those who wanna learn more These interactive games are a fun and effective way to sharpen your SQL skills. Whether you're a beginner or looking to level up, give these a try: https://lost-at-sql.therobinlord.com/ https://mystery.knightlab.com/ https://sqlpd.com/ https://sql-island.informatik.uni-kl.de/ #SQL

همین سایت زشت ۶۶۰ میلیون دلار درآمد داره .. و با تکنولوژيهای اپن سورس کار میکنه .. مثلا Perl .. دنبال تکنولوژي نباشید ببینید
همین سایت زشت ۶۶۰ میلیون دلار درآمد داره .. و با تکنولوژيهای اپن سورس کار میکنه .. مثلا Perl .. دنبال تکنولوژي نباشید ببینید چی برای بیزنس شما جواب میده 😉 https://www.craigslist.org/about/open_source

اپلیکیشن‌های FastAPI را می‌توان به روش‌های مختلفی اجرا کرد که بستگی به نیازهای شما دارد. بیایید ببینیم که چه زمانی ممکن است از Gunicorn استفاده کنیم و چه زمانی ممکن است نیازی به آن نباشه: FastAPI با Uvicorn Uvicorn: FastAPI برای اجرا با سرورهای ASGI مانند Uvicorn طراحی شده است. Uvicorn یک سرور سریع و سبک است که برای سرویس‌دهی به اپلیکیشن‌های FastAPI عالی است. شما می‌توانید اپلیکیشن‌های FastAPI را مستقیماً با Uvicorn اجرا کنید و این تنظیمات معمولاً برای توسعه و استقرار در مقیاس کوچکتر مناسب است. FastAPI با Gunicorn + Uvicorn Gunicorn: Gunicorn یک pre-fork سرور مدل است که اغلب با اپلیکیشن‌های WSGI استفاده می‌شود. با این حال، می‌توان آن را با اپلیکیشن‌های ASGI، از جمله FastAPI، به عنوان یک مدیریت فرایند استفاده کرد. این اغلب برای مقیاس‌دهی اپلیکیشن‌های FastAPI با مدیریت چندین فرایند ورکر انجام می‌شود. زمان استفاده از Gunicorn: اگر انتظار ترافیک بالا دارید یا نیاز به مقیاس‌دهی با چندین ورکر دارید، استفاده از Gunicorn با ورکرهای Uvicorn ممکن است یک گزینه خوب باشد. این تنظیمات یک سیستم مدیریت فرایند قوی‌تر فراهم می‌کند و می‌تواند همزمانی (concurrency) را افزایش دهد. ⚡️معمولا وقتی قرار است یک سرور داشته باشید و بخواهید چند تا نسخه مختلف به صورت ورکر اجرا کنید از Gunicorn به صورت توکار در کانتاینر استفاده کنید. ⚡️اگر روی کلاسترهای مبتنی بر کوبرنتیز میخواهید دیپلوی کنید به دلیل اینکه کار مدیریت و راه اندازی ورکرها را به خود K8S. دادید احتیاجی به استفاده از ورکرهای توکار نیست مگر اینکه خود اپلیکیشن ذاتا نیازی به ورکر اضافه داشته باشه.

یکی از کاربران سوال پرسیده بود که مگه نمیگند باید موقع دیپلوی FastAPI app از Gunicorn به همراه Uvicorn استفاده بشه ؟ برای سرو
یکی از کاربران سوال پرسیده بود که مگه نمیگند باید موقع دیپلوی FastAPI app از Gunicorn به همراه Uvicorn استفاده بشه ؟ برای سرویسهای مبتنی بر K8S مثل AKS و Azure Container Apps و .. به چه صورته؟ بازم Gunicorn احتیاج است؟ در ادامه توضیح خواهم داد...

خواستم خبر بدم که تو نسخه ۰.۱۱۱.۰ این جینگولی هم از راه رسید .
خواستم خبر بدم که تو نسخه ۰.۱۱۱.۰ این جینگولی هم از راه رسید .