Josverl / micropython-stubs

Stubs of most MicroPython ports, boards and versions to make writing code that much simpler.
https://micropython-stubs.readthedocs.io
MIT License
159 stars 22 forks source link

[Feature] Add stubs to pypi #123

Closed mrkeuz closed 2 years ago

mrkeuz commented 3 years ago

According PEP-0561, stubs can be distributed via pip.

It would be good to publish all packages to pip for easy installation. Seems as you have pipeline for generating stubs it is easily to do. Just need to decompose files in right directory structure, generate setup.py/project.toml by template and upload it to pip for all board versions.

Sincerely to all your team! 🚀🚀🚀

Josverl commented 2 years ago

Thanks for the suggestion and the 3 rockets , I have been considering a simpler form of distribution than just git cloning, but was not aware of PEP-561

I'll need to think on this , especially on how to handle the multiple different stubs that apply to a single version and also on where on a file system this would end up.

Could you help by setting up a simple sample project e.g. just distributes a single stub ?

mrkeuz commented 2 years ago

I've prepared sample. esp32-test-stubs in pypi. Tested in PyCharm. Working as expected. Sources here: https://github.com/mrkeuz/esp32-test-stubs.

My vision is during build just create pyproject.toml by template in every board folder. Or maybe create just once.

Naming conventions may contain next parts:

I.e.

Maybe you propose something better. But main idea is able to make pip3 install myboard-stubs and start micropython develop.

Josverl commented 2 years ago

I've used your examples to build a first version but have not yet pushed it to PyPi ( see below) also i'm trying to figure out how this could be used in PyCharm

pip install "git+https://github.com/josverl/micropython-test-stubs.git#egg=micropython-library-test-stubs&subdirectory=stubs/micropython-v1_17-docstubs"
github-actions[bot] commented 2 years ago

Stale issue message