Skip to content

feat: Publish individual drivers to PyPI as micropython-steami-* packages. #340

@nedseb

Description

@nedseb

Description

Publish each driver as a separate PyPI package so developers can `pip install micropython-steami-bme280` into their venv for IDE autocompletion and type checking.

Context

While `mip` (#338) is the primary on-device distribution channel, PyPI is useful for:

  • IDE autocompletion (Pylance, Pyright) without manual stub setup
  • CI/CD pipelines that need to lint or test against driver APIs
  • Discoverability in the broader Python ecosystem

Naming convention

`micropython-steami-` (standard `micropython-` prefix + `steami-` namespace)

Examples: `micropython-steami-bme280`, `micropython-steami-ism330dl`, `micropython-steami-ssd1327`

Tasks

  • Create `lib//pyproject.toml` for each driver with PyPI metadata
  • Add `Programming Language :: Python :: Implementation :: MicroPython` classifier
  • Create PyPI account/organization for the project
  • Add PyPI API token as GitHub Actions secret
  • Add publish job to `.github/workflows/release.yml` that builds and uploads wheels after semantic-release
  • Update version sync (ci: Sync driver versions on release via semantic-release. #339) to include per-driver `pyproject.toml`
  • Test: `pip install micropython-steami-bme280` → `from bme280 import BME280` works

Depends on

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions