| کانال توسعه‌دهندگان پایتون |
7.62K subscribers
76 photos
3 videos
4 files
68 links
⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
💠 نسخه جدید محیط توسعه Pycharm منتشر شده است

🔸 ارتقا از نسخه 2026.1.4 به 2026.2

🔖 #pycharm, #python, #release

💎 @DevelopixPython
👍2
Forwarded from Developix Support
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀

با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت به‌صورت خودکار برای سرویس شما فعال می‌شود:

✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
✅ ترافیک آپلود رایگان
✅ بدون محدودیت زمانی

سرور ابری هاست‌ایران را راه‌اندازی کنید و بکاپ‌ها، فایل‌ها و پایگاه داده خود را بدون دغدغه هزینه‌های پنهان ترافیک منتقل کنید.

👇 مشاهده پلن‌های سرور ابری هاست‌ایران
hostiran.club/Migration
hostiran.club/Migration
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.139.2 به 0.140.0

🔹 لیست تغییرات این نسخه:
- بهینه‌سازی مصرف حافظه در مدیریت وابستگی‌ها
- افزودن مستندات جدید «Library Skills»
- به‌روزرسانی مستندات برای استفاده پیش‌فرض از uv projects
- بازسازی ساختار صفحات «FastAPI People» و حامیان
- بهبود زیرساخت CI با افزودن بنچمارک حافظه و به‌روزرسانی حامیان و …

🔖 #fastapi, #python, #release

💎 @DevelopixPython
❤2
🐞 دیباگ سریع با تابع داخلی breakpoint()

وقتی یک باگ سمج وسط کد ظاهر می‌شود، به‌جای پرینت گرفتن‌های پشت‌سرهم، استفاده از breakpoint() خیلی تمیزتر و سریع‌تر است. از Python 3.7 به بعد این تابع داخل خود زبان هست و نیازی به import جداگانه ندارد.

کافی است هرجا نیاز به توقف و بررسی وضعیت متغیرها بود، یک breakpoint() بگذارید تا برنامه همان‌جا متوقف شود و وارد interactive debugger (پیش‌فرض: pdb) شوید.

def process_items(items):
total = 0
for i, item in enumerate(items):
if item < 0:
breakpoint() # اینجا وضعیت را چک کن
total += item
return total

result = process_items([1, 2, -3, 4])
print(result)


داخل debugger می‌شود متغیرها را چاپ کرد، روی کد قدم‌به‌قدم رفت، و سریع منطق مشکل‌دار را پیدا کرد. بعد از رفع مشکل، فقط همان خط breakpoint() را حذف یا comment کن.

🔗 مرجع رسمی Python: docs.python.org

🔖 #Python #پایتون #Python #debugging #breakpoint #pdb #best_practices

👤 Developix

💎 Channel: @DevelopixPython
❤8👍1
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.140.13 به 0.141.0

🔹 لیست تغییرات این نسخه:
- ✨ افزودن app.frontend(check_dir="auto") برای توسعهٔ ساده‌تر با fastapi dev
- و بهبودهای جزئی دیگر، و غیره

🔖 #fastapi, #python, #release

💎 @DevelopixPython
👍1
💠 نسخه جدید فریمورک جنگو (Django) منتشر شده است

🔸 ارتقا از نسخه 6.0.8 به 6.1.0

🔹 لیست تغییرات این نسخه:
- رفع باگ امنیتی شدید در lookupهای مکانی
- جلوگیری از DoS در check_for_language
- محدود کردن عمق مجموعه‌های هندسی تودرتو
- ایمن‌سازی لینک‌های URLField در ادمین
- رفع کرش bulk_create روی برخی دیتابیس‌ها
- به‌روزرسانی سازگاری با sqlparse 0.5.5 و موارد دیگر

🔖 #django, #python, #release

💎 @DevelopixPython
👍4
مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را حذف می‌کند. پایتون برای این کار Context Manager دارد که با کلمهٔ کلیدی with استفاده می‌شود. 😌

ساده‌ترین مثال، کار با فایل است؛ بدون نیاز به close() یادت نرود:
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()

بعد از تمام شدن بلاک، فایل به‌صورت خودکار بسته می‌شود؛ حتی اگر exception رخ بدهد. 👌

برای resourceهای خودت هم می‌شود Context Manager ساخت. راحت‌ترین راه در پروژه‌های کوچیک، استفاده از contextlib.contextmanager است:
from contextlib import contextmanager

@contextmanager
def temp_change_dir(path):
import os
old = os.getcwd()
os.chdir(path)
try:
yield
finally:
os.chdir(old)

حالا هرجا لازم بود، فقط:
with temp_change_dir("/tmp"):
# کدهای وابسته به مسیر جدید
...

این الگو، کد را خواناتر، امن‌تر و تست‌پذیرتر می‌کند. دفعهٔ بعد که نیاز به setup/cleanup داشتی، به یک Context Manager کوچک فکر کن. ✨

🔗 رفرنس: Python docs - contextlib

🔖 #Python #پایتون #Python #context_manager #with #contextlib #best_practices #resources

👤 Developix

💎 Channel: @DevelopixPython
👍3❤1
🔥 پروژه: ‏DSPy فریم‌ورک برنامه‌نویسی LLM

DSPy یه فریم‌ورک پایتونی از آزمایشگاه NLP استنفورده که کمک می‌کند با LLMها برنامه‌نویسی کنی، نه Prompt نویسی دستی 🤖

به‌جای حفظ Promptها، ماژول‌های سطح‌بالا تعریف می‌کنی (مثلاً برای Question Answering، RAG یا Summarization) و DSPy خودش Prompt و Hyperparameterها را روی داده‌ات Optimize می‌کند.

برای ساخت Pipelineهای پایدار روی GPT و مدل‌های متن‌باز، گزینهٔ خیلی جدی‌ایه. سورس‌کد و مثال‌ها:
DSPy در گیت‌هاب

⭐️ 519 stars this week

🔖 #Python #پایتون #پایتون #یادگیری_ماشین #پردازش_زبان_طبیعی
❤1
خیلی وقت‌ها با باگ‌های عجیب روبه‌رو می‌شویم که فقط به خاطر یک فاصلهٔ اضافی یا خط‌جدید ته رشته است؛ مخصوصاً وقتی ورودی از فایل، API یا فرم می‌آید. این‌جا استفادهٔ درست از متدهای خانوادهٔ strip واقعاً نجات‌دهنده است. ✨

نکتهٔ اصلی: همیشه قبل از مقایسه یا ذخیرهٔ رشته، آن را تمیز کن؛ ولی حواست باشد چه کاراکتری را پاک می‌کنی.

raw = "  ok\n"

# تمیزکردن امن برای فضاهای خالی عمومی
clean = raw.strip() # "ok"

# فقط حذف خط‌جدید، نگه‌داشتن فاصله‌های وسط
line = "value 42\n"
line = line.rstrip("\n") # "value 42"

# پاک‌کردن prefix یا suffix خاص
url = "https://example.com/"
url = url.rstrip("/") # "https://example.com"


چند عادت خوب ✅
- روی دادهٔ ساختاریافته (مثل کدها، شناسه‌ها، توکن‌ها) قبل از ذخیره همیشه strip انجام بده.
- برای حذف فقط کاراکترهای مشخص، آرگومان بده و بی‌گدار strip خالی استفاده نکن.

برای جزئیات بیشتر:
مستندات رسمی str.strip

🔖 #Python #پایتون #Python #string #strip #clean_input #tips

👤 Developix

💎 Channel: @DevelopixPython
👍11❤5
🔥 پروژه: مهارت‌های تحقیق آکادمیک با Claude Code

اگر برای پروژه‌های پایتونی مقاله، مستندات یا RFC می‌نویسی، این ریپو خیلی به‌درد می‌خورد 📚

پروژه academic research skills یک مجموعه راهنما و prompt آماده برای کار با مدل Claude Code است که کل چرخه تحقیق آکادمیک را پوشش می‌دهد: research → write → review → revise → finalize.

برای نوشتن READMEهای جدی، گزارش‌ فنی یا پروپوزال پژوهشی می‌شود از این الگوها استفاده کرد. سر فرصت ساختارها و مثال‌ها را در ریپو ببین:
لینک پروژه

⭐️ 2,293 stars this week

🔖 #Python #پایتون #پایتون #توسعه‌دهندگان_پایتون #ابزارهای_توسعه

💎 @DevelopixPython
❤1👍1
آرگومان پیش‌فرض لیست؛ باگ خفن ولی بی‌سر‌و‌صدا 😅

خیلی‌ها (حتی حرفه‌ای‌ها) یه زمانی این سوتی رو تو پایتون دادن: استفاده از list یا هر آبجکت قابل‌تغییر دیگه به‌عنوان آرگومان پیش‌فرض.

تو کد اول، لیست فقط یک‌بار ساخته می‌شه و بین همهٔ صدا زدن‌های تابع به‌اشتراک گذاشته می‌شه؛ واسه همین هر بار که تابع رو صدا می‌زنی، خروجی قبلی توش مونده و باگ‌های عجیبی می‌گیری.

تو کد دوم، به‌جاش از None به‌عنوان پیش‌فرض استفاده شده و داخل تابع هر بار یه لیست تازه ساخته می‌شه. این الگوی درست و امنه و از Memory Leakهای منطقی و رفتارهای غیرقابل‌پیش‌بینی جلوگیری می‌کنه.

هر وقت خواستی آرگومان پیش‌فرض قابل‌تغییر بذاری، یادت بیاد این ترفند None رو استفاده کنی 😉


🔖 #Python #پایتون

👤 Developix

💎 Channel: @DevelopixPython
👍10❤6
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.141.1 به 0.142.2

🔖 #fastapi, #python, #release

💎 @DevelopixPython
👍6
تلاش دوباره با Tenacity، بدون حلقه‌های دستی

وقتی یک سرویس موقتاً در دسترس نیست، شکست اولین درخواست نباید پایان کار باشد. کتابخانه Tenacity منطق retry را برای پایتون ساده می‌کند؛ بدون نوشتن حلقه و شمارنده در هر تابع.

‏🔧 می‌توانی تعداد تلاش‌ها، فاصلهٔ بین آن‌ها و نوع خطای قابل تکرار را مشخص کنی. از توابع async هم پشتیبانی می‌کند.

نصب با pip install tenacity و یک نمونه:

from urllib.request import urlopen
from urllib.error import URLError
from tenacity import retry, stop_after_attempt
from tenacity import wait_exponential, retry_if_exception_type

@retry(
stop=stop_after_attempt(3),
wait=wait_exponential(min=1, max=8),
retry=retry_if_exception_type(URLError),
reraise=True,
)
def fetch():
with urlopen("https://www.python.org", timeout=5) as r:
return r.status


نکته: عملیات پرداخت را بدون تضمین idempotency تکرار نکن؛ ممکن است دوباره اجرا شود.

مستندات رسمی

روی یک درخواست خواندنی امتحانش کن 🌱

🔖 #Python #پایتون #Python #Tenacity #retry

👤 Developix

💎 Channel: @DevelopixPython
👍2
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.142.4 به 0.143.0

🔖 #fastapi, #python, #release

💎 @DevelopixPython
مستندات پایتون به زبان فارسی روی وب‌سایت خود پایتون منتشر شد!

https://docs.python.org/fa/3.14/

پروژه حالا روی گیت‌هاب و سایت خود پایتون قرار گرفته و می‌تونید از طریق اون به ترجمه و توسعه‌ی مستندات کمک کنید.

https://github.com/python/python-docs-fa

همچنین فارسی اولین زبان راست‌به‌چپیه که به مستندات پایتون اضافه شده. برای همین، یه سری مشارکت‌های تکنیکال هم لازم بود [و همچنان هست] تا قالب و صفحات مستندات از زبان‌های راست‌به‌چپ پشتیبانی کنن. فونت «وزیرمتن» رو هم به نسخه‌ی فارسی اضافه کردیم.

این اتفاق رو مدیون زحمات سپهر، invincible و باقی مشارکت‌کننده‌های پروژه هستیم و ممنونیم از همه‌ی دوستانی که توی این مدت برای ترجمه، بازبینی و توسعه‌ی پروژه وقت گذاشتن.

🔖 #Python #پایتون

👤 Sepehr

💎 Channel: @DevelopixPython
❤16👍2
💠 نسخه جدید زبان پایتون (Python) منتشر شده است

🔸 ارتقا از نسخه 3.14.8 به 3.15.0

🔹 لیست تغییرات این نسخه:
- تغییر رمزگذاری پیش‌فرض به UTF-8.
- افزودن lazy imports برای شروع سریع‌تر.
- افزودن نوع‌های داخلی sentinel و frozendict.
- پشتیبانی از Unpacking در comprehensionها.
- بهبود چشمگیر عملکرد کامپایلر آزمایشی JIT.
- افزودن پروفایلر آماری Tachyon و دیگر بهبودها.

🔖 #python, #python, #chat, #release

💎 @DevelopixPython
❤7
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.144.0 به 0.147.0

🔹 لیست تغییرات این نسخه:
- تفسیر فیلدهای بولی ارسال‌نشدهٔ فرم به‌عنوان False.
- منسوخ‌شدن پارامتر root_path در FastAPI.
- حذف پارامترهای openapi_prefix و extra از FastAPI.

🔖 #fastapi, #python, #release

💎 @DevelopixPython
🔥1
💠 نسخه جدید کتابخانه FastAPI منتشر شده است

🔸 ارتقا از نسخه 0.147.0 به 0.151.0

🔹 لیست تغییرات این نسخه:
- تفکیک null از مقدار ارسال‌نشده در بدنهٔ JSON
- اعمال پیش‌فرض‌های بدنه فقط برای مقادیر ارسال‌نشده
- درنظرگرفتن ورودی فایل انتخاب‌نشده به‌عنوان مقدار ارسال‌نشده
- درنظرگرفتن مقادیر متنی خالی فرم به‌عنوان ارسال‌نشده
- توقف اعتبارسنجی خودکار پیش‌فرض‌های پارامترهای درخواست
- اجرای یک‌بارهٔ default factory برای پارامترهای درخواست

🔖 #fastapi, #python, #release

💎 @DevelopixPython
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🎊 پکیج‌های پرطرفدار UltraGPT

🎁با پکیج‌های ۶۰ روزه‌ UltraGPT به ۳۳ مدل هوش مصنوعی از طریق API دسترسی داشته باشید و در بسته‌های مشمول، دو برابر اعتبار بیشتر دریافت کنید!

✨ امکانات:
✅ استفاده از مدل‌ها در Claude Code، Codex و نرم‌افزارهای محبوب دیگر
✅ امکان دریافت بونس با همراهی و استفاده از سرویس
✅ امکان تست رایگان پیش از خرید

⌛ نمونه‌ای از مدل‌های موجود:

🤖
Fable 5.1
claude-opus-5.5
claude-sonnet-5.5

🤖
gemini-3.8-flash

🤖
gpt-6.1-sol
gpt-6-astra

🤖
grok-4.7

و مدل‌های دیگر…

🎁 برای تست سرویس و دریافت API رایگان ۲ دلاری، به پشتیبانی پیام دهید.( امکان تست تمام نسخه ها)

⚙️ مشاهده‌ی جزئیات و پکیج‌ها

ا🔤 پشتیبانی و فروش: @UltraGPT_SU

⏺الترا جی پی تی فارسی را دنبال کنید :
@UltraGPTiran
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1