Pandas یکی از مهمترین ابزارهای Python برای کار جدی با داده است؛ مخصوصاً وقتی با فایلهای CSV، Excel، دیتابیسها یا دیتاهای جدولی سروکار داری 📊
با Pandas میتوانی:
• دیتاستهای بزرگ را سریع فیلتر و مرتب کنی
• ستونها را اضافه/حذف و تبدیل نوع انجام بدهی
• روی گروهها آمار بگیری (groupby)
• بهراحتی با NumPy و ابزارهای ML مثل scikit-learn ترکیبش کنی
نمونه استفادهٔ ساده:
برای تحلیل لاگها، دیتای مالی، گزارشهای سیستمی یا آمادهسازی دیتا برای مدلهای ML، Pandas معمولاً اولین انتخاب است.
مستندات رسمی:
Docs
GitHub
امتحانش کن روی یک CSV واقعی از پروژهات و کمکم دیتای خام را به insight تبدیل کن 🔍
🔖 #Python #پایتون #Python #Pandas #Data_Analysis #DataFrame #تحلیل_داده #پایتون
👤 Developix
💎 Channel: @DevelopixPython
با Pandas میتوانی:
• دیتاستهای بزرگ را سریع فیلتر و مرتب کنی
• ستونها را اضافه/حذف و تبدیل نوع انجام بدهی
• روی گروهها آمار بگیری (groupby)
• بهراحتی با NumPy و ابزارهای ML مثل scikit-learn ترکیبش کنی
نمونه استفادهٔ ساده:
pip install pandas
import pandas as pd
# خواندن فایل CSV
df = pd.read_csv("data.csv")
# انتخاب سطرهایی که مقدار ستون "age" >= 18 است
adults = df[df["age"] >= 18]
# میانگین سن
mean_age = adults["age"].mean()
print(mean_age)
برای تحلیل لاگها، دیتای مالی، گزارشهای سیستمی یا آمادهسازی دیتا برای مدلهای ML، Pandas معمولاً اولین انتخاب است.
مستندات رسمی:
Docs
GitHub
امتحانش کن روی یک CSV واقعی از پروژهات و کمکم دیتای خام را به insight تبدیل کن 🔍
🔖 #Python #پایتون #Python #Pandas #Data_Analysis #DataFrame #تحلیل_داده #پایتون
👤 Developix
💎 Channel: @DevelopixPython
❤9
💠 نسخه جدید کتابخانه python-telegram-bot منتشر شده است
🔸 ارتقا از نسخه 22.7.0 به 22.8.0
💎 @DevelopixPython
🔸 ارتقا از نسخه 22.7.0 به 22.8.0
💎 @DevelopixPython
❤4
💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است
🔸 ارتقا از نسخه 3.28.2 به 3.29.0
🔖 #Aiogram, #bot, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 3.28.2 به 3.29.0
🔖 #Aiogram, #bot, #python, #release
💎 @DevelopixPython
🔥3
💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.136.3 به 0.137.0
🔹 لیست تغییرات این نسخه:
- تغییر داخلیِ سازگارکننده APIRouter/APIRoute برای حفظ نمونهها
- امکان افزودن روتها پس از include_router بدون کپی شدن مسیرها
- پشتیبانی مقدماتی از APIRouter/APIRoute سفارشی (ویژگی آزمایشی)
- بهروزرسانی مستندات و راهنمای استقرار FastAPI Cloud
- بهروزرسانی ترجمههای مستندات به چندین زبان
- بهروزرسانی وابستگیها، حامیان و تنظیمات داخلی و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 0.136.3 به 0.137.0
🔹 لیست تغییرات این نسخه:
- تغییر داخلیِ سازگارکننده APIRouter/APIRoute برای حفظ نمونهها
- امکان افزودن روتها پس از include_router بدون کپی شدن مسیرها
- پشتیبانی مقدماتی از APIRouter/APIRoute سفارشی (ویژگی آزمایشی)
- بهروزرسانی مستندات و راهنمای استقرار FastAPI Cloud
- بهروزرسانی ترجمههای مستندات به چندین زبان
- بهروزرسانی وابستگیها، حامیان و تنظیمات داخلی و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
❤3👍2
Forwarded from Developix Support
This media is not supported in your browser
VIEW IN TELEGRAM
🏆آفرهای جام جهانی ۲۰۲۶ هاستایران فعال شد!
با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن:
🔥 ۲۵٪ تخفیف روی پلنهای ۳ ماهه هاست اشتراکی ایران
⚡ ۵۰٪ تخفیف روی پلنهای یکماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز
🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاستایران
فرصت استفاده از تخفیفها و ثبت فرم مشاوره محدود است.
📌 برای کپی کدهای تخفیف و ثبتنام در فرم مشاوره، روی لینک زیر کلیک کنید:
📌صفحه فرم مشاوره
📌تلگرام هاستایران
📌بله هاستایران
#هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026
با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن:
🔥 ۲۵٪ تخفیف روی پلنهای ۳ ماهه هاست اشتراکی ایران
⚡ ۵۰٪ تخفیف روی پلنهای یکماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز
🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاستایران
فرصت استفاده از تخفیفها و ثبت فرم مشاوره محدود است.
📌 برای کپی کدهای تخفیف و ثبتنام در فرم مشاوره، روی لینک زیر کلیک کنید:
📌صفحه فرم مشاوره
📌تلگرام هاستایران
📌بله هاستایران
#هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026
💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.137.2 به 0.138.0
🔹 لیست تغییرات این نسخه:
- افزودن پشتیبانی از
- بهروزرسانی و بهبود مستندات (تایپو، لینکها و دستورالعملها)
- فعال شدن ترجمه مستندات به زبان هندی
- بهبود تستها و پایدارسازی فرایند انتشار، و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 0.137.2 به 0.138.0
🔹 لیست تغییرات این نسخه:
- افزودن پشتیبانی از
app.frontend() و router.frontend()- بهروزرسانی و بهبود مستندات (تایپو، لینکها و دستورالعملها)
- فعال شدن ترجمه مستندات به زبان هندی
- بهبود تستها و پایدارسازی فرایند انتشار، و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
👍2
در کد اول، برای پردازش یک فایل بزرگ کل محتوا با
در مثال بالا به جای بارگذاری یکجای کل فایل، میتوانید با الگوی generator و حلقه روی file object، مصرف مموری را بهصورت چشمگیر کاهش دهید و در سناریوهای پردازش فایلهای چندصد مگابایتی یا لاگفایلهای بسیار بزرگ، هم مقیاسپذیری برنامه را بهتر کنید و هم سرعت شروع پردازش را افزایش دهید.
اگر در پروژههای Python با دادههای حجیم (مثلاً log processing، ETL ساده یا پردازش دیتاهای متنی) سروکار دارید، استفاده از این الگو بهجای روش eager loading میتواند تفاوت جدی در performance و پایداری برنامهتان ایجاد کند.
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
read().splitlines() یکباره در مموری لود شده است. این کار هم ریسک Memory Error را بالا میبرد و هم برای فایلهای خیلی بزرگ باعث افت شدید کارایی میشود. در کد دوم با استفاده از یک generator و iteration تنبل (lazy) هر خط بهصورت stream خوانده میشود و فقط همان لحظه در مموری قرار میگیرد.در مثال بالا به جای بارگذاری یکجای کل فایل، میتوانید با الگوی generator و حلقه روی file object، مصرف مموری را بهصورت چشمگیر کاهش دهید و در سناریوهای پردازش فایلهای چندصد مگابایتی یا لاگفایلهای بسیار بزرگ، هم مقیاسپذیری برنامه را بهتر کنید و هم سرعت شروع پردازش را افزایش دهید.
اگر در پروژههای Python با دادههای حجیم (مثلاً log processing، ETL ساده یا پردازش دیتاهای متنی) سروکار دارید، استفاده از این الگو بهجای روش eager loading میتواند تفاوت جدی در performance و پایداری برنامهتان ایجاد کند.
🔖 #Python #پایتون
👤 Developix
💎 Channel: @DevelopixPython
❤5👍4🔥1
💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.138.1 به 0.139.0
🔹 لیست تغییرات این نسخه:
- پشتیبانی از
- بهروزرسانی ترجمههای چندزبانه مستندات
- بهروزرسانی فهرست متخصصان و مشارکتکنندگان FastAPI
- بهبود تنظیمات مخزنها و موضوعات GitHub
- بهروزرسانی وابستگیها و GitHub Actions
- سایر ریزبهبودهای داخلی و ترجمهها و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 0.138.1 به 0.139.0
🔹 لیست تغییرات این نسخه:
- پشتیبانی از
dependencies در app.frontend()- بهروزرسانی ترجمههای چندزبانه مستندات
- بهروزرسانی فهرست متخصصان و مشارکتکنندگان FastAPI
- بهبود تنظیمات مخزنها و موضوعات GitHub
- بهروزرسانی وابستگیها و GitHub Actions
- سایر ریزبهبودهای داخلی و ترجمهها و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
👍3
چرا متود copy همیشه کپی واقعی نمیسازه؟
یکی از باگهایی که حتی برنامهنویسهای با تجربه هم گاهی باهاش روبهرو میشن، تفاوت بین Copy و Deep Copy هست
فرض کنید این لیست رو داریم:
data = [
["Yasin", "Ali"],
["Math", "Science"]
]
حالا ازش کپی میگیریم:
new_data = data.copy()
خیلیها فکر میکنن new_data کاملاً مستقل از data شده اما اینطور نیست
اگر این کار رو انجام بدیم:
new_data[0].append("Sina")
نتیجه:
print(data)
# خروجی 👇🏻
# [['Yasin', 'Ali', 'Sina'], ['Math', 'Science']]
چرا لیست اصلی هم تغییر کرد؟
چون copy() فقط لیست بیرونی رو کپی میکنه، ولی عناصر داخلش همچنان به همون آبجکتهای قبلی اشاره میکنن.
به این میگن Shallow Copy
-——————————————--
🎈اما راه حل؟
وقتی ساختارهای تو در تو دارید با از از deepcopy استفاده کنید
from copy import deepcopy
new_data = deepcopy(data)
حالا هر تغییری روی new_data بدید روی data اثری نداره
🔴 نکته مهم 🔴
اگر دادههای شما تو در تو نیستند، copy کاملاً کافی و سریعتره
اما اگر با لیست، دیکشنری یا آبجکتهای تو در تو کار میکنید استفاده اشتباه از copy میتونه باگ ایجاد کنه که وقتتون گرفته بشه
🔖 #Python #پایتون
👤 BʟᴀᴄᴋCᴀᴛ
💎 Channel: @DevelopixPython
یکی از باگهایی که حتی برنامهنویسهای با تجربه هم گاهی باهاش روبهرو میشن، تفاوت بین Copy و Deep Copy هست
فرض کنید این لیست رو داریم:
data = [
["Yasin", "Ali"],
["Math", "Science"]
]
حالا ازش کپی میگیریم:
new_data = data.copy()
خیلیها فکر میکنن new_data کاملاً مستقل از data شده اما اینطور نیست
اگر این کار رو انجام بدیم:
new_data[0].append("Sina")
نتیجه:
print(data)
# خروجی 👇🏻
# [['Yasin', 'Ali', 'Sina'], ['Math', 'Science']]
چرا لیست اصلی هم تغییر کرد؟
چون copy() فقط لیست بیرونی رو کپی میکنه، ولی عناصر داخلش همچنان به همون آبجکتهای قبلی اشاره میکنن.
به این میگن Shallow Copy
-——————————————--
🎈اما راه حل؟
وقتی ساختارهای تو در تو دارید با از از deepcopy استفاده کنید
from copy import deepcopy
new_data = deepcopy(data)
حالا هر تغییری روی new_data بدید روی data اثری نداره
🔴 نکته مهم 🔴
اگر دادههای شما تو در تو نیستند، copy کاملاً کافی و سریعتره
اما اگر با لیست، دیکشنری یا آبجکتهای تو در تو کار میکنید استفاده اشتباه از copy میتونه باگ ایجاد کنه که وقتتون گرفته بشه
🔖 #Python #پایتون
👤 BʟᴀᴄᴋCᴀᴛ
💎 Channel: @DevelopixPython
👍9❤3🔥1
خیلی وقتها پوشه Downloads شبیه یک انباری شلوغ میشود؛ pdf، عکس، zip، هر چیزی قاطی هم 😅
امروز یک اسکریپت واقعی و ساده با Python میسازیم که فایلها را بر اساس نوع، به پوشههای جدا منتقل کند.
ایده از این آموزش الهام گرفته شده:
Real Python - Working With Files in Python
🧠 ایده کلی
Python برای کار با فایلها و مسیرها کتابخانههای خیلی خوبی دارد، مخصوصاً
کاری که میکنیم:
- پوشه Downloads را مانیتور نمیکنیم، فقط هر بار اسکریپت را اجرا کنیم
- بر اساس پسوند فایل (مثلاً .pdf یا .jpg) تصمیم میگیریم کجا برود
- اگر پوشه مقصد وجود نداشت، خودمان میسازیم
این مدل اسکریپتها برای مرتب نگهداشتن سیستم شخصی یا سیستمهای روی سرور خیلی کاربردی است.
🛠 کتابخانههای مورد نیاز
همه چیز با کتابخانههای استاندارد Python انجام میشود:
-
-
-
📦 کد نمونه: مرتبسازی فایلها بر اساس پسوند
این یک مثال ساده و عملی است. مسیر
نکات کوچک اما مهم ✨
- قبل از اجرا، یکبار روی یک پوشه تستی امتحان شود تا مطمئن شوید مپ پسوندها را درست تعریف کردهاید.
- میتوانید
- اگر با Windows کار میکنید و مسیر Downloads فرق دارد، از
چطور حرفهایترش کنیم؟
- اضافه کردن
- ساختن یک CLI ساده با کتابخانه
- زمانبندی اجرای اسکریپت (مثلاً با Task Scheduler روی Windows یا cron روی Linux).
اگر پوشه Downloads شما همیشه شلوغ است، این اسکریپت یک نجاتدهنده کوچک است 😄
امتحانش کنید و اگر دوست داشتید، با بقیه توسعهدهندگان پایتون هم به اشتراک بگذارید.
🔖 #Python #پایتون #Python #Automation #Files #pathlib #shutil #Scripting
👤 Developix
💎 Channel: @DevelopixPython
امروز یک اسکریپت واقعی و ساده با Python میسازیم که فایلها را بر اساس نوع، به پوشههای جدا منتقل کند.
ایده از این آموزش الهام گرفته شده:
Real Python - Working With Files in Python
🧠 ایده کلی
Python برای کار با فایلها و مسیرها کتابخانههای خیلی خوبی دارد، مخصوصاً
pathlib و shutil.کاری که میکنیم:
- پوشه Downloads را مانیتور نمیکنیم، فقط هر بار اسکریپت را اجرا کنیم
- بر اساس پسوند فایل (مثلاً .pdf یا .jpg) تصمیم میگیریم کجا برود
- اگر پوشه مقصد وجود نداشت، خودمان میسازیم
این مدل اسکریپتها برای مرتب نگهداشتن سیستم شخصی یا سیستمهای روی سرور خیلی کاربردی است.
🛠 کتابخانههای مورد نیاز
همه چیز با کتابخانههای استاندارد Python انجام میشود:
-
pathlib برای کار راحتتر با مسیرها-
shutil برای جابجا کردن فایلها-
os اگر خواستیم تنظیمات خاصتری انجام بدهیم (اینجا خیلی کم استفاده میشود)📦 کد نمونه: مرتبسازی فایلها بر اساس پسوند
این یک مثال ساده و عملی است. مسیر
DOWNLOADS_PATH را با مسیر سیستم خودتان عوض کنید 👇from pathlib import Path
import shutil
# مسیر پوشه Downloads را مطابق سیستم خود تنظیم کنید
DOWNLOADS_PATH = Path.home() / "Downloads"
# مپ کردن پسوندها به پوشههای هدف
EXTENSION_MAP = {
".pdf": "PDFs",
".jpg": "Images",
".jpeg": "Images",
".png": "Images",
".zip": "Archives",
".rar": "Archives",
".mp4": "Videos",
".mp3": "Music",
}
for item in DOWNLOADS_PATH.iterdir():
if item.is_file():
ext = item.suffix.lower()
if ext in EXTENSION_MAP:
target_dir = DOWNLOADS_PATH / EXTENSION_MAP[ext]
target_dir.mkdir(exist_ok=True)
target_path = target_dir / item.name
# اگر فایلی با همین نام هست، نام را کمی عوض میکنیم
if target_path.exists():
target_path = target_dir / f"{item.stem}_copy{ext}"
shutil.move(str(item), str(target_path))
نکات کوچک اما مهم ✨
- قبل از اجرا، یکبار روی یک پوشه تستی امتحان شود تا مطمئن شوید مپ پسوندها را درست تعریف کردهاید.
- میتوانید
EXTENSION_MAP را مطابق نیاز خود بزرگتر کنید (مثلاً برای فایلهای .pptx، .csv و غیره).- اگر با Windows کار میکنید و مسیر Downloads فرق دارد، از
print(Path.home()) استفاده کنید تا مسیر خانه کاربر را ببینید.چطور حرفهایترش کنیم؟
- اضافه کردن
logging برای لاگ کردن کارهایی که روی فایلها انجام میشود.- ساختن یک CLI ساده با کتابخانه
argparse تا بشود مسیر را از طریق command line داد.- زمانبندی اجرای اسکریپت (مثلاً با Task Scheduler روی Windows یا cron روی Linux).
اگر پوشه Downloads شما همیشه شلوغ است، این اسکریپت یک نجاتدهنده کوچک است 😄
امتحانش کنید و اگر دوست داشتید، با بقیه توسعهدهندگان پایتون هم به اشتراک بگذارید.
🔖 #Python #پایتون #Python #Automation #Files #pathlib #shutil #Scripting
👤 Developix
💎 Channel: @DevelopixPython
👍5❤4
💠 نسخه جدید محیط توسعه Pycharm منتشر شده است
🔸 ارتقا از نسخه 2026.1.4 به 2026.2
🔖 #pycharm, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 2026.1.4 به 2026.2
🔖 #pycharm, #python, #release
💎 @DevelopixPython
👍1
Forwarded from Developix Support
با Migration Boost هاستایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀
با خرید اولین سرور ابری غیرساعتی از **هاستایران**، بسته ترافیک هدیه مهاجرت بهصورت خودکار برای سرویس شما فعال میشود:
✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
✅ ترافیک آپلود رایگان
✅ بدون محدودیت زمانی
سرور ابری هاستایران را راهاندازی کنید و بکاپها، فایلها و پایگاه داده خود را بدون دغدغه هزینههای پنهان ترافیک منتقل کنید.
👇 مشاهده پلنهای سرور ابری هاستایران
hostiran.club/Migration
hostiran.club/Migration
با خرید اولین سرور ابری غیرساعتی از **هاستایران**، بسته ترافیک هدیه مهاجرت بهصورت خودکار برای سرویس شما فعال میشود:
✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
✅ ترافیک آپلود رایگان
✅ بدون محدودیت زمانی
سرور ابری هاستایران را راهاندازی کنید و بکاپها، فایلها و پایگاه داده خود را بدون دغدغه هزینههای پنهان ترافیک منتقل کنید.
👇 مشاهده پلنهای سرور ابری هاستایران
hostiran.club/Migration
hostiran.club/Migration
💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.139.2 به 0.140.0
🔹 لیست تغییرات این نسخه:
- بهینهسازی مصرف حافظه در مدیریت وابستگیها
- افزودن مستندات جدید «Library Skills»
- بهروزرسانی مستندات برای استفاده پیشفرض از uv projects
- بازسازی ساختار صفحات «FastAPI People» و حامیان
- بهبود زیرساخت CI با افزودن بنچمارک حافظه و بهروزرسانی حامیان و …
🔖 #fastapi, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 0.139.2 به 0.140.0
🔹 لیست تغییرات این نسخه:
- بهینهسازی مصرف حافظه در مدیریت وابستگیها
- افزودن مستندات جدید «Library Skills»
- بهروزرسانی مستندات برای استفاده پیشفرض از uv projects
- بازسازی ساختار صفحات «FastAPI People» و حامیان
- بهبود زیرساخت CI با افزودن بنچمارک حافظه و بهروزرسانی حامیان و …
🔖 #fastapi, #python, #release
💎 @DevelopixPython
❤2
🐞 دیباگ سریع با تابع داخلی
وقتی یک باگ سمج وسط کد ظاهر میشود، بهجای پرینت گرفتنهای پشتسرهم، استفاده از
کافی است هرجا نیاز به توقف و بررسی وضعیت متغیرها بود، یک
داخل debugger میشود متغیرها را چاپ کرد، روی کد قدمبهقدم رفت، و سریع منطق مشکلدار را پیدا کرد. بعد از رفع مشکل، فقط همان خط
🔗 مرجع رسمی Python: docs.python.org
🔖 #Python #پایتون #Python #debugging #breakpoint #pdb #best_practices
👤 Developix
💎 Channel: @DevelopixPython
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
❤6👍1
💠 نسخه جدید کتابخانه FastAPI منتشر شده است
🔸 ارتقا از نسخه 0.140.13 به 0.141.0
🔹 لیست تغییرات این نسخه:
- ✨ افزودن
- و بهبودهای جزئی دیگر، و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 0.140.13 به 0.141.0
🔹 لیست تغییرات این نسخه:
- ✨ افزودن
app.frontend(check_dir="auto") برای توسعهٔ سادهتر با fastapi dev- و بهبودهای جزئی دیگر، و غیره
🔖 #fastapi, #python, #release
💎 @DevelopixPython
💠 نسخه جدید فریمورک جنگو (Django) منتشر شده است
🔸 ارتقا از نسخه 6.0.8 به 6.1.0
🔹 لیست تغییرات این نسخه:
- رفع باگ امنیتی شدید در lookupهای مکانی
- جلوگیری از DoS در check_for_language
- محدود کردن عمق مجموعههای هندسی تودرتو
- ایمنسازی لینکهای URLField در ادمین
- رفع کرش bulk_create روی برخی دیتابیسها
- بهروزرسانی سازگاری با sqlparse 0.5.5 و موارد دیگر
🔖 #django, #python, #release
💎 @DevelopixPython
🔸 ارتقا از نسخه 6.0.8 به 6.1.0
🔹 لیست تغییرات این نسخه:
- رفع باگ امنیتی شدید در lookupهای مکانی
- جلوگیری از DoS در check_for_language
- محدود کردن عمق مجموعههای هندسی تودرتو
- ایمنسازی لینکهای URLField در ادمین
- رفع کرش bulk_create روی برخی دیتابیسها
- بهروزرسانی سازگاری با sqlparse 0.5.5 و موارد دیگر
🔖 #django, #python, #release
💎 @DevelopixPython
👍2
مدیریت درست resource مثل فایل، connection دیتابیس یا lock، کلی باگ و Memory Leak بالقوه را حذف میکند. پایتون برای این کار Context Manager دارد که با کلمهٔ کلیدی
سادهترین مثال، کار با فایل است؛ بدون نیاز به
بعد از تمام شدن بلاک، فایل بهصورت خودکار بسته میشود؛ حتی اگر exception رخ بدهد. 👌
برای resourceهای خودت هم میشود Context Manager ساخت. راحتترین راه در پروژههای کوچیک، استفاده از
حالا هرجا لازم بود، فقط:
این الگو، کد را خواناتر، امنتر و تستپذیرتر میکند. دفعهٔ بعد که نیاز به setup/cleanup داشتی، به یک Context Manager کوچک فکر کن. ✨
🔗 رفرنس: Python docs - contextlib
🔖 #Python #پایتون #Python #context_manager #with #contextlib #best_practices #resources
👤 Developix
💎 Channel: @DevelopixPython
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
🔥 پروژه: DSPy فریمورک برنامهنویسی LLM
DSPy یه فریمورک پایتونی از آزمایشگاه NLP استنفورده که کمک میکند با LLMها برنامهنویسی کنی، نه Prompt نویسی دستی 🤖
بهجای حفظ Promptها، ماژولهای سطحبالا تعریف میکنی (مثلاً برای Question Answering، RAG یا Summarization) و DSPy خودش Prompt و Hyperparameterها را روی دادهات Optimize میکند.
برای ساخت Pipelineهای پایدار روی GPT و مدلهای متنباز، گزینهٔ خیلی جدیایه. سورسکد و مثالها:
DSPy در گیتهاب
⭐️ 519 stars this week
🔖 #Python #پایتون #پایتون #یادگیری_ماشین #پردازش_زبان_طبیعی
DSPy یه فریمورک پایتونی از آزمایشگاه NLP استنفورده که کمک میکند با LLMها برنامهنویسی کنی، نه Prompt نویسی دستی 🤖
بهجای حفظ Promptها، ماژولهای سطحبالا تعریف میکنی (مثلاً برای Question Answering، RAG یا Summarization) و DSPy خودش Prompt و Hyperparameterها را روی دادهات Optimize میکند.
برای ساخت Pipelineهای پایدار روی GPT و مدلهای متنباز، گزینهٔ خیلی جدیایه. سورسکد و مثالها:
DSPy در گیتهاب
⭐️ 519 stars this week
🔖 #Python #پایتون #پایتون #یادگیری_ماشین #پردازش_زبان_طبیعی