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.0.tar.gz (49.2 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.0-py3-none-any.whl (58.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyglaze-1.0.0.tar.gz
  • Upload date:
  • Size: 49.2 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.0.tar.gz
Algorithm Hash digest
SHA256 c6e0734febb0ccbe6fcc5e64617bc7d70fb23cee7e663be3cbabaae203610198
MD5 7ca3468277105e881cae198c963a94d8
BLAKE2b-256 60211e3f6685cdcb0384db026ce474a4b98eebb27e78505e9adfd6b78916eea0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyglaze-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 58.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2417da7eef27f31629a5cd6b197d54743ff80992e15ad5d934c351af9a20a51e
MD5 99c933ca8eee61000d756dfecc28e5a5
BLAKE2b-256 d0c9cdfb3cc1b2b7b24c0e181ade0d8209d5403405af50120d51fc27b4db53cd

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