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.1.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.1.0
File Size Uploaded
sympheny_toolbox-3.1.0.tar.gz 44.6 kB Details

Built distribution (wheel)

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

Total release size: 116.4 kB

Release files / sympheny_toolbox-3.1.0.tar.gz

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

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

3.1.0 This release

2 release files

3.0.1

2 release files

3.0.0

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