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)

Download files

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

Source Distribution

veri_sdk-0.2.36.tar.gz (223.7 kB view details)

Uploaded Source

Built Distribution

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

veri_sdk-0.2.36-py3-none-any.whl (115.3 kB view details)

Uploaded Python 3

File details

Details for the file veri_sdk-0.2.36.tar.gz.

File metadata

  • Download URL: veri_sdk-0.2.36.tar.gz
  • Upload date:
  • Size: 223.7 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for veri_sdk-0.2.36.tar.gz
Algorithm Hash digest
SHA256 c0843130c00d00014563ac6425961d2fef6b532ebbe69eda2d75d14a18983bb8
MD5 9736cbe9b418a7da9229ebbab638a310
BLAKE2b-256 ee020badbc3ba4ea1a3bb92f83f73a679b9a10035b4c7c93aef59167adb5745c

See more details on using hashes here.

File details

Details for the file veri_sdk-0.2.36-py3-none-any.whl.

File metadata

  • Download URL: veri_sdk-0.2.36-py3-none-any.whl
  • Upload date:
  • Size: 115.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for veri_sdk-0.2.36-py3-none-any.whl
Algorithm Hash digest
SHA256 85368d6b0404d131d68218558901e2730ff6d1c6119187ead40063fd11e24624
MD5 11733c74437e824dfcb5f4c527681ee0
BLAKE2b-256 7b55b725777af2d929e6760fa673d44108a5ff6415715900497a2e5d06a134a8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.36 This release

2 files

0.2.35

2 files

0.2.34

2 files

0.2.33

2 files

0.2.32

2 files

0.2.31

2 files

0.2.30

2 files

0.2.29

2 files

0.2.27

2 files

0.2.25

2 files

0.2.24

2 files

0.2.19

2 files

0.2.18

2 files

0.2.16

2 files

0.2.15

2 files

0.2.14

2 files

0.2.13

2 files

0.2.12

2 files

0.2.11

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page