QSDsan: Quantitative Sustainable Design for Sanitation and Resource Recovery Systems
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.
To get the git version (use the depth flag to choose how many commit histories you want to clone):
git clone https://github.com/QSD-Group/QSDsan.git --depth=1
Then navigate into the repository (cd QSDsan) and install in editable mode with development dependencies:
pip install -e ".[dev]"
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.
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.
Many tutorials have companion video walkthroughs on our YouTube channel. The videos were recorded against earlier versions of QSDsan and remain useful for the concepts and the big picture, but some APIs may be outdated. Refer to the notebooks for the authoritative reference for syntax and API.
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
Metadata
Release files for qsdsan 1.5.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qsdsan-1.5.3.tar.gz | 676.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qsdsan-1.5.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / qsdsan-1.5.3.tar.gz
| Download URL | qsdsan-1.5.3.tar.gz |
|---|---|
| Size | 676.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49e29f0bc0e9a13ab2b5a5dc31388f47513b2b5ccef8889b1f6da81113362d38
|
|
BLAKE2b-256 checksum How to use checksums |
4a492360b96e99ac71874311be46f41e0738d8d0573438f1b1cea8583ad41381
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.
Transparency logRelease files / qsdsan-1.5.3-py3-none-any.whl
| Download URL | qsdsan-1.5.3-py3-none-any.whl |
|---|---|
| Size | 722.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b91c5eff069a3703a47e0a2f9b26e8fe8fa875c1f50c7f1a59b5e34a96e33476
|
|
BLAKE2b-256 checksum How to use checksums |
73e66bbdf4618e7c8db9cea0f02fd50de0d8453ff3a9543029a326eaa05250e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.
Transparency log