Skip to content


Repository files navigation

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) of sanitation and resource recovery systems1. It is one of a series of platforms that are being developed for the execution of QSD - a methodology for the research, design, and deployment of technologies and inform decision-making2. It leverages the structure and modules developed in the BioSTEAM platform3 with additional functions tailored to sanitation processes.

As an open-source and impact-driven platform, QSDsan aims to identify configuration combinations, systematically probe interdependencies across technologies, and identify key sensitivities to contextual assumptions through the use of quantitative sustainable design methods (techno-economic analysis and life cycle assessment and under uncertainty).

All systems developed with QSDsan are included in the package EXPOsan - exposition of sanitation and resource recovery systems.

Additionally, another package, DMsan (decision-making for sanitation and resource recovery systems), is being developed for decision-making among multiple dimensions of sustainability with consideration of location-specific contextual parameters.


The easiest way is through pip, in command-line interface (e.g., Anaconda prompt, terminal):

pip install qsdsan

If you need to upgrade:

pip install -U qsdsan

or for a specific version (replace X.X.X with the version number):

pip install qsdsan==X.X.X

If you want to install the latest GitHub version at the main branch (note that you can still use the -U flag for upgrading):

pip install git+


If this doesn't give you the newest qsdsan, try pip uninstall qsdsan first.

Also, you may need to update some qsdsan's dependency package (e.g., ' biosteam and thermosteam) versions in order for the new qsdsan to run.

or other fork and/or branch (replace <USERNAME_OF_THE_FORK> and <BRANCH_NAME> with the desired fork and branch names)

pip install git+<USERNAME_OF_THE_FORK>/QSDsan.git@<BRANCH_NAME>

You can also download the package from PyPI.

Note that development of this package is currently under initial stage with limited backward compatibility, please feel free to submit an issue for any questions regarding package upgrading.

If you want to contribute to QSDsan, please follow the steps in the Contributing Guidelines section of the documentation to clone the repository. If you find yourself struggle with the installation of QSDsan/setting up the environment, this extended version of installation instructions might be helpful to you.


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!

About the Authors

Please refer to Contributors section for a list of contributors.


Please refer to the Contributing Guidelines section of the documentation for instructions and guidelines.

Stay Connected

If you would like to receive news related to the QSDsan platform, you can subscribe to email updates using this form (don't worry, you will be able to unsubscribe :)). Thank you in advance for your interest!

QSDsan Events

We will keep this calendar up-to-date as we organize more events (office hours, workshops, etc.), click on the events in the calendar to see the details (including meeting links).

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.


  1. Li, Y.; Zhang, X.; Morgan, V.L.; Lohman, H.A.C.; Rowles, L.S.; Mittal, S.; Kogler, A.; Cusick, R.D.; Tarpeh, W.A.; Guest, J.S. QSDsan: An integrated platform for quantitative sustainable design of sanitation and resource recovery systems. Environ. Sci.: Water Res. Technol. 2022, 8 (10), 2289-2303.

  2. Li, Y.; Trimmer, J.T.; Hand, S.; Zhang, X.; Chambers, K.G.; Lohman, H.A.C.; Shi, R.; Byrne, D.M.; Cook, S.M.; Guest, J.S. Quantitative Sustainable Design (QSD): A Methodology for the Prioritization of Research, Development, and Deployment of Technologies. (Tutorial Review) Environ. Sci.: Water Res. Technol. 2022, 8 (11), 2439–2465.

  3. Cortés-Peña, Y.; Kumar, D.; Singh, V.; Guest, J.S. BioSTEAM: A Fast and Flexible Platform for the Design, Simulation, and Techno-Economic Analysis of Biorefineries under Uncertainty. ACS Sustainable Chem. Eng. 2020, 8 (8), 3302–3310.