
آموزش ساخت پروژه متن باز با Python
آموزش ساخت پروژه متن باز با Python با عنوان اصلی Create an Open-Source Project in Python یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. در این آموزش با ابزارها و روش های استاندارد برای ایجاد یک پروژه متن باز در Python آشنا می شوید. از مدیریت پروژه و نصب وابستگی ها با Poetry گرفته تا نوشتن تست، بررسی کیفیت کد و خودکارسازی فرایندهای توسعه را به صورت عملی یاد می گیرید. همچنین با استفاده از GitHub Actions می توانید فرایند تست پروژه را در یک Workflow خودکار کنید.
ساخت و مدیریت پروژه Python با Poetry
یکی از اولین قدم ها برای ایجاد یک پروژه استاندارد در Python، انتخاب ابزار مناسب برای مدیریت وابستگی ها و ساختار پروژه است. در این آموزش با Poetry آشنا می شوید و یاد می گیرید چگونه آن را نصب کنید و یک پروژه جدید بسازید. همچنین با فایل pyproject.toml و نقش آن در نگهداری تنظیمات و اطلاعات پروژه آشنا خواهید شد.
مدیریت وابستگی ها بخش مهمی از توسعه نرم افزار است. در این بخش یاد می گیرید چگونه کتابخانه های موردنیاز پروژه را اضافه کنید و با دستورهای Poetry برای نصب وابستگی ها و مدیریت فایل Poetry lock کار کنید. این مهارت ها به شما کمک می کنند محیط توسعه پروژه را به شکلی منظم و قابل تکرار مدیریت کنید.
تست نویسی در Python با pytest
تست نویسی یکی از مهم ترین بخش های توسعه یک پروژه متن باز است. زمانی که کد خود را در اختیار سایر توسعه دهندگان قرار می دهید، باید بتوانید از عملکرد صحیح بخش های مختلف آن اطمینان حاصل کنید. در این آموزش با pytest آشنا می شوید و یاد می گیرید چگونه برای پروژه Python تست های ساده بنویسید و رفتار قسمت های مختلف برنامه را بررسی کنید.

همچنین با قابلیت های کاربردی pytest مانند تست کردن توابع با چندین پارامتر، بررسی وقوع Exception و استفاده از Fixture آشنا خواهید شد. علاوه بر این، نحوه Skip کردن تست ها در شرایط منطقی و با دلایل مشخص را یاد می گیرید. این امکانات به شما کمک می کنند مجموعه تست های منظم تر و قابل نگهداری تری برای پروژه خود ایجاد کنید.
استانداردسازی و بهبود کیفیت کد Python
خوانایی و یکپارچگی کد اهمیت زیادی در پروژه های تیمی و متن باز دارد. وقتی چندین توسعه دهنده روی یک پروژه کار می کنند، رعایت استانداردهای مشترک باعث می شود کدها ساختار منظم تری داشته باشند و بررسی و نگهداری آن ها آسان تر شود. در این بخش با PEP 8 و نقش آن در تعریف استانداردهای نگارش کد Python آشنا می شوید.
در ادامه با ابزار Black برای قالب بندی خودکار کد و Flake8 برای شناسایی مشکلات و رعایت استانداردهای کدنویسی کار می کنید. همچنین یاد می گیرید چگونه از pre-commit استفاده کنید تا برخی از بررسی ها و اصلاحات کد به صورت خودکار پیش از ثبت Commit انجام شوند. این ابزارها به شما کمک می کنند کیفیت و یکپارچگی کد پروژه را حفظ کنید.
اجرای تست های خودکار با tox
یکی از چالش های توسعه نرم افزار، اطمینان از اجرای صحیح تست ها در محیط های مختلف است. ابزار tox این امکان را فراهم می کند که اجرای تست ها و بررسی های پروژه را در محیط های مجزا و با تنظیمات مشخص استانداردسازی کنید. با استفاده از این ابزار می توانید فرایند تست پروژه Python را منظم تر و قابل تکرارتر کنید.

در این بخش با مفهوم tox و نحوه استفاده اولیه از آن آشنا می شوید و سپس قابلیت های پیشرفته تر این ابزار را بررسی می کنید. یاد می گیرید چگونه اجرای تست ها را مدیریت کنید و یک روش یکپارچه برای بررسی وضعیت پروژه داشته باشید. استفاده از tox به ویژه زمانی مفید است که قصد دارید پروژه ای قابل اعتماد و مناسب برای مشارکت توسعه دهندگان دیگر ایجاد کنید.
خودکارسازی فرایند توسعه با GitHub Actions
خودکارسازی وظایف توسعه یکی از روش های مهم برای افزایش اطمینان از کیفیت نرم افزار است. GitHub Actions ابزاری در پلتفرم GitHub است که به شما اجازه می دهد Workflow های خودکار برای پروژه تعریف کنید. در این آموزش با مفهوم GitHub Actions آشنا می شوید و یاد می گیرید چگونه یک Workflow برای اجرای خودکار تست های پروژه راه اندازی کنید.
همچنین با مفهوم Code Coverage و اهمیت آن در ارزیابی میزان پوشش کد توسط تست ها آشنا خواهید شد. در ادامه یاد می گیرید چگونه گزارش Code Coverage را به Workflow پروژه اضافه کنید. به این ترتیب می توانید بخشی از فرایند بررسی کیفیت پروژه را خودکار کنید و هنگام اعمال تغییرات، اطلاعات مفیدی درباره وضعیت تست ها و پوشش کد در اختیار داشته باشید.
بهترین روش ها برای ساخت پروژه متن باز در Python
ساخت یک پروژه متن باز فقط به نوشتن کد محدود نمی شود. برای اینکه توسعه دهندگان دیگر بتوانند به راحتی با پروژه کار کنند و در بهبود آن مشارکت داشته باشند، باید ابزارها و فرایندهای مناسبی برای مدیریت وابستگی ها، تست نویسی، بررسی کیفیت کد و خودکارسازی انتخاب کنید. ترکیب این روش ها به ایجاد پروژه ای منظم تر، قابل نگهداری تر و قابل اعتمادتر کمک می کند.
در پایان این آموزش، با مجموعه ای از ابزارهای کاربردی اکوسیستم Python برای ساخت و مدیریت یک پروژه متن باز آشنا می شوید. می توانید از Poetry برای مدیریت وابستگی ها، pytest و tox برای تست، Black و Flake8 برای بهبود کیفیت کد و GitHub Actions برای خودکارسازی Workflow استفاده کنید. این آموزش برای توسعه دهندگانی مناسب است که می خواهند علاوه بر برنامه نویسی، با شیوه های استاندارد آماده سازی و نگهداری پروژه های Python نیز آشنا شوند.
سرفصل مطالب آموزش ویدئویی ساخت پروژه متن باز با Python
فصل اول: مقدمه
- ایجاد یک پروژه متن باز با Python
- پیش نیازهای موردنیاز
فصل دوم: شروع یک پروژه با Poetry
- Poetry چیست؟
- نصب Poetry
- ایجاد یک پروژه
- فایل pyproject.toml چیست؟
- اضافه کردن وابستگی ها
- قفل کردن وابستگی ها و نصب آن ها با Poetry
- مرور مطالب تا این مرحله
فصل سوم: تقویت تست ها
- pytest چیست؟
- آشنایی با پروژه
- نوشتن تست های ساده
- تست کردن با چندین پارامتر
- بررسی وقوع Exception
- Fixture چیست؟
- استفاده از Fixture
- رد کردن تست با دلایل منطقی
- مرور مطالب تا این مرحله
فصل چهارم: مرتب سازی و بهبود کد
- PEP 8 چیست؟
- Black چیست؟
- قالب بندی کد با Black
- Linter چیست؟
- بررسی کد با Flake8
- استفاده از pre-commit برای پاک سازی خودکار کد
- مرور مطالب تا این مرحله
فصل پنجم: استانداردسازی تست ها با استفاده از tox
- tox چیست؟
- استفاده مقدماتی از tox
- استفاده پیشرفته از tox
- مرور مطالب تا این مرحله
فصل ششم: راه اندازی Workflow در GitHub Actions
- GitHub Actions چیست؟
- راه اندازی یک Workflow برای اجرای تست ها
- چرا به Code Coverage نیاز دارید؟
- اضافه کردن Code Coverage به Workflow
فصل هفتم: جمع بندی
- ایجاد پروژه متن باز با رعایت اصول صحیح توسعه







