Skip to main content

current-data-py

Management

ManagementClient() connects to data.current-robotics.work:443 over TLS. Pass address="host:443" to override it, or supply your own gRPC channel.

from current_data_py.management import ManagementClient, Metadata, MetadataFilter

with ManagementClient() as client:
    upload = client.get_upload_credentials(data_type="CURRENT_V2")
    read = client.get_read_credentials(bucket="data-infra-raw-data")

    # Register an already uploaded file; replace the example file details.
    record = client.register_data(Metadata(
        name="recording",
        data_type="DATA_TYPE_CURRENT_V2",
        storages=[{"bucket": "data-infra-202607", "object_key": "raw_converted/recording.td"}],
        file_info={"size_bytes": 1234, "checksum": "sha256:<file-hash>"},
    ))
    for item in client.stream_data_references(MetadataFilter(name_prefix="recording")):
        print(item.id, item.storages)

Metadata, MetadataFilter, and responses are Protobuf objects exported by the SDK. Registration only saves metadata; it does not upload files. Credential calls return fresh credentials without caching. Calls accept timeout= and metadata= for gRPC headers.

OSS

from current_data_py.management import ManagementClient
from current_data_py.oss import OSSClient

with ManagementClient() as management:
    with OSSClient(management, permission="read", bucket="data-infra-raw-data") as source:
        source.download_file("collections/recording/input.h5", "/tmp/input.h5")

    # Convert the input into /tmp/output.td before uploading.
    with OSSClient(management, permission="upload", data_type="CURRENT_V2") as destination:
        key = destination.object_prefix + "recording/output.td"
        destination.upload_file(key, "/tmp/output.td")
        print(destination.bucket, key)  # Use these values when registering metadata.
  • Read access covers the requested bucket, subject to server permissions. Uploads default to data_type="RAW"; the server chooses the bucket and prefix.
  • Credentials refresh automatically. Expired tokens trigger one refresh and retry.
  • Uploads reject overwrites by default; set forbid_overwrite=False to replace. Downloads replace the local file only on success; its parent directory must exist.
  • Uploads use a single PutObject request (maximum 5 GiB); multipart upload is not supported.
  • Supply region= for custom upload endpoints. Deploy the current management credential API before using the new bucket and data-type arguments.

打包

cd current_data_py  # 从仓库根目录执行
# 发布新版本前,更新 pyproject.toml 中的 version
python -m pip install build twine
rm -rf build dist
python -m build

测试

python -m twine check dist/*
python tests/check_distribution.py
python -m pip install --force-reinstall dist/*.whl
python -I tests/check_package.py
python -I tests/check_management.py
python -I tests/check_remote.py
python -I tests/check_oss.py

推送

# TestPyPI
python -m twine upload --repository testpypi dist/*

# PyPI
python -m twine upload dist/*

Metadata

Release files for current-data-py 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for current-data-py 0.1.5
File Size Uploaded
current_data_py-0.1.5.tar.gz 35.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for current-data-py 0.1.5
File Interpreter ABI Platform
current_data_py-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 97.3 kB

Release files / current_data_py-0.1.5.tar.gz

Download URL current_data_py-0.1.5.tar.gz
Size 35.6 kB
Tags Source
SHA-256 checksum
How to use checksums
09665a6e082f73d54d4e681bdfbcd349953b5b6c131e84cc910301e8b480f211
BLAKE2b-256 checksum
How to use checksums
64478fcaaba6ae01733c0f5cbf571fdd8a05ccb96a13fa57afaba48203d33afe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / current_data_py-0.1.5-py3-none-any.whl

Download URL current_data_py-0.1.5-py3-none-any.whl
Size 61.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17ea14347ee8e053beeaab07eede1d6b6df336329b24172637ddfe6ff9d25380
BLAKE2b-256 checksum
How to use checksums
e528247d771a425ef0d0bd04801749d2fb57c5056fe13def745762b82be87944
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.1.10

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.6

2 release files

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

1 release file

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release 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