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.
- Guide: Firmware Updates
- API:
pyglaze.device.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
- Checkout the repository (or a specific version)
- Run
uv sync --extra docs --frozen - Run
uv run --frozen mkdocs servewhile standing in the project root.
MimLink protocol schema sync
Most developers do not need this. The generated
envelope_pb2.pyis committed to the repository. This section is only relevant when syncingenvelope.protofrom 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:
- Replace
src/pyglaze/mimlink/proto/envelope.protofrom upstream. - Run
./scripts/generate_mimlink_proto.sh. - Commit the updated
envelope_pb2.py. - 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!
Metadata
Release files for pyglaze 1.8.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyglaze-1.8.7.tar.gz | 74.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyglaze-1.8.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.1 kB
Release files / pyglaze-1.8.7.tar.gz
| Download URL | pyglaze-1.8.7.tar.gz |
|---|---|
| Size | 74.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45e3165a40c43c4e17ff99ead3e98f970dff1b4de8072e39985b01f8ba4c34f2
|
|
BLAKE2b-256 checksum How to use checksums |
42ac79af4d6ac8b148dda94423accf518a465cb47f134634a332172a8e34a7aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.21
|
Release files / pyglaze-1.8.7-py3-none-any.whl
| Download URL | pyglaze-1.8.7-py3-none-any.whl |
|---|---|
| Size | 84.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f7e1c8a56a248fd844fdabf165a0a6e97ad6b642f8e860571b27013479d8360
|
|
BLAKE2b-256 checksum How to use checksums |
508d526ce854ae7ee5774fce6f890a3bd98fd834502029964f98e82d23c6f6e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.21
|