current-data-py
Current Data protobuf messages and schema metadata. Requires Python 3.9+.
pip install current-data-py
from current_data_py import SCHEMA_TO_CLASS, descriptor_set, topic_metadata
from current_data_py.schema import Pose
message = Pose()
message.position.y = 1.0
metadata = topic_metadata(Pose)
decoded = SCHEMA_TO_CLASS[metadata["schema_name"]].FromString(message.SerializeToString())
TD examples write/read a Pose on /head/pose/command:
python -m current_data_py.write_td example.td
python -m current_data_py.read_td example.td
Development and releases
Packaging configuration lives in current_data_py/. Generated messages live
only in the repository's proto_gen/python/msg. Regenerate them using the
existing proto/generate.sh workflow after changing proto/msg.
The build reads those files and adjusts their Python imports in the build
directory, placing them under current_data_py._proto in the wheel.
It does not modify or duplicate generated sources in the checkout.
The source distribution includes the original generated files so it can also
build without protoc. Installation requires neither the repository nor protoc.
cd current_data_py # from the repository root
python -m pip install build twine
python -m build
python -m twine check dist/*
python tests/check_distribution.py
Artifacts are written to current_data_py/dist/. The build adds the shared
protobuf inputs to the source archive without copying them into this directory.
For development, use a regular pip install . and run from outside the checkout;
reinstall after changes. Editable installs are not supported by this build step.
Install the wheel in a fresh environment and run
python /absolute/path/to/current_data_py/tests/check_package.py from outside
the repository. Use a clean dist for each release and increment the version
in pyproject.toml. Confirm the package name, license and supported Python
versions before publishing. No license has been selected yet.
python -m twine upload --repository testpypi dist/*
# After validating the test release:
python -m twine upload dist/*
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 current_data_py-0.1.0.tar.gz.
File metadata
- Download URL: current_data_py-0.1.0.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d62cbee19e9a2e0ff4c1b8e51a359ae5c30dde3df5660d713efdbe4728fb1074
|
|
| MD5 |
c2e517e1b004cde09e43623d92e6f2f4
|
|
| BLAKE2b-256 |
454c281eb721962ee055bb310594b3c56985761537266252d98b2e954c825c01
|
File details
Details for the file current_data_py-0.1.0-py3-none-any.whl.
File metadata
- Download URL: current_data_py-0.1.0-py3-none-any.whl
- Upload date:
- Size: 42.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a52166db8dd4f22a1d122542eee4a6bd2387a89d3aa6ad1c6e4b6565cfbb707
|
|
| MD5 |
806085fe8c30830e02559eff0a9c636e
|
|
| BLAKE2b-256 |
9a95e0a9f592785b921c2b0be33fc4af5be6d81612e309a9ff88a32c363f91cc
|