Skip to main content

No project description provided

Project description

Freeplay Python SDK

The official Python SDK for Freeplay
The ops platform for enterprise AI engineering teams

version License

DocsQuick StartSDK SetupAPI ReferenceChangelogContributing


Overview

Freeplay is the only platform your team needs to manage the end-to-end AI application development lifecycle. It provides an integrated workflow for improving your AI agents and other generative AI products. Engineers, data scientists, product managers, designers, and subject matter experts can all review production logs, curate datasets, experiment with changes, create and run evaluations, and deploy updates.

Use this SDK to integrate with Freeplay's core capabilities:

  • Observability
    • Sessions — group related interactions together, e.g. for multi-turn chat or complex agent interactions
    • Traces — track multi-step agent workflows within sessions
    • Completions — record LLM interactions for observability and debugging
    • Customer Feedback — append user feedback and events to traces and completions
  • Prompts — version, format, and fetch prompt templates across environments
  • Test Runs — execute evaluation runs against prompts and datasets

Requirements

  • Python 3.8 or higher
  • A Freeplay account + API key

Installation

pip install freeplay

Quick Start

import os
from freeplay import Freeplay, RecordPayload
from openai import OpenAI

fp_client = Freeplay(
    freeplay_api_key=os.environ["FREEPLAY_API_KEY"],
)
openai_client = OpenAI()

project_id = os.environ["FREEPLAY_PROJECT_ID"]

# Fetch a prompt from Freeplay
formatted_prompt = fp_client.prompts.get_formatted(
    project_id=project_id,
    template_name="my-prompt",
    environment="prod",
    variables={"user_input": "Hello, world!"},
)

# Call your LLM provider with formatted_prompt.llm_prompt
response = openai_client.chat.completions.create(
    model=formatted_prompt.prompt_info.model,
    messages=formatted_prompt.llm_prompt,
)

# Record the interaction for observability
fp_client.recordings.create(
    RecordPayload(
        project_id=project_id,
        all_messages=formatted_prompt.all_messages({
            "role": "assistant",
            "content": response.choices[0].message.content,
        }),
    )
)

See the SDK Setup guide for complete examples.

Configuration

Environment variables

export FREEPLAY_API_KEY="fp_..."
export FREEPLAY_PROJECT_ID="xy..."
# Optional: override if using a custom domain / private deployment
export FREEPLAY_API_BASE="https://app.freeplay.ai/api"

API base URL
Default: https://app.freeplay.ai/api

Custom domain/private deployment: https://<your-domain>/api

Versioning

This SDK follows Semantic Versioning (SemVer): MAJOR.MINOR.PATCH.

  • PATCH: bug fixes
  • MINOR: backward-compatible features
  • MAJOR: breaking changes

Before upgrading major versions, review the changelog.

Support

Contributing

See CONTRIBUTING.md.

License

Apache-2.0 — see LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

freeplay-0.5.9.tar.gz (892.3 kB view details)

Uploaded Source

Built Distribution

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

freeplay-0.5.9-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

Details for the file freeplay-0.5.9.tar.gz.

File metadata

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

File hashes

Hashes for freeplay-0.5.9.tar.gz
Algorithm Hash digest
SHA256 a92cd0c60e4f131c20eb54f7e9eeee7b77998a49b8e9a8702ce365a0327dd190
MD5 b49a7a5b9b6671c6cc7060edda68bda4
BLAKE2b-256 c2ff702647bde6d9768da54ad17b561d4d84ed4c3f8cb44df8b62d077e27f2ed

See more details on using hashes here.

File details

Details for the file freeplay-0.5.9-py3-none-any.whl.

File metadata

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

File hashes

Hashes for freeplay-0.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e2ad506a31d6fe36b97b5ecf0ba821a6477ffe8c0142546f57af0b234f7e34d4
MD5 717b90faec9aa87cb4d1b686a0c089d5
BLAKE2b-256 8a5a14dc0efd19affb861ce2e33e8a417986b5410014350a443aa4b570d9d745

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