مشروع قالب حزمة Micropython PYPI مع نشر تلقائي
قالب حزمة micropython pypi مع اختبار ونشر عمل github
أحدث وثائق متوفرة في قالب حزمة Micropython REATTHEDOCS
يجب تثبيت Python3 على نظامك. تحقق من إصدار Python الحالي مع الأمر التالي
python --version
python3 --version اعتمادًا على أي أمر يتم إرجاع Python 3.xy (مع xy كبعض الأرقام) ، استخدم هذا الأمر للمتابعة.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtقم بتوصيل جهاز micropython بالشبكة (إن أمكن)
import network
station = network . WLAN ( network . STA_IF )
station . active ( True )
station . connect ( 'SSID' , 'PASSWORD' )
station . isconnected ()قم بتثبيت أحدث إصدار من الحزمة من هذا lib على جهاز micropython
import mip
mip . install ( "github:brainelectronics/micropython-package-template" ) لإصدارات micropython أقل من 1.19.1 استخدم حزمة upip بدلاً من mip
import upip
upip . install ( 'micropython-package-template' )قم بتثبيت إصدار محدد ومتسابق من هذا lib على جهاز micropython
import mip
# install a verions of a specific branch
mip . install ( "github:brainelectronics/micropython-package-template" , version = "feature/initial-implementation" )
# install a tag version
mip . install ( "github:brainelectronics/micropython-package-template" , version = "0.6.0" ) بالنسبة لإصدارات micropython أقل من 1.19.1 استخدم حزمة upip بدلاً من mip . مع upip دائمًا ، سيتم تثبيت أحدث إصدار متاح.
import upip
upip . install ( 'micropython-package-template' )قم بتثبيت إصدار مرشح محدد تم تحميله لاختبار فهرس Python Package على كل PR على جهاز Micropython. إذا لم يتم تعيين إصدار محدد ، فسيتم استخدام أحدث إصدار مستقر.
import mip
mip . install ( "github:brainelectronics/micropython-package-template" , version = "0.6.0-rc9.dev13" ) بالنسبة لإصدارات micropython أقل من 1.19.1 استخدم حزمة upip بدلاً من mip . مع upip دائمًا ، سيتم تثبيت أحدث إصدار متاح.
import upip
# overwrite index_urls to only take artifacts from test.pypi.org
upip . index_urls = [ 'https://test.pypi.org/pypi' ]
upip . install ( 'micropython-package-template' )انظر أيضًا BrainElectronics Test Server في Docker للاختبار خادم PYPI الذي يعمل على Docker.
انسخ الوحدة النمطية إلى لوحة micropython واستيرادها كما هو موضح أدناه باستخدام Micropython Shell البعيد
افتح القشرة البعيدة مع الأمر التالي. بالإضافة إلى ذلك ، استخدم -b 115200 في حالة عدم استخدام CP210X ولكن CH34x.
rshell --port /dev/tty.SLAB_USBtoUART --editor nano قم بتنفيذ الأمر التالي داخل rshell لنسخ جميع الملفات والمجلدات إلى الجهاز
mkdir /pyboard/lib
mkdir /pyboard/lib/be_upy_blink
cp be_upy_blink/ * /pyboard/lib/be_upy_blink
cp examples/main.py /pyboard
cp examples/boot.py /pyboard from be_upy_blink import flash_led
from machine import Pin
led_pin = Pin ( 4 , Pin . OUT )
flash_led ( pin = led_pin , amount = 3 )
# flash_led(pin=led_pin, amount=3, on_time=1, off_time=3) قم بتثبيت حزمة Python المطلوبة مع الأمر التالي في بيئة افتراضية لتجنب أي تعارض مع حزم أخرى مثبتة على نظامك المحلي.
python3 -m venv .venv
source .venv/bin/activate
pip install twine تتجاوز هذه الوحدة أمر Distutils (متوافق أيضًا مع STUPTOOLS) sdist لأداء معالجة ما قبل وبعد المعالجة كما هو مطلوب لمدير حزمة UPIP في Micropython. هذا البرنامج النصي مأخوذ من PFALCON'S PICOWEB ويتم تحديثه ليكون PEP8 مطابقًا.
python setup.py sdist سيتم إنشاء dist جديد. سيتم استخدام sdist_upip لإنشاء كل ما هو ضروري.
كن على دراية: pypi.org و test.pypi.org مختلفة
لا يمكنك تسجيل الدخول إلى test.pypi.org مع حساب pypi.org إلا إذا قمت بإنشاء نفسه على الآخر. انظر صفحة مساعدة المصادقة غير صالحة للاختبار pypi
لأغراض الاختبار إضافة --repository testpypi لتحميله على test.pypi.org
twine upload dist/micropython-package-template- * .tar.gz -u PYPI_USERNAME -p PYPI_PASSWORDقم بتشغيل الاختبارات المحلية مع الأمر التالي بعد تثبيت هذه الحزمة في بيئة افتراضية
# create a report directory where all generated report files are placed
python create_report_dirs.py # run all tests
nose2 --config tests/unittest.cfg
# run only one specific tests
nose2 tests.test_blink.TestBlink.test_flash_ledإنشاء ملفات التغطية مع
coverage html يتم وضع تقرير التغطية في reports/coverage/html/index.html
من أجل استخدام هذا القالب للحصول على حزمة micropython جديدة إلى الخطوات التالية ، يجب إجراء التغييرات في هذه الملفات التي يتم إجراؤها
| ملف | التغييرات | مزيد من التفاصيل |
|---|---|---|
.coveragerc | ملف المسار إلى ملف version.py | حذف ملف الإصدار من التغطية |
.coveragerc | مسار include المجلد | قم بتضمين مجلد الحزمة للتغطية |
.github/workflows/release.yml | ملف المسار إلى ملف version.py | استخدم ملف إصدار الحزمة لتعيين الإصدار القائم على Changelog |
.github/workflows/test-release.yml | ملف المسار إلى ملف version.py | استخدم ملف إصدار الحزمة لتعيين الإصدار القائم على Changelog |
.github/workflows/test.yml | ملف المسار إلى ملف version.py | استخدم ملف إصدار الحزمة لتعيين الإصدار القائم على Changelog |
.pre-commit-config.yaml | ملف المسار إلى ملف version.py | استخدم ملف إصدار الحزمة للتحقق من صحة أحدث إصدار من changelog |
README.md | روابط في قسم الرأس وتعليمات التثبيت | |
changelog.md | تنظيف changelog من معلومات القالب | استمر في استخدام Semver |
docs/DOCUMENTATION.md | kink إلى readthedocs | |
docs/conf.py | قائمة project النمطية التي يجب أن تسخر منها ، واستيراد الحزمة ، linkcheck_ignore إلى version.py author | |
docs/index.rst | اسم رأس وحدات متضمنة | استبدل be_upy_blink بملف .rst جديد من الحزمة الجديدة |
docs/NEW_MODULE_NAME.rst | قم بإنشاء ملف .rst جديد باسم الحزمة | استخدم docs/be_upy_blink.rst كقالب |
package.json | الملفات والمسارات إلى حزمة جديدة وربط | تستخدم من قبل mip |
setup.py | url name version.py description author author_email keywords project_urls packages install_requires | تستخدم لإنشاء الحزمة ومعلوماتها المنشورة في EG Pypi |
بناءً على مشروع عينة PYPA.