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.40

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.40
File Size Uploaded
veri_sdk-0.2.40.tar.gz 295.9 kB Details

Built distribution (wheel)

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

Total release size: 456.8 kB

Release files / veri_sdk-0.2.40.tar.gz

Download URL veri_sdk-0.2.40.tar.gz
Size 295.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ee83d0c44b1be89f2a7fd77d6e64794a31702d0ff8f1dee80184103adca0dae3
BLAKE2b-256 checksum
How to use checksums
392d4ec69ad10b63f93a3946245618a3f05706701f6bddcc5dc429581e2c1cb1
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.40-py3-none-any.whl

Download URL veri_sdk-0.2.40-py3-none-any.whl
Size 160.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34d049b9f202c8cbeb6abb511b6d47e6492787e69a89e4133a87c1d40cad10e8
BLAKE2b-256 checksum
How to use checksums
7c52951543467faa6fa529f9741d304e0c68083d6ce1e09e16a7d3bf3c597724
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.40 This release

2 release files

0.2.38

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