Skip to main content

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

current_data_py-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

current_data_py-0.1.0-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

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

Hashes for current_data_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d62cbee19e9a2e0ff4c1b8e51a359ae5c30dde3df5660d713efdbe4728fb1074
MD5 c2e517e1b004cde09e43623d92e6f2f4
BLAKE2b-256 454c281eb721962ee055bb310594b3c56985761537266252d98b2e954c825c01

See more details on using hashes here.

File details

Details for the file current_data_py-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for current_data_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a52166db8dd4f22a1d122542eee4a6bd2387a89d3aa6ad1c6e4b6565cfbb707
MD5 806085fe8c30830e02559eff0a9c636e
BLAKE2b-256 9a95e0a9f592785b921c2b0be33fc4af5be6d81612e309a9ff88a32c363f91cc

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page