Skip to main content

Environment and dataset helpers for Freesolo-generated repos.

Project description

freesolo

freesolo is the published Python SDK surface for generated repos: environments and datasets used for evaluation and task definition.

It is intentionally narrow:

  • freesolo.environments
  • freesolo.datasets

Everything else (evaluation, tracing, and internal helpers) is kept in the repository for internal workflows but is not part of the public SDK contract.

Install

pip install freesolo

From source:

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

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 local evaluation 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.
  • Hidden modules remain available in source history for internal tooling only.

Project details


Download files

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

Source Distribution

freesolo-0.2.54.tar.gz (355.4 kB view details)

Uploaded Source

Built Distribution

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

freesolo-0.2.54-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file freesolo-0.2.54.tar.gz.

File metadata

  • Download URL: freesolo-0.2.54.tar.gz
  • Upload date:
  • Size: 355.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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}

File hashes

Hashes for freesolo-0.2.54.tar.gz
Algorithm Hash digest
SHA256 9b13b6bc7a6f760c29cd13a2182192eee4b2157f928752605e0567c2c43d653b
MD5 f277576885ea34f71446d36040007623
BLAKE2b-256 c5bbf0a5b444fbb32190d7b47c3592410f81551edb849ba679ac1ff699e9a78f

See more details on using hashes here.

File details

Details for the file freesolo-0.2.54-py3-none-any.whl.

File metadata

  • Download URL: freesolo-0.2.54-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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}

File hashes

Hashes for freesolo-0.2.54-py3-none-any.whl
Algorithm Hash digest
SHA256 07af51e5f35ddb6bd67b0963286ba3056cedcf75a517b0a6b6ba0e1c4d032704
MD5 1e7eceda886f7468adea92f04f15d3a0
BLAKE2b-256 4f12819b756825e961837e31b923c32a9b25d74538cab09818712724ccd4ecaa

See more details on using hashes here.

Supported by

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