Skip to main content

Quantitative Sustainable Design for sanitation and resource recovery systems

Project description

https://img.shields.io/pypi/l/qsdsan?color=blue&logo=UIUC&style=flat https://img.shields.io/pypi/pyversions/qsdsan?style=flat https://img.shields.io/pypi/v/qsdsan?style=flat&color=blue https://zenodo.org/badge/doi/10.5281/zenodo.20256569.svg https://img.shields.io/badge/qsdsan--paper-10.1039%2Fd2ew00455k-blue?style=flat https://readthedocs.org/projects/qsdsan/badge/?version=latest https://github.com/QSD-Group/QSDsan/actions/workflows/build-coverage.yml/badge.svg?branch=main https://codecov.io/gh/QSD-Group/QSDsan/branch/main/graph/badge.svg?token=Z1CASBXEOE https://img.shields.io/badge/launch-binder%20%7C%20tutorial-579ACA.svg?logo=data:image/png;base64,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 https://img.shields.io/endpoint?color=%23ff0000&label=YouTube%20@qsd-group&url=https%3A%2F%2Fyoutube-channel-badge-blond.vercel.app%2Fapi%2Fvideos


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:

https://qsdsan.readthedocs.io

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.

Authors and Contributing

QSDsan and its related packages are developed by the Quantitative Sustainable Design Group and the broader community. Yalin Li is the currently maintainer. See commit history for contributors who have contributed to the repository.

If you want to contribute to QSDsan, 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

This version

1.5.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qsdsan-1.5.3.tar.gz (676.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qsdsan-1.5.3-py3-none-any.whl (722.3 kB view details)

Uploaded Python 3

File details

Details for the file qsdsan-1.5.3.tar.gz.

File metadata

  • Download URL: qsdsan-1.5.3.tar.gz
  • Upload date:
  • Size: 676.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qsdsan-1.5.3.tar.gz
Algorithm Hash digest
SHA256 49e29f0bc0e9a13ab2b5a5dc31388f47513b2b5ccef8889b1f6da81113362d38
MD5 868bbc4375d6f70aeb89a153b853ff50
BLAKE2b-256 4a492360b96e99ac71874311be46f41e0738d8d0573438f1b1cea8583ad41381

See more details on using hashes here.

Provenance

The following attestation bundles were made for qsdsan-1.5.3.tar.gz:

Publisher: release.yml on QSD-Group/QSDsan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qsdsan-1.5.3-py3-none-any.whl.

File metadata

  • Download URL: qsdsan-1.5.3-py3-none-any.whl
  • Upload date:
  • Size: 722.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qsdsan-1.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b91c5eff069a3703a47e0a2f9b26e8fe8fa875c1f50c7f1a59b5e34a96e33476
MD5 e8799f30c658c49f14015027870abde0
BLAKE2b-256 73e66bbdf4618e7c8db9cea0f02fd50de0d8453ff3a9543029a326eaa05250e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for qsdsan-1.5.3-py3-none-any.whl:

Publisher: release.yml on QSD-Group/QSDsan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page