Quantitative Sustainable Design for sanitation and resource recovery systems
Project description
What is QSDsan?
QSDsan is an open-source, community-led platform for the quantitative sustainable design (QSD) [1] of sanitation and resource recovery systems [2]. Built in Python, it integrates process modeling, system simulation, techno-economic analysis (TEA), and life cycle assessment (LCA) to support transparent, reproducible, and comprehensive evaluation of emerging technologies. Leveraging BioSTEAM [3], the platform provides modular and extensible tools to compare treatment configurations, evaluate resource recovery opportunities, and assess energy, cost, and sustainability tradeoffs. These capabilities support the research, development, and deployment (RD&D) of early-stage technologies for advancing sustainable water management and circular resource recovery.
All systems developed with QSDsan are included in the package EXPOsan - exposition of sanitation and resource recovery systems.
Installation
QSDsan requires Python 3.12 or newer. The easiest way to install QSDsan is through pip in a command-line interface (e.g., terminal, PowerShell, etc.):
pip install qsdsan
To upgrade an existing installation:
pip install -U qsdsan
To install a specific version, replace X.X.X with the version number:
pip install qsdsan==X.X.X
To install the latest GitHub version from the main branch:
pip install git+https://github.com/QSD-Group/QSDsan.git
To install from another fork and/or branch, replace <USERNAME_OF_THE_FORK> and <BRANCH_NAME>:
pip install git+https://github.com/<USERNAME_OF_THE_FORK>/QSDsan.git@<BRANCH_NAME>
You can also download the package from PyPI.
For diagram generation, QSDsan uses Graphviz. If diagrams fail to render, install Graphviz following the official Graphviz download instructions and see the FAQ for a quick check.
If you want to contribute to QSDsan, please follow the steps in the Contributing Guidelines to clone the repository and install it in editable mode.
Documentation
You can find tutorials and documents at:
All tutorials are written using Jupyter Notebook, you can run your own Jupyter environment, or you can click the launch binder badge on the top to launch the environment in your browser.
For each of these tutorials, we are also recording videos where one of the QSD group members will go through the tutorial step-by-step. We are gradually releasing these videos on our YouTube channel so subscribe to receive updates!
Contributing
Please refer to the Contributing Guidelines section of the documentation for instructions and guidelines.
License Information
Please refer to the LICENSE.txt for information on the terms & conditions for usage of this software, and a DISCLAIMER OF ALL WARRANTIES.
References
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
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 qsdsan-1.5.0.tar.gz.
File metadata
- Download URL: qsdsan-1.5.0.tar.gz
- Upload date:
- Size: 630.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a515ee1dfcb964494871c1fc230d66626a90b212f0a63fa0c523c10b8d38c0be
|
|
| MD5 |
01d127585fb77c5984b6d2fd6211110a
|
|
| BLAKE2b-256 |
d730a1fe0452b1016f3d8d73b5c88253b7b5d9885e33dc24bea28e5464d67c26
|
Provenance
The following attestation bundles were made for qsdsan-1.5.0.tar.gz:
Publisher:
release.yml on QSD-Group/QSDsan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qsdsan-1.5.0.tar.gz -
Subject digest:
a515ee1dfcb964494871c1fc230d66626a90b212f0a63fa0c523c10b8d38c0be - Sigstore transparency entry: 1564895254
- Sigstore integration time:
-
Permalink:
QSD-Group/QSDsan@655fd73f0884cae33eedff10b468e7874a07eb35 -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/QSD-Group
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@655fd73f0884cae33eedff10b468e7874a07eb35 -
Trigger Event:
push
-
Statement type:
File details
Details for the file qsdsan-1.5.0-py3-none-any.whl.
File metadata
- Download URL: qsdsan-1.5.0-py3-none-any.whl
- Upload date:
- Size: 697.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
532cd13e213603b409d72e90437078246f06b6e40bb3762c9b328d7ebdf42545
|
|
| MD5 |
e2c181a97f5543af3f6818ac81f9e177
|
|
| BLAKE2b-256 |
3f8e7bd4f00c2f46a4af93ad41331a04ac5492d4035573ad5af450b4c2b95423
|
Provenance
The following attestation bundles were made for qsdsan-1.5.0-py3-none-any.whl:
Publisher:
release.yml on QSD-Group/QSDsan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qsdsan-1.5.0-py3-none-any.whl -
Subject digest:
532cd13e213603b409d72e90437078246f06b6e40bb3762c9b328d7ebdf42545 - Sigstore transparency entry: 1564895298
- Sigstore integration time:
-
Permalink:
QSD-Group/QSDsan@655fd73f0884cae33eedff10b468e7874a07eb35 -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/QSD-Group
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@655fd73f0884cae33eedff10b468e7874a07eb35 -
Trigger Event:
push
-
Statement type: