Name | cueesspie JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | Rule-based Programmatic Quantitative Systems Pharmacology Modeling in Python. |
upload_time | 2025-07-29 18:24:57 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11.9 |
license | None |
keywords |
qsp
qst
pkpd
pysb
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
# QSPy: Quantitative Systems Pharmacology in Python

QSPy ('Cue Ess Pie') is a Python-based framework for the programmatic construction of rule-based mathematical models that describe drugs and their interactions with biological systems. Built on [PySB](https://pysb.org/), it enables modular modeling and simulation of quantitative systems pharmacology (QSP) models.
[](https://www.repostatus.org/#wip)

[](https://pysb.org/)
[](LICENSE)
[](https://github.com/Borealis-BioModeling/qspy/releases)
[](https://github.com/astral-sh/ruff)

[](https://github.com/Borealis-BioModeling/qspy/actions/workflows/ruff.yml)
[](https://borealis-biomodeling.github.io/qspy/)
:pill: :computer:
## What's new in
**version 0.1.0**
* First release!
## Table of Contents
1. [Install](#install)
1. [Dependencies](#dependencies)
2. [pip install](#pip-install)
3. [Manual install](#manual-install)
2. [License](#license)
3. [Change Log](#change-log)
4. [Documentation and Usage](#documentation-and-usage)
1. [Quick Overview](#quick-overview)
2. [Example](#example)
5. [Contact](#contact)
6. [Contributing](#contributing)
7. [Supporting](#supporting)
8. [Other Useful Tools](#other-useful-tools)
------
# Install
| **! Note** |
| :--- |
| qspy is still in version zero development so new versions may not be backwards compatible. |
**qspy** has been developed with Python 3.11.9 and PySB 1.15.0.
## Dependencies
`QSPy` has the following core dependencies:
* [PySB](https://pysb.org/)
* [pysb-pkpd](https://blakeaw.github.io/pysb-pkpd/)
* [pysb-units](https://github.com/Borealis-BioModeling/pysb-units)
* [Microbench](https://github.com/alubbock/microbench)
* [PyViPR](https://pyvipr.readthedocs.io/en/latest/)
* [MerGram](https://github.com/blakeaw/mergram)
* [toml](https://github.com/uiri/toml)
* [seaborn](https://seaborn.pydata.org/)
## Installation
1. Install **PySB** using [conda](https://docs.conda.io/en/latest/) or [mamba](https://github.com/mamba-org/mamba):
```sh
conda install -c alubbock pysb
```
**OR**
```sh
mamba install -c alubbock pysb
```
2. Install **qspy** with pip:
```sh
pip install cueesspie
```
### Testing and Coverage
For automated testing and coverage analysis:
* [pytest](https://docs.pytest.org/en/stable/getting-started.html)
* [Coverage.py](https://coverage.readthedocs.io/en/7.6.10/install.html)
* [nose](https://nose.readthedocs.io/en/latest/)
```
pip install pytest coverage nose
```
------
# License
This project is licensed under the BSD 2-Clause License - see the [LICENSE](LICENSE) file for details
------
# Change Log
See: [CHANGELOG](CHANGELOG.md)
------
# Documentation and Usage
Full documentation is available at:
[https://borealis-biomodeling.github.io/qspy/](https://borealis-biomodeling.github.io/qspy/)
Built With:
[](https://squidfunk.github.io/mkdocs-material/)
### Quick Start Example
```python
from qspy import Model, parameters, monomers, rules, initials, observables
from qspy.functionaltags import PROTEIN, DRUG
from qspy.validation import ModelMetadataTracker, ModelChecker
Model(name="SimpleQSP").with_units(concentration='nM', time='1/s', volume='L')
with parameters():
k_f = (1.0, "1/min")
k_r = (0.5, "1/min")
L_0 = (100.0, "nM")
R_0 = (10.0, "nM")
with monomers():
L = (["b"], {}, DRUG.AGONIST)
R = (["b", 'active'], {'active':[False, True]}, PROTEIN.RECEPTOR)
with rules():
bind = (L(b=None) + R(b=None, active=False) | L(b=1) % R(b=1, active=True), k_f, k_r)
with initials():
L(b=None) << L_0
R(b=None, active=False) << R_0
with observables():
L() > "L_total"
R() > "R_total"
R(active=True) > "R_active"
# Track and export model metadata
ModelMetadataTracker(version="1.0.0", author="Alice", export_toml=True)
# Run model validation checks
ModelChecker()
# Generate a Markdown summary of the model
model.markdown_summary()
```
------
# Contact
* **Issues** :bug: : Please open a [GitHub Issue](https://github.com/Borealis-BioModeling/qspy/issues) to
report any problems/bugs with the code or its execution, or to make any feature requests.
* **Discussions** :grey_question: : If you have questions, suggestions, or want to discuss anything else related to the project, feel free to use the [Discussions](https://github.com/Borealis-BioModeling/qspy/discussions) board.
* **Support** :question: : For any other support inquiries you can send an email to [blakeaw1102@gmail.com](mailto:blakeaw1102@gmail.com).
------
# Contributing
Interested in contributing to this project? See [CONTRIBUTING](./CONTRIBUTING.md) for details.
------
# Supporting
I'm very happy that you've chosen to use __qspy__. This add-on is a project that I develop and maintain on my own time, independently of the core PySB library, and without external funding. If you've found it helpful, here are a few ways you can support its ongoing development:
* **Star** :star: : Show your support by starring the [GitHub repository](https://github.com/Borealis-BioModeling/qspy). It helps increase the project's visibility and lets others know it's useful. It also benefits my motivation to continue improving the package!
* **Share** :mega: : Sharing `qspy` on your social media, forums, or with your network is another great way to support the project. It helps more people discover `qspy`, which in turn motivates me to keep developing!
* **Cite** :books: : Citing or mentioning this software in your work, publications, or projects is another valuable way to support it. It helps spread the word and acknowledges the effort put into its development, which is greatly appreciated!
* **Sponsor** :dollar: : Even small financial contributions, such as spotting me the cost of a tea through Ko-fi so I can get my caffeine fix, can make a big difference! Every little bit can help me continue developing this and other open-source projects.
[](https://ko-fi.com/J3J4ZUCVU)
-----
# Acknowledegments
Special thanks for [Martin Breuss's MkDocs tuorial](https://realpython.com/python-project-documentation-with-mkdocs/#step-2-create-the-sample-python-package), which served as the template for setting up and generating documentation using Mkdocs.
**AI Acknowledgement**
This package was developed with AI assistance. This inlcudes the generative AI tools ChatGPT, Microsoft Copilot, and GitHub Copilot, which were used to brainstorm features and implementation details, draft initial code snippets and boilerplate, and support documentation through outlining, editing, and docstring generation.
-----
Raw data
{
"_id": null,
"home_page": null,
"name": "cueesspie",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11.9",
"maintainer_email": null,
"keywords": "qsp, qst, pkpd, pysb",
"author": null,
"author_email": "\"Blake A. Wilson\" <blakeaw1102@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f4/90/b5e4c6815f94885b949af28f18c144ea82742991ae709e5832b6f3f8859f/cueesspie-0.1.1.tar.gz",
"platform": null,
"description": "# QSPy: Quantitative Systems Pharmacology in Python\n\n\n\nQSPy ('Cue Ess Pie') is a Python-based framework for the programmatic construction of rule-based mathematical models that describe drugs and their interactions with biological systems. Built on [PySB](https://pysb.org/), it enables modular modeling and simulation of quantitative systems pharmacology (QSP) models. \n\n[](https://www.repostatus.org/#wip)\n\n[](https://pysb.org/)\n[](LICENSE)\n[](https://github.com/Borealis-BioModeling/qspy/releases)\n[](https://github.com/astral-sh/ruff)\n\n[](https://github.com/Borealis-BioModeling/qspy/actions/workflows/ruff.yml)\n[](https://borealis-biomodeling.github.io/qspy/)\n\n\n\n :pill: :computer:\n\n## What's new in\n\n**version 0.1.0**\n\n * First release!\n\n## Table of Contents\n\n 1. [Install](#install)\n 1. [Dependencies](#dependencies)\n 2. [pip install](#pip-install)\n 3. [Manual install](#manual-install)\n 2. [License](#license)\n 3. [Change Log](#change-log)\n 4. [Documentation and Usage](#documentation-and-usage)\n 1. [Quick Overview](#quick-overview)\n 2. [Example](#example)\n 5. [Contact](#contact)\n 6. [Contributing](#contributing)\n 7. [Supporting](#supporting) \n 8. [Other Useful Tools](#other-useful-tools)\n\n------\n\n# Install\n\n| **! Note** |\n| :--- |\n| qspy is still in version zero development so new versions may not be backwards compatible. |\n\n**qspy** has been developed with Python 3.11.9 and PySB 1.15.0.\n\n## Dependencies\n\n`QSPy` has the following core dependencies:\n\n * [PySB](https://pysb.org/)\n * [pysb-pkpd](https://blakeaw.github.io/pysb-pkpd/)\n * [pysb-units](https://github.com/Borealis-BioModeling/pysb-units)\n * [Microbench](https://github.com/alubbock/microbench)\n * [PyViPR](https://pyvipr.readthedocs.io/en/latest/)\n * [MerGram](https://github.com/blakeaw/mergram)\n * [toml](https://github.com/uiri/toml)\n * [seaborn](https://seaborn.pydata.org/)\n\n## Installation\n 1. Install **PySB** using [conda](https://docs.conda.io/en/latest/) or [mamba](https://github.com/mamba-org/mamba):\n ```sh\n conda install -c alubbock pysb\n ```\n **OR**\n ```sh\n mamba install -c alubbock pysb\n ``` \n 2. Install **qspy** with pip:\n ```sh\n pip install cueesspie\n ```\n\n### Testing and Coverage\n\nFor automated testing and coverage analysis:\n * [pytest](https://docs.pytest.org/en/stable/getting-started.html)\n * [Coverage.py](https://coverage.readthedocs.io/en/7.6.10/install.html)\n * [nose](https://nose.readthedocs.io/en/latest/)\n```\npip install pytest coverage nose\n```\n\n------\n\n# License\n\nThis project is licensed under the BSD 2-Clause License - see the [LICENSE](LICENSE) file for details\n\n------\n\n# Change Log\n\nSee: [CHANGELOG](CHANGELOG.md)\n\n------\n\n# Documentation and Usage\n\nFull documentation is available at:\n\n[https://borealis-biomodeling.github.io/qspy/](https://borealis-biomodeling.github.io/qspy/) \n\nBuilt With:\n\n[](https://squidfunk.github.io/mkdocs-material/)\n\n### Quick Start Example\n\n```python\nfrom qspy import Model, parameters, monomers, rules, initials, observables\nfrom qspy.functionaltags import PROTEIN, DRUG\nfrom qspy.validation import ModelMetadataTracker, ModelChecker\n\nModel(name=\"SimpleQSP\").with_units(concentration='nM', time='1/s', volume='L')\n\nwith parameters():\n k_f = (1.0, \"1/min\")\n k_r = (0.5, \"1/min\")\n L_0 = (100.0, \"nM\")\n R_0 = (10.0, \"nM\")\n\nwith monomers():\n L = ([\"b\"], {}, DRUG.AGONIST)\n R = ([\"b\", 'active'], {'active':[False, True]}, PROTEIN.RECEPTOR)\n\nwith rules():\n bind = (L(b=None) + R(b=None, active=False) | L(b=1) % R(b=1, active=True), k_f, k_r)\n\nwith initials():\n L(b=None) << L_0\n R(b=None, active=False) << R_0\n\nwith observables():\n L() > \"L_total\"\n R() > \"R_total\"\n R(active=True) > \"R_active\"\n\n# Track and export model metadata\nModelMetadataTracker(version=\"1.0.0\", author=\"Alice\", export_toml=True)\n\n# Run model validation checks\nModelChecker()\n\n# Generate a Markdown summary of the model\nmodel.markdown_summary()\n \n```\n\n------\n\n# Contact\n\n * **Issues** :bug: : Please open a [GitHub Issue](https://github.com/Borealis-BioModeling/qspy/issues) to\nreport any problems/bugs with the code or its execution, or to make any feature requests.\n * **Discussions** :grey_question: : If you have questions, suggestions, or want to discuss anything else related to the project, feel free to use the [Discussions](https://github.com/Borealis-BioModeling/qspy/discussions) board.\n* **Support** :question: : For any other support inquiries you can send an email to [blakeaw1102@gmail.com](mailto:blakeaw1102@gmail.com).\n\n------\n\n# Contributing\n\nInterested in contributing to this project? See [CONTRIBUTING](./CONTRIBUTING.md) for details.\n\n------\n\n# Supporting\n\nI'm very happy that you've chosen to use __qspy__. This add-on is a project that I develop and maintain on my own time, independently of the core PySB library, and without external funding. If you've found it helpful, here are a few ways you can support its ongoing development:\n\n* **Star** :star: : Show your support by starring the [GitHub repository](https://github.com/Borealis-BioModeling/qspy). It helps increase the project's visibility and lets others know it's useful. It also benefits my motivation to continue improving the package!\n* **Share** :mega: : Sharing `qspy` on your social media, forums, or with your network is another great way to support the project. It helps more people discover `qspy`, which in turn motivates me to keep developing!\n* **Cite** :books: : Citing or mentioning this software in your work, publications, or projects is another valuable way to support it. It helps spread the word and acknowledges the effort put into its development, which is greatly appreciated!\n* **Sponsor** :dollar: : Even small financial contributions, such as spotting me the cost of a tea through Ko-fi so I can get my caffeine fix, can make a big difference! Every little bit can help me continue developing this and other open-source projects. \n\n[](https://ko-fi.com/J3J4ZUCVU)\n\n-----\n\n# Acknowledegments\n\nSpecial thanks for [Martin Breuss's MkDocs tuorial](https://realpython.com/python-project-documentation-with-mkdocs/#step-2-create-the-sample-python-package), which served as the template for setting up and generating documentation using Mkdocs.\n\n**AI Acknowledgement**\n\nThis package was developed with AI assistance. This inlcudes the generative AI tools ChatGPT, Microsoft Copilot, and GitHub Copilot, which were used to brainstorm features and implementation details, draft initial code snippets and boilerplate, and support documentation through outlining, editing, and docstring generation.\n\n-----\n",
"bugtrack_url": null,
"license": null,
"summary": "Rule-based Programmatic Quantitative Systems Pharmacology Modeling in Python.",
"version": "0.1.1",
"project_urls": {
"Issues": "https://github.com/Borealis-BioModeling/qspy/issues",
"Repository": "https://github.com/Borealis-BioModeling/qspy"
},
"split_keywords": [
"qsp",
" qst",
" pkpd",
" pysb"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "dc63b5b1cdce4a9061736a0cdb7c33ae5f464d1577392a50ae7a37fdc44e7a05",
"md5": "19f6a558ad817749c90522a539a5c219",
"sha256": "1fdc3845aa773cd308a1380496dc53c6d9a7094726cd6789e733b17ff8a318e8"
},
"downloads": -1,
"filename": "cueesspie-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "19f6a558ad817749c90522a539a5c219",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11.9",
"size": 47237,
"upload_time": "2025-07-29T18:24:55",
"upload_time_iso_8601": "2025-07-29T18:24:55.716877Z",
"url": "https://files.pythonhosted.org/packages/dc/63/b5b1cdce4a9061736a0cdb7c33ae5f464d1577392a50ae7a37fdc44e7a05/cueesspie-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f490b5e4c6815f94885b949af28f18c144ea82742991ae709e5832b6f3f8859f",
"md5": "558974434a50a4cafc8f088454f58f5f",
"sha256": "de31a225e13b44c95e3702d059c1f081c96a620c1a317824c1843e8ce4a4688f"
},
"downloads": -1,
"filename": "cueesspie-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "558974434a50a4cafc8f088454f58f5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11.9",
"size": 40033,
"upload_time": "2025-07-29T18:24:57",
"upload_time_iso_8601": "2025-07-29T18:24:57.057431Z",
"url": "https://files.pythonhosted.org/packages/f4/90/b5e4c6815f94885b949af28f18c144ea82742991ae709e5832b6f3f8859f/cueesspie-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 18:24:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Borealis-BioModeling",
"github_project": "qspy",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "cueesspie"
}