Skip to main content

veri-sdk

Python SDK for Veri — RL post-training platform.

Install

uv pip install veri-sdk
# or
pip install veri-sdk

Quickstart

from veri_sdk import Client

client = Client(api_key="your-api-key", base_url="https://api.veri.studio")

# Upload a dataset
dataset = client.datasets.upload("training_data.jsonl", name="my-dataset")

# Start a GRPO training job — the reward Python source is attached to the
# job inline (rewards are not stored as a resource)
job = client.training_jobs.create(
    base_model="Qwen/Qwen3-4B",
    dataset_id=dataset.id,
    reward_source=open("reward.py").read(),
    output_name="my-fine-tuned-model",
    hyperparameters={
        "learning_rate": 1e-6,
        "max_steps": 100,
        "rollouts_per_prompt": 4,
        "max_response_length": 512,
    },
)

print(f"Job {job.id} — status: {job.status}")

# Wait for completion
job.wait(poll_interval=15)
print(f"Done! Status: {job.status}")

# Download checkpoint
if job.download_url:
    job.download("./checkpoints")

Data Sources

# Upload JSONL file
dataset = client.datasets.upload("data.jsonl")

# Connect to S3
dataset = client.datasets.connect(
    name="my-s3-data",
    source_type="s3",
    source_uri="s3://my-bucket/data.jsonl",
    credentials={"aws_access_key_id": "...", "aws_secret_access_key": "..."},
)

# Connect to HuggingFace
dataset = client.datasets.connect(
    name="gsm8k",
    source_type="hf",
    hf_dataset="gsm8k",
    hf_config={"split": "train", "column_mapping": {"question": "prompt"}},
)

# Connect to a database
dataset = client.datasets.connect(
    name="prod-prompts",
    source_type="postgres",
    db_connection="postgres://user:pass@host/db",
    db_query="SELECT prompt, answer FROM training_data",
)

# Validate before connecting
result = client.datasets.validate(
    source_type="hf", hf_dataset="gsm8k", hf_config={"split": "train"}
)
print(f"Valid: {result['valid']}, Rows: {result['num_rows']}")

GPU Selection

# Specify the GPU config explicitly.
job = client.training_jobs.create(
    base_model="Qwen/Qwen3-4B",
    gpu_type="A100-80GB",
    gpu_count=2,
    ...
)

Checkpoint Destination

# Default: Veri-managed storage
job = client.training_jobs.create(...)

# Your own S3 bucket
job = client.training_jobs.create(
    ...,
    checkpoint_destination={
        "type": "s3",
        "uri": "s3://my-bucket/checkpoints/",
    },
)

List & Manage

# List your datasets
datasets = client.datasets.list()

# List jobs by status
running_jobs = client.training_jobs.list(status="running")

# Cancel a job
client.training_jobs.cancel(job.id)

Metadata

Release files for veri-sdk 0.2.38

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

Source distribution (sdist)

Source distribution for veri-sdk 0.2.38
File Size Uploaded
veri_sdk-0.2.38.tar.gz 293.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for veri-sdk 0.2.38
File Interpreter ABI Platform
veri_sdk-0.2.38-py3-none-any.whl Python 3 none any Details

Total release size: 453.5 kB

Release files / veri_sdk-0.2.38.tar.gz

Download URL veri_sdk-0.2.38.tar.gz
Size 293.6 kB
Tags Source
SHA-256 checksum
How to use checksums
91e32fa6d532c238a4fe177b4f22a54cc82878e191a35fb66a1a3c114e3873a1
BLAKE2b-256 checksum
How to use checksums
2f352fbd05adf81cb3a0aa8c81ce1bf4c89b0dc47175348d12b88ec56129ea55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / veri_sdk-0.2.38-py3-none-any.whl

Download URL veri_sdk-0.2.38-py3-none-any.whl
Size 159.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3cf1a13a55f1ed885533ef25eb34e5036a396eeae18607794a948e060deaeda4
BLAKE2b-256 checksum
How to use checksums
25d1b3f8a68f48d64b41e0f9221330503f9160bd3e9a488dfe2e2ffebacce5e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.38 This release

2 release files

0.2.37

2 release files

0.2.36

2 release files

0.2.35

2 release files

0.2.34

2 release files

0.2.31

2 release files

0.2.30

2 release files

0.2.29

2 release files

0.2.27

2 release files

0.2.25

2 release files

0.2.24

2 release files

0.2.19

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.1

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