Gabor_Guta_Pragmatic_Python_Programming_Learning_Python_the_Smart.pdf
3.3 MB
Gabor Guta - Pragmatic Python Programming_ Learning Python the Smart Way-Apress (2022).pdf
@raspberry_python
@raspberry_python
👍1
👍1
Object Detection and Instance Segmentation in Python with Detectron2
https://stackabuse.com/object-detection-and-instance-segmentation-in-python-with-detectron2/
@raspberry_python
https://stackabuse.com/object-detection-and-instance-segmentation-in-python-with-detectron2/
@raspberry_python
👍3
📊 Making plots in your terminal with plotext
https://pybit.es/articles/terminal-plotting-with-plotext/
@raspberry_python
https://pybit.es/articles/terminal-plotting-with-plotext/
@raspberry_python
👍3
سرویس ابری هروکو، که پلن رایگان اون توسط خیلی از برنامهنویسها استفاده میشد گفته که از تاریخ ۷ اذر امسال سرویسهای رایگان رو تعطیل میکنه.
به عنوان جایگزین میتونین از این سرویسها استفاده کنید:
🔵 Fly.io
🔵 Render.com
@raspberry_python
به عنوان جایگزین میتونین از این سرویسها استفاده کنید:
🔵 Fly.io
🔵 Render.com
@raspberry_python
👍4🔥2
✔️ سوال: best practiceها و ابزارات مورد نیاز برای توسعه یه بسته، لایبرری یا نرمافزار پایتونی چیه؟
ابزارهای زیادی واسه اینکارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:
Dependency Management System
برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از
همچنین
1. آشنایی و شروع به کار با Poetry
https://realpython.com/dependency-management-python-poetry/
2. جزیات عمیق درباره هر قابلیت و نحوه استفاده
https://python-poetry.org/docs
3. نحوه انتشار یک package پایتونی در PyPI به کمک Poetry
https://johnfraney.ca/blog/create-publish-python-package-poetry/
Linting & Type Checking
برای
اگر عادت دارید کدهای خودتون رو
1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html
2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html
Code Formatting
برای مرتب و
1. داکیومنت isort
https://pycqa.github.io/isort/
2. داکیومنت Black
https://black.readthedocs.io/en/stable/getting_started.html
3. یک ویدیو از PyCon 2019 درباره Black
https://youtu.be/esZLCuWs_2Y
* این ابزارها همگی داکیومنت ساده و خوانایی دارن و به نظرم بهترین منبع همین داکیومنتهاشون هست.
Testing
دو کتابخونه
1. یک مقاله جامع درباره تست نویسی، انواع آن و روشهای مورد استفاده در پایتون
https://realpython.com/python-testing/
2. ویدیو درباره unittest در پایتون
https://m.youtube.com/watch?v=FxSsnHeWQBY
https://www.youtube.com/watch?v=6tNS--WetLI
* همچنین اگر از
وبسایت pre commit:
https://pre-commit.com/
✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python
ابزارهای زیادی واسه اینکارا وجود داره که بر اساس تجربه و چیزی که از 80 درصد پروژه های معروف و بزرگ دیدم، سعی میکنم بهتریناش رو معرفی کنم:
Dependency Management System
برای مدیریت وابستگی های یک پروژه بزرگ (یا نسبتا بزرگ)، پیشنهاد میکنم از
Poetry استفاده کنید، چون ابزار بسیار قدرتمندی هست، کار باهاش بسیار راحته (خیلی شبیه به Cargo در زبان Rust هست)، کامیونیتی بزرگی داره، به راحتی محیط dev و prod رو میتونید مدیریت کنید، مستندات بسیار خوب و روانی داره، در سریع ترین زمان ممکن میتونید پروژه رو در PyPI منتشر کنید و همچنین پروژههای معروفی از جمله Rich (کتابخونهای که خود pip هم ازش برای رنگی کردن progress barها استفاده میکنه) از اون استفاده میکنن، که همین نشون میده چقدر کاربردی هست.همچنین
build و run هم توسط Poetry انجام میشه!- منابع آموزشی:1. آشنایی و شروع به کار با Poetry
https://realpython.com/dependency-management-python-poetry/
2. جزیات عمیق درباره هر قابلیت و نحوه استفاده
https://python-poetry.org/docs
3. نحوه انتشار یک package پایتونی در PyPI به کمک Poetry
https://johnfraney.ca/blog/create-publish-python-package-poetry/
Linting & Type Checking
برای
Linting ابزارهای flake8 و pylint از معروف ترینها هستن، هر یک رو میتونید شدت سخت گیریشون رو تنظیم کنید، به راحتی همراه با Poetry تنظیماتشون در یک فایل قرار میگیره و نیاز به نگه داشتن فایلهای متفاوت برای هر کدوم ندارید. به نظرم خود flake8 به تنهایی نیازتون رو برطرف میکنه. اگر از PyCharm استفاده کنید یک Linter به صورت Built-in در اختیارتون میذاره که خوبه و کارتون رو راه میندازه.اگر عادت دارید کدهای خودتون رو
Annotate کنید و زیاد از Type Hint ها استفاده میکنید، استفاده از MyPy به عنوان یک static type checker به شما کمک میکنه ایرادات موجود در کلاس ها، توابع و ... رو پیدا کنید و بتونید typeهای دقیق تری استفاده کنید. همچنین ابزار Pyright که توسط مایکروسافت توسعه داده میشه، در VSCode به صورت integrated با افزونه Pylance کار میکنه و اگر از VSCode استفاده میکنید پیشنهاد میکنم حتما افزونه Pylance رو نصب کنید. PyCharm هم یک Type Checker داره ولی هنوز توانمندی Pylance و MyPy رو نداره.- منابع آموزشی:1. داکیومنت Flake8
https://flake8.pycqa.org/en/latest/user/invocation.html
2. داکیومنت MyPy
https://mypy.readthedocs.io/en/stable/getting_started.html
Code Formatting
برای مرتب و
organize کردن importها از isort استفاده کنید، هم به صورت CLI در دسترس هست و هم یک API داره که میتونید در کد پایتون استفاده کنید. یک code formatter بسیار معروف که در اکثر پروژهها استفاده میشه Black هست، زیر نظر PSF (یا Python Software Foundation) و برنامه نویسای با تجربه و کار کشته ای همچون آقای Łukasz Langa (ریلیس منیجر پایتون 3.9) توسعه داده میشه، با دیگر ابزار ها مثل isort سازگار هست، با PEP8 سازگاره و کلی قابلیت مزیت دیگه داره که حقیقتا اینجا جا نمیشن :)- منابع آموزشی:1. داکیومنت isort
https://pycqa.github.io/isort/
2. داکیومنت Black
https://black.readthedocs.io/en/stable/getting_started.html
3. یک ویدیو از PyCon 2019 درباره Black
https://youtu.be/esZLCuWs_2Y
* این ابزارها همگی داکیومنت ساده و خوانایی دارن و به نظرم بهترین منبع همین داکیومنتهاشون هست.
Testing
دو کتابخونه
Pytest و unittest (در stdlib موجود هست) در تست نویسی پروژه ها استفاده میشن، برای تست کردن پروژه در environmentهای متفاوت از ابزار tox استفاده میشه و باهاش میتونید در نسخه های متفاوتی از پایتون کدتون رو تست کنید.- منابع آموزشی:1. یک مقاله جامع درباره تست نویسی، انواع آن و روشهای مورد استفاده در پایتون
https://realpython.com/python-testing/
2. ویدیو درباره unittest در پایتون
- آقای ned batchelder:https://m.youtube.com/watch?v=FxSsnHeWQBY
- آقای Corey Schafer:https://www.youtube.com/watch?v=6tNS--WetLI
* همچنین اگر از
Git در پروژه خودتون استفاده میکنید، پیشنهاد میکنم از pre-commit حتما استفاده کنید و تمام این ابزارهای گفته شده رو automate کنید تا در هربار commit کردن، قبل از اینکه commit انجام بشه، این ابزارها روی کدتون اجرا بشن و اگر اشکالی در کدتون وجود داره پیدا بشه و اون رو برطرف کنید و دوباره commit کنید.وبسایت pre commit:
https://pre-commit.com/
✒️ @Pygrammer
〰️〰️〰️〰️〰️〰️〰️
©️@raspberry_python
👍5🔥3
Get Complete Roadmap Here 👉👉https://copyassignment.com/complete-python-roadmap-for-beginners-in-2022/
@raspberry_python
@raspberry_python
👍4
Forwarded from Advanced AI
بارگذاری دادههای حجیم در پایتون با استفاده از کتابخانه Vaex
#هوش_مصنوعی
#یادگیری_ماشین
#یادگیری_عمیق
#پردازش_تصویر
#Artificial_Intelligence
#Machine_Learning
#Deep_learning
#Image_processing
👇🏻عضویت در کانال: 👇🏻
Link: https://t.iss.one/Adv_AI
ID: @Adv_AI
#هوش_مصنوعی
#یادگیری_ماشین
#یادگیری_عمیق
#پردازش_تصویر
#Artificial_Intelligence
#Machine_Learning
#Deep_learning
#Image_processing
👇🏻عضویت در کانال: 👇🏻
Link: https://t.iss.one/Adv_AI
ID: @Adv_AI
Telegram
Advanced AI
کانال Advnaced AI:
کانالی برای علاقهمندان هوش مصنوعی
رویکردهای اصلی کانال:
📘📖ارائه بهروزترین کتابها و مقالات
🎥📝ارائه ویدئوها و لینکهای آموزشی
👨💻💵استخدامی و فرصتهای شغلی
🧠🕺🏻ایدهها و دستاوردها
کانالی برای علاقهمندان هوش مصنوعی
رویکردهای اصلی کانال:
📘📖ارائه بهروزترین کتابها و مقالات
🎥📝ارائه ویدئوها و لینکهای آموزشی
👨💻💵استخدامی و فرصتهای شغلی
🧠🕺🏻ایدهها و دستاوردها
👍2