✔️ سوال: 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
Get Complete Roadmap Here 👉👉https://copyassignment.com/complete-python-roadmap-for-beginners-in-2022/
@raspberry_python
@raspberry_python
Forwarded from Advanced AI
بارگذاری دادههای حجیم در پایتون با استفاده از کتابخانه Vaex
#هوش_مصنوعی
#یادگیری_ماشین
#یادگیری_عمیق
#پردازش_تصویر
#Artificial_Intelligence
#Machine_Learning
#Deep_learning
#Image_processing
👇🏻عضویت در کانال: 👇🏻
Link: https://t.me/Adv_AI
ID: @Adv_AI
#هوش_مصنوعی
#یادگیری_ماشین
#یادگیری_عمیق
#پردازش_تصویر
#Artificial_Intelligence
#Machine_Learning
#Deep_learning
#Image_processing
👇🏻عضویت در کانال: 👇🏻
Link: https://t.me/Adv_AI
ID: @Adv_AI
Telegram
Advanced AI
کانال Advnaced AI:
کانالی برای علاقهمندان هوش مصنوعی
رویکردهای اصلی کانال:
📘📖ارائه بهروزترین کتابها و مقالات
🎥📝ارائه ویدئوها و لینکهای آموزشی
👨💻💵استخدامی و فرصتهای شغلی
🧠🕺🏻ایدهها و دستاوردها
کانالی برای علاقهمندان هوش مصنوعی
رویکردهای اصلی کانال:
📘📖ارائه بهروزترین کتابها و مقالات
🎥📝ارائه ویدئوها و لینکهای آموزشی
👨💻💵استخدامی و فرصتهای شغلی
🧠🕺🏻ایدهها و دستاوردها
Forwarded from Persian python
سلام دوستان وقتتون بخیر
ویدیو پلی لیست آموزش Pyqt6 QML آپلود شد
قسمت 40
موضوع : آموزش MenuBar - SpinBox - Slider - ScrollView
امیدوارم که مفید بوده باشه
میتونین از این لینک تماشا کنید
فایل های این ویدیو در گیت هاب:
https://github.com/persianpython/Pyqt6
ویدیو پلی لیست آموزش Pyqt6 QML آپلود شد
قسمت 40
موضوع : آموزش MenuBar - SpinBox - Slider - ScrollView
امیدوارم که مفید بوده باشه
میتونین از این لینک تماشا کنید
فایل های این ویدیو در گیت هاب:
https://github.com/persianpython/Pyqt6
YouTube
قسمت چهلم آموزش Pyqt6 ( QML : MenuBar - SpinBox - Slider - ScrollView )
سلام به کانال یوتیوبی پرشین پایتون خوش آمدید
PyQt که در اينجا به اختصار پاي کيوت صداش مي کنم ابزاري هست براي استفاده از Qt در پايتون. Qt فريم ورکي براي ايجاد رابط گرافيکي (GUI) است که توسط شرکت نوکيا براي بکار گيري در محصولات نرم افزاري اين شرکت چه براي…
PyQt که در اينجا به اختصار پاي کيوت صداش مي کنم ابزاري هست براي استفاده از Qt در پايتون. Qt فريم ورکي براي ايجاد رابط گرافيکي (GUI) است که توسط شرکت نوکيا براي بکار گيري در محصولات نرم افزاري اين شرکت چه براي…
نظرسنجی!
Python Software Foundation و
Packaging Working Group و
Python Packaging Authority
یک نظرسنجی رو ترتیب دادن و از جامعه پایتون خواستن که نظرشون رو راجع به package کردن نرمافزارهای پایتونی ارائه کنن
اگه میخواید این مسئله بهتر و سادهتر بشه این نظرسنجی رو پر کنید (با فیلترشکن باید برید)
https://www.surveymonkey.co.uk/r/NMG6NJM
#M4hdi
〰〰〰〰〰〰〰〰
©@raspberry_python
Python Software Foundation و
Packaging Working Group و
Python Packaging Authority
یک نظرسنجی رو ترتیب دادن و از جامعه پایتون خواستن که نظرشون رو راجع به package کردن نرمافزارهای پایتونی ارائه کنن
اگه میخواید این مسئله بهتر و سادهتر بشه این نظرسنجی رو پر کنید (با فیلترشکن باید برید)
https://www.surveymonkey.co.uk/r/NMG6NJM
#M4hdi
〰〰〰〰〰〰〰〰
©@raspberry_python
www.surveymonkey.co.uk
Free Online Survey Software by SurveyMonkey: Closed Survey
This survey is currently closed. Please contact the author of this survey for further assistance.
Forwarded from Məhdi
سلام
اول از همه این که عذر میخواهم پیام به ظاهر نامرتبط میفرستم.
لطفا اگر شما صاحب کسبوکار یا شرکت هستید و یا افرادی را میشناسید که این ویژگی را دارند در تکمیل پرسشنامه زیر من را یاری کنید و خودتان به آن جواب بدهید یا آن را به افراد مرتبط ارسال نمایید.
این پرسشنامه مربوط به پژوهشی است که هدف آن بررسی مولفههای عدم پذیرش درخواست وام کسبوکارها از سوی بانک است.
از این که در این کار علمی همکاری میکنید خیلی متشکرم.
https://survey.porsline.ir/s/WMpvbwsm
اول از همه این که عذر میخواهم پیام به ظاهر نامرتبط میفرستم.
لطفا اگر شما صاحب کسبوکار یا شرکت هستید و یا افرادی را میشناسید که این ویژگی را دارند در تکمیل پرسشنامه زیر من را یاری کنید و خودتان به آن جواب بدهید یا آن را به افراد مرتبط ارسال نمایید.
این پرسشنامه مربوط به پژوهشی است که هدف آن بررسی مولفههای عدم پذیرش درخواست وام کسبوکارها از سوی بانک است.
از این که در این کار علمی همکاری میکنید خیلی متشکرم.
https://survey.porsline.ir/s/WMpvbwsm
Porsline
تحلیل مولفههای سهمیهبندی اعتباری
با پُرسلاین به راحتی پرسشنامه خود را طراحی و ارسال کنید و با گزارشهای لحظهای آن به سرعت تصمیم بگیرید.