Skip to main content

Micropython stdlib is a reduced and augmented copy of typeshed's stdlib for use by MicroPython stub packages

Project description

micropython-stdlib-stubs

A limited size copy of typesheds stdlib directory. https://github.com/python/typeshed/tree/main/stdlib

This is used as a dependency in the micropython-*-stub packages to allow overriding of some of the stdlib modules with MicroPython specific implementations.

MicroPython specific updates to:

  • collections

If you have suggestions or find any issues with the stubs, please report them in the MicroPython-stubs Discussions

For an overview of Micropython Stubs please see: https://micropython-stubs.readthedocs.io/en/main/

Building

This is a short description of the steps taken to create or update the stubs for the micropython-stdlib-stubs distribution. this package is built using uv build and published using uv publish.

There are two possible reasons to rebuild

  1. Rebuild in order to update from the reference-stubs or ducument-stubs. This will use the same typeshed stubs, and infuse or enrich them with new information from MicroPython.
  2. Rebuild in order to update to a newer version of theof the typeshedrepo.for this you will need to manually advance the typeset repo to a newer version. Perhaps the newest versionand then rerun the update script it might be that due to the changes in the base 5 stubs that you'll need to make updates to the updatescript in order to accommodate for that.

Steps

  • clone the typeshed repository

    cd repos
    git clone https://github.com/python/typeshed.git
    cd typeshed
    git checkout <commit-hash>
    
  • update the version in pyproject toml to the new version ( .postnn)

  • from the publish/micropython-stdlib-stubs directory

    • run python build.py
  • update and publish the micropython-stdlib-stubs package

    uv publish
    
  • commit the changes to the micropython-stdlib-stubs repository

asyncio notes

asyncio

  • no _asyncio.pyi stubs to avoid conflict with stdlib re-use

  • Generators are not values - but are always callables, or coroutines so rewrite open_connection: Generator ## = <generator> to async def open_connection () -> Callable[..., Awaitable[Tuple[StreamReader, StreamWriter]]] or similar

Publish to PyPi

Publish using uv publish.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

micropython_stdlib_stubs-1.27.0.post2-py3-none-any.whl (147.6 kB view details)

Uploaded Python 3

File details

Details for the file micropython_stdlib_stubs-1.27.0.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for micropython_stdlib_stubs-1.27.0.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 a1d22c3a5c12b2fdf4c70025c01abdc203d5fe3872b5881206c031e0206a65c5
MD5 ced0a70dd991c47794737a00d9e9d888
BLAKE2b-256 958e54d09adb07b72bfcc0f55762baaf46a90827eff6d1a26361bf631c7a9039

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page