Skip to main content

Valgo API

CI PyPI

The official Python client for the Valgo API to upload, share, and retrieve datasets programmatically.

Installation

pip install valgo

Valgo supports Python 3.11 and newer.

Quick start

Set the API key issued by your Valgo administrator:

export VALGO_API_KEY="valgo_live_..."

Upload a file:

from valgo import Valgo

client = Valgo()
uploaded = client.upload("data/dataset.parquet")
print(uploaded.artifact_id)

The SDK connects to https://api.valgo.ai by default.

You can also pass the key directly:

client = Valgo(api_key="valgo_live_...")

Uploads

Upload a file with an optional logical name and metadata:

uploaded = client.upload(
    "data/dataset.parquet",
    name="datasets/dataset.parquet",
    metadata={"source": "example"},
)

Directories are uploaded concurrently:

result = client.upload("data/datasets")

for uploaded in result.completed:
    print(uploaded.path, uploaded.artifact_id)

for failure in result.failures:
    print(failure.path, failure.error)

Interrupted uploads are resumable. Retrying the same file continues the existing transfer rather than creating a duplicate.

Downloads

Download the latest version by logical name:

client.download("datasets/dataset.parquet", "downloads/dataset.parquet")

Or retrieve an exact immutable version:

client.download(uploaded.artifact_id, "downloads/dataset.parquet")

The SDK verifies the downloaded size and SHA-256 checksum before replacing the destination file.

Listing

List the latest visible version of each artifact for the API key's integration:

page = client.list()

for artifact in page.items:
    print(artifact.name, artifact.version, artifact.size_bytes)

Filter by logical path prefix or include version history:

page = client.list(prefix="reports/", all_versions=True, limit=100)
next_page = client.list(prefix="reports/", all_versions=True, limit=100, cursor=page.next_cursor)

Listing requires data:read. Deleted, pending-purge, incomplete, and other integrations' artifacts are never returned.

Deletion

Delete one exact artifact version using the ID returned by an upload:

result = client.delete(uploaded.artifact_id)
print(result.status)

Deleting by logical name requires explicit confirmation that every version should be removed:

client.delete("datasets/dataset.parquet", all_versions=True)

The API key must include the data:delete scope. Files uploaded through Valgo are removed from object storage. Customer-owned objects added with attach() are detached from Valgo by default; pass delete_source=True only when the source S3 object should also be removed. S3 versioning or Object Lock may retain historical versions according to the customer's AWS policy.

Configuration

Environment variable Purpose Default
VALGO_API_KEY Customer API credential Required
VALGO_BASE_URL Valgo API endpoint https://api.valgo.ai

Constructor arguments override environment variables:

client = Valgo(
    api_key="valgo_live_...",
    base_url="https://api.valgo.ai",
    timeout=60,
    max_workers=8,
)

Development

From this repository:

python -m pip install -e .
pytest

Do not commit API keys, presigned URLs, or customer data. Report security issues privately to the Valgo team rather than opening a public issue.

License

Licensed under the Apache License 2.0.

Copyright © 2026 Valgorithmic, Inc. (d.b.a. Valgo).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

valgo-0.3.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

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

valgo-0.3.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file valgo-0.3.0.tar.gz.

File metadata

  • Download URL: valgo-0.3.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for valgo-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ef52279ef82d1f2075a83a5145a7a868b33bf9d62252bfbd24598ba71c3be976
MD5 572dc619f925b40f4631eba5b89773bd
BLAKE2b-256 dd322c5e72f25ce8d42a2e780fdb89941222e01500b6c8c612bb63d49f169e73

See more details on using hashes here.

Provenance

The following attestation bundles were made for valgo-0.3.0.tar.gz:

Publisher: publish.yml on valgorithmic/valgo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file valgo-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: valgo-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for valgo-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ff97a16557ddccaa42b340c6ed8aa7a16356f423aa60ee5089f9f3bd08e2d34
MD5 150f05f1a53abc40a8033d26dbfd4aa8
BLAKE2b-256 3a391ec2f8ae9c2566eda02298f4e8be4c8c71387a56e049af21357a4b09070c

See more details on using hashes here.

Provenance

The following attestation bundles were made for valgo-0.3.0-py3-none-any.whl:

Publisher: publish.yml on valgorithmic/valgo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

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