Skip to main content

CI PyPI - Version PyPI - Python Version

Sympheny Toolbox

The official typed Python client for the Sympheny SaaS API: every documented endpoint as a typed method, synchronous and asynchronous, with authentication handled for you.

Documentation

Full documentation lives at https://docs.sympheny.com/:

Install

pip install sympheny-toolbox

Requires Python 3.11+.

Quick start

from sympheny_toolbox import Sympheny

client = Sympheny("you@example.com", "your-password")

for project in client.projects.list():
    print(project.project_name)

The same API is available asynchronously via AsyncSympheny:

from sympheny_toolbox import AsyncSympheny

async with AsyncSympheny("you@example.com", "your-password") as client:
    projects = await client.projects.list()

Endpoints are grouped on the client the way the documented API groups them (client.projects, client.analyses, client.scenarios, client.hubs, client.solver_jobs, and so on); see the SDK reference. Requests and responses use Pydantic models generated from the OpenAPI spec (sympheny_toolbox.models). Higher-level helpers that combine several calls, such as running a solver job and downloading its results, live in sympheny_toolbox.workflows and are documented under Workflows.

Failed requests raise sympheny_toolbox.errors.SymphenyError subclasses: AuthenticationError (401), PermissionDeniedError (403), NotFoundError (404), APIError (any other unsuccessful status), and UnexpectedResponseError.

Development

The client is layered: the merged OpenAPI spec in specs/ generates models.py, the hand-written asynchronous client in _async/ is the source of truth, and the synchronous client in _sync/ is generated from it by an unasync-style transform. Regenerate it with uv run python scripts/generate_sync.py after changing anything under _async/.

Run every check (drift check, ruff, mypy, tests under coverage) with ./scripts/check.sh. Tests live under tests/ and run against a mock API (httpx.MockTransport), so they need no credentials and never reach the real Sympheny API.

To release: bump the version in pyproject.toml, add the matching CHANGELOG.md entry, and push a vX.Y.Z tag. The publish workflow checks that the tag matches the project version, runs all checks, and publishes to PyPI.

Release files for sympheny-toolbox 3.0.0

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

Source distribution (sdist)

Source distribution for sympheny-toolbox 3.0.0
File Size Uploaded
sympheny_toolbox-3.0.0.tar.gz 41.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sympheny-toolbox 3.0.0
File Interpreter ABI Platform
sympheny_toolbox-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 108.0 kB

Release files / sympheny_toolbox-3.0.0.tar.gz

Download URL sympheny_toolbox-3.0.0.tar.gz
Size 41.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a32bfcfa7f97476fd7b0bf2597469bba83e7066cbab59cd495ff43eb4cbe8b4e
BLAKE2b-256 checksum
How to use checksums
6196e1961be90727dd90cc21a13aecdc8598a09506bdb8180b0e00c3e308e70f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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 / sympheny_toolbox-3.0.0-py3-none-any.whl

Download URL sympheny_toolbox-3.0.0-py3-none-any.whl
Size 66.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1807a98894c7bf942216cc57e66e88158611387920abd33407b2be3470d6c56
BLAKE2b-256 checksum
How to use checksums
65854c30160b4ad1b1b1435bd2a2e638e9598b857ce4f94fe13af1c0e0381e7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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

3.1.0

2 release files

3.0.1

2 release files

This release

3.0.0 This release

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.0

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