Skip to main content

freesolo

freesolo is the published Python SDK for Freesolo's recording OpenAI drop-in client and the environment and dataset contracts used by generated repositories.

The public SDK surface includes:

  • freesolo.OpenAI and freesolo.AsyncOpenAI
  • freesolo.environments
  • freesolo.datasets

Install

pip install freesolo

From source:

cd freesolo-sdk
export PYTHONPATH="$PWD/pypi"

OpenAI Drop-in Client

Use OpenAI or AsyncOpenAI anywhere you would use the official Python client. A Freesolo API key is required through FREESOLO_API_KEY or the client options. Requests go through the Freesolo recording proxy and chat completions are recorded by default.

from freesolo import AsyncOpenAI, OpenAI

client = OpenAI()
async_client = AsyncOpenAI()

completion = client.chat.completions.create(
    model="openai/gpt-5.2",
    messages=[{"role": "user", "content": "hello"}],
    extra_body={"metadata": {"dataset": "support"}},
)

Set model to a deployed Freesolo model id to call that fine-tuned model with the same API. Recording controls use the official extra_body escape hatch, so the native OpenAI method signatures and return types remain unchanged.

completion = client.chat.completions.create(
    model="adapter-123",
    messages=[{"role": "user", "content": "hello"}],
    extra_body={"store": False},
)

Dataset Contract

Dataset records use input and optional output.

{ "id": "example-1", "input": "Say yes.", "output": "yes" }

The SDK does not accept aliases such as prompt, query, task, ground_truth, expected_output, or completion.

Environment Contract

Environments are Python modules that expose load_environment() and return an EnvironmentSingleTurn or EnvironmentMultiTurn instance. Environment code uses TaskExample.input and TaskExample.output when building prompts and scoring responses.

Single-turn environments build their initial episode through start_episode(). The SDK prepends the supplied contract text as a system message when the environment did not already provide one, so SFT rows and environment scoring see the same policy prompt. Multi-turn environments own their start_episode() implementation and should include any task-specific initial system message there.

The SDK does not handle remote artifact publishing or resolution.

Example

from freesolo.datasets import load_dataset
from freesolo.environments import load_environment

dataset = load_dataset("support.jsonl")
environment = load_environment("freesolo/environment.py:load_environment")

print(len(dataset.examples))
print(type(environment).__name__)

API Guidance

Use freesolo.datasets for task examples and freesolo.environments for environment loading/scoring interfaces.

  • No command-line help surface is published as part of the SDK contract.

Metadata

Release files for freesolo 0.4.2

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

Source distribution (sdist)

Source distribution for freesolo 0.4.2
File Size Uploaded
freesolo-0.4.2.tar.gz 35.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for freesolo 0.4.2
File Interpreter ABI Platform
freesolo-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 82.6 kB

Release files / freesolo-0.4.2.tar.gz

Download URL freesolo-0.4.2.tar.gz
Size 35.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ce4f1f31fb65d1fd017ed76e1f859ede0fcb0b99d8b243b56b20314b438cfe40
BLAKE2b-256 checksum
How to use checksums
9bf7acb72339f2c5553248c7ac7f191a7a9e3a82999ab4937c3a9d2b87547ca9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / freesolo-0.4.2-py3-none-any.whl

Download URL freesolo-0.4.2-py3-none-any.whl
Size 47.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb2b9209cedfbf9c4f51418e74c2b5775fce5f0505cd9ad36ae30e97a9b274ee
BLAKE2b-256 checksum
How to use checksums
e205164fcb1f8581e207d819273c3723db78d3f4c5e413fb24447c9b1e39783d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.60

2 release files

0.2.52

2 release files

0.2.51

2 release files

0.2.50

2 release files

0.2.49

2 release files

0.2.48

2 release files

0.2.47

2 release files

0.2.46

2 release files

0.2.45

2 release files

0.2.44

2 release files

0.2.43

2 release files

0.2.42

2 release files

0.2.32

1 release file

0.2.29

2 release files

0.2.28

2 release files

0.2.27

2 release files

0.2.26

2 release files

0.2.25

2 release files

0.2.24

2 release files

0.2.23

2 release files

0.2.22

2 release files

0.2.21

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

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

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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