Valgo API
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef52279ef82d1f2075a83a5145a7a868b33bf9d62252bfbd24598ba71c3be976
|
|
| MD5 |
572dc619f925b40f4631eba5b89773bd
|
|
| BLAKE2b-256 |
dd322c5e72f25ce8d42a2e780fdb89941222e01500b6c8c612bb63d49f169e73
|
Provenance
The following attestation bundles were made for valgo-0.3.0.tar.gz:
Publisher:
publish.yml on valgorithmic/valgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
valgo-0.3.0.tar.gz -
Subject digest:
ef52279ef82d1f2075a83a5145a7a868b33bf9d62252bfbd24598ba71c3be976 - Sigstore transparency entry: 2669674301
- Sigstore integration time:
-
Permalink:
valgorithmic/valgo@f251fb32632d10103a666295b11aca15de425c03 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/valgorithmic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f251fb32632d10103a666295b11aca15de425c03 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ff97a16557ddccaa42b340c6ed8aa7a16356f423aa60ee5089f9f3bd08e2d34
|
|
| MD5 |
150f05f1a53abc40a8033d26dbfd4aa8
|
|
| BLAKE2b-256 |
3a391ec2f8ae9c2566eda02298f4e8be4c8c71387a56e049af21357a4b09070c
|
Provenance
The following attestation bundles were made for valgo-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on valgorithmic/valgo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
valgo-0.3.0-py3-none-any.whl -
Subject digest:
9ff97a16557ddccaa42b340c6ed8aa7a16356f423aa60ee5089f9f3bd08e2d34 - Sigstore transparency entry: 2669674313
- Sigstore integration time:
-
Permalink:
valgorithmic/valgo@f251fb32632d10103a666295b11aca15de425c03 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/valgorithmic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f251fb32632d10103a666295b11aca15de425c03 -
Trigger Event:
release
-
Statement type: