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.
- 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!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6e0734febb0ccbe6fcc5e64617bc7d70fb23cee7e663be3cbabaae203610198
|
|
| MD5 |
7ca3468277105e881cae198c963a94d8
|
|
| BLAKE2b-256 |
60211e3f6685cdcb0384db026ce474a4b98eebb27e78505e9adfd6b78916eea0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2417da7eef27f31629a5cd6b197d54743ff80992e15ad5d934c351af9a20a51e
|
|
| MD5 |
99c933ca8eee61000d756dfecc28e5a5
|
|
| BLAKE2b-256 |
d0c9cdfb3cc1b2b7b24c0e181ade0d8209d5403405af50120d51fc27b4db53cd
|