Skip to main content

Pyglaze is a library used to operate the devices of Glaze Technologies

Project description

Pyglaze

Pyglaze is a python library used to operate the devices of Glaze Technologies.

Documentation can be found here.

Installation

To install the latest version of the package, simply run

pip install pyglaze

Usage

See our documentation for usage.

pyglaze expects device firmware that reports MimLink operational_state and config_status_reason. Devices that omit those fields are unsupported.

Firmware Updates

Pyglaze supports firmware updates over MimLink via FirmwareUpdater.

Note: pyglaze expects a pre-signed MCUboot image and does not sign firmware itself.

Developers

To install the API with development tools, first clone the repository from our public GitHub repository. Then, from the root of the project, run

uv sync --extra dev --group security --frozen

Run commands through uv run so they use the locked environment:

uv run --frozen pytest
uv run --frozen ruff check .
uv run --group security --frozen pip-audit --strict

Documentation - local build

To build and serve the documentation locally

  1. Checkout the repository (or a specific version)
  2. Run uv sync --extra docs --frozen
  3. Run uv run --frozen mkdocs serve while standing in the project root.

MimLink protocol schema sync

Most developers do not need this. The generated envelope_pb2.py is committed to the repository. This section is only relevant when syncing envelope.proto from the upstream MimLink repo.

pyglaze vendors the MimLink protobuf schema in src/pyglaze/mimlink/proto/envelope.proto. Python codegen is handled by buf, which must be installed separately (e.g. brew install bufbuild/buf/buf). Code generation uses buf remote plugins (pinned in buf.gen.yaml), so no local protoc install is required.

When syncing with upstream MimLink:

  1. Replace src/pyglaze/mimlink/proto/envelope.proto from upstream.
  2. Run ./scripts/generate_mimlink_proto.sh.
  3. Commit the updated envelope_pb2.py.
  4. Run protocol tests: uv run pytest tests/mimlink/.

Bug reporting or feature requests

Please create an issue here and we will look at it ASAP!

Project details


Download files

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

Source Distribution

pyglaze-1.0.2.tar.gz (49.3 kB view details)

Uploaded Source

Built Distribution

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

pyglaze-1.0.2-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file pyglaze-1.0.2.tar.gz.

File metadata

  • Download URL: pyglaze-1.0.2.tar.gz
  • Upload date:
  • Size: 49.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for pyglaze-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0fa5654ac9282f77cc0a171074c9c429c6e5d8381fdd81444920778ca9c659f2
MD5 6e3a81d6e1a306abbacd3ac8656ccf72
BLAKE2b-256 bfb5b2f3bf909bd3730bd6a4b0697467010f0ad0034f0e944438f793a1b9fa8e

See more details on using hashes here.

File details

Details for the file pyglaze-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pyglaze-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 58.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for pyglaze-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dd43353cc97795a5c79dbb7b0bc807b4b3d9479f3a83b9b14c82667801f3b3be
MD5 739b874f533d9db0812926846ccc26c4
BLAKE2b-256 9aeb8daf802990a329b52e943a7616bed93c2bf9da7bb31a1f9bc59a342cbae1

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