Lightweight Python wrapper for the Sympheny SaaS API to automate common workflows.
Project description
Sympheny Toolbox
A lightweight Python wrapper for the Sympheny SaaS API to automate common workflows — create scenarios, run optimizations, manage variants, and more.
Install
pip install sympheny-toolbox
Requires Python 3.11+.
Authentication
Create a .properties file with your Sympheny credentials:
username=you@example.com
password=your-password
Then load and connect:
from sympheny_toolbox.sympheny import Sympheny
from sympheny_toolbox.utils import load_creds_basic
username, password = load_creds_basic("creds.properties")
s = Sympheny(username, password)
# Use is_dev=True for the dev environment
Tip: Don't commit credential files — use a secrets manager or
.gitignore.
Usage
Find projects, analyses, and scenarios
project = s.find_project("My Project")
analysis = s.find_analysis("My Analysis", project["projectGuid"])
scenario = s.find_scenario("Base", analysis["analysisGuid"])
Create a scenario from Excel
scenario_guid = s.create_scenario_from_excel(
excel_path="scenario.xlsx",
scenario_name="demo",
analysis_guid=analysis_guid,
)
print(s.scenario_url(scenario_guid))
Create scenario variants from Excel
variants = s.create_variants_from_excel(
excel_path="variants.xlsx",
master_scenario_id=scenario_guid,
)
Generate and read an input file
from sympheny_toolbox.utils import load_sheet_from_presigned_url
url = s.generate_input_file(scenario_guid)
rows = load_sheet_from_presigned_url(url, sheet="Conversion Techs")
Execute a scenario
s.execute_scenario(scenario_guid)
Create an EnyMap scenario
scenario_guid = s.create_scenario_enymap(
scenario_name="enymap_demo",
analysis_id=analysis_guid,
techs=["PV", "HEAT_PUMP"],
demands=["ELECTRICITY", "SPACE_HEATING"],
imports=["ELECTRICITY"],
exports=["HEAT_AMBIENT"],
poly=[[lon, lat], ...],
)
Available EnyMap options are defined in sympheny_toolbox.enymap:
| Parameter | Options |
|---|---|
techs |
PV, HEAT_PUMP, GAS_BOILER, CHILLER, BATTERY, HOT_WATER_STORAGE |
demands |
HOT_WATER, SPACE_HEATING, ELECTRICITY, COOLING |
imports |
ELECTRICITY |
exports |
HEAT_AMBIENT, COOLING |
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sympheny_toolbox-1.1.0.tar.gz.
File metadata
- Download URL: sympheny_toolbox-1.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76537c7313b37d71fae61f0e5787ff5d92a258da3137acfd08696089f3f4d598
|
|
| MD5 |
4d3b6dbe499af22ea162b2cde609a35d
|
|
| BLAKE2b-256 |
334865144a68e927f256f45cdc4c1540d3b082cbc2dae1b2186fbaef84ffc2b6
|
File details
Details for the file sympheny_toolbox-1.1.0-py3-none-any.whl.
File metadata
- Download URL: sympheny_toolbox-1.1.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f412be1967a693dd47e344e0c2a4072695a5ed9d38773b18dcad2428d8151a9d
|
|
| MD5 |
dd04fc8f233168620e8ee4dfe251c75b
|
|
| BLAKE2b-256 |
30aacfd2dcdbf79c4410d6b40c70540be076b5338960689746dc92ceb0bd631f
|