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

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.1
File Size Uploaded
sympheny_toolbox-3.0.1.tar.gz 41.3 kB Details

Built distribution (wheel)

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

Total release size: 108.0 kB

Release files / sympheny_toolbox-3.0.1.tar.gz

Download URL sympheny_toolbox-3.0.1.tar.gz
Size 41.3 kB
Tags Source
SHA-256 checksum
How to use checksums
520570398f61e6837ea9b4de17900480f48b0d1ad3c0d94cdf1f738a14939884
BLAKE2b-256 checksum
How to use checksums
fdef720e910e937b777a52ac84ce80ad583d367a88b42095cbc62850dc625986
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.1-py3-none-any.whl

Download URL sympheny_toolbox-3.0.1-py3-none-any.whl
Size 66.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
549261eede02a1d28eae4962cfcf8c374be702deb725f237e0225e5c061e56a1
BLAKE2b-256 checksum
How to use checksums
dc8de075380e05f3e06990085aabfddb5183e0e524946808ea6282cb7e132e4b
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

This release

3.0.1 This release

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