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 local file with an optional logical name and metadata. The first argument is the file's path on your computer. name is how the file is identified in shared storage for listing and later access; it does not need to match the local path.

uploaded = client.upload(
    "data/dataset.parquet",          # Local file
    name="datasets/dataset.parquet", # Name in shared storage
    metadata={"source": "example"},
    progress=True,
)

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", progress=True)

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)

Or print a formatted table directly while retaining the page result:

page = client.list(pretty=True)

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.1.tar.gz (15.2 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.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: valgo-0.3.1.tar.gz
  • Upload date:
  • Size: 15.2 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.1.tar.gz
Algorithm Hash digest
SHA256 a75f606de042cbda94d255f9ea97f3ef721577df6cfdc002a373bcd58398f8ba
MD5 e5f8d83e8b863a24778abc72f74a89d8
BLAKE2b-256 0551308988c5176f0cfe9c8b639068884c54335becf52c587a3166637771b50a

See more details on using hashes here.

Provenance

The following attestation bundles were made for valgo-0.3.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: valgo-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8f43ad6b8621f514de9738242c68b78eea9b3379bbf2a4e65e2038b13942bb0
MD5 25db4c23e6ebc19ddc336b9fd95a064d
BLAKE2b-256 70b3392f1b12e61a36ba85c065fd0fa5ef0937066fb352b1bc21c3cc796a0041

See more details on using hashes here.

Provenance

The following attestation bundles were made for valgo-0.3.1-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

This release

0.3.1 This release

2 files

0.3.0

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