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-py3-none-any.whl (166.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for micropython_stdlib_stubs-1.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 372070e64b5aadf106d6c11d27e47e9d5d1e157914c740d0ee1d27ee2e34276a
MD5 0bb100ba3bfcb897a784c5499253fa2b
BLAKE2b-256 9dc97b2b826822db66ee35582fd219379a45c4b3aaa2ac1d3f99e2a87f146cf5

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