<!-- Filename: README.md -->
<!-- Author: Jonathan Delgado -->
<!-- Description: GitHub README -->
<!-- Header -->
<h2 align="center">Stochastic Thermodynamics in Python (STP)</h2>
<p align="center">
Python library to construct random quantities and track their information-theoretic properties. These objects include continuous time rate matrices, discrete time transition matrices, and matrices representing 3-state self assembly models.
<br />
<br />
Status: <em>in progress</em>
<!-- Documentation link -->
·<a href="https://stochastic-thermodynamics-in-python.readthedocs.io/en/latest/"><strong>
Documentation
</strong></a>
<!-- Notion Roadmap link -->
·<a target='_blank' href="https://otanan.notion.site/01f791e958c04bfeaf33cd066f3971c1?v=2ca4c56ad7404d59b2bd751e3fcaaee6"><strong>
Notion Roadmap »
</strong></a>
</p>
</div>
<!-- Project Demo -->

<!--  -->
<!-- ## Table of contents
* [Contact](#contact)
* [Acknowledgments](#acknowledgments) -->
## Installation
This package is pip-installable.
1. Install via pip.
```sh
python3 -m pip install stp
```
1. Import the package
```python
import stp
```
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Usage
Generating a 3-state time-dependent self-assembly model with this package is as simple as writing
```python
import numpy as np
import stp
# Dimensionless, time-dependent parameter for self assembly matrix
alpha = lambda t : np.cos(t) + 2
W = stp.self_assembly_rate_matrix(alpha)
# The initial matrix
print(W(0))
# [[-2. 3. 9.]
# [ 1. -3. 0.]
# [ 1. 0. -9.]]
# A later matrix
print(W(1))
# [[-2. 2.54030231 6.45313581]
# [ 1. -2.54030231 0. ]
# [ 1. 0. -6.45313581]]
```
_For more examples, please refer to the [Documentation]._
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Roadmap
Refer to the [Notion Roadmap] for the state of the project.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Contact
Created by [Jonathan Delgado](https://jdelgado.net/).
<p align="right"><a href="#readme-top">Back to top</a></p>
[Notion Roadmap]: https://otanan.notion.site/01f791e958c04bfeaf33cd066f3971c1?v=2ca4c56ad7404d59b2bd751e3fcaaee6
[Documentation]: https://stochastic-thermodynamics-in-python.readthedocs.io/en/latest/
Raw data
{
"_id": null,
"home_page": "https://jdelgado.net/",
"name": "stp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "stochastic, thermodynamics, python, information",
"author": "Jonathan Delgado",
"author_email": "jonathandelgado0327@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d4/f8/654034cffb848f74e6673d73e5f04ca04556a47434651b1ce77f9653a6a7/stp-0.0.1.5.tar.gz",
"platform": null,
"description": "<!-- Filename: README.md -->\n<!-- Author: Jonathan Delgado -->\n<!-- Description: GitHub README -->\n\n<!-- Header -->\n<h2 align=\"center\">Stochastic Thermodynamics in Python (STP)</h2>\n <p align=\"center\">\n Python library to construct random quantities and track their information-theoretic properties. These objects include continuous time rate matrices, discrete time transition matrices, and matrices representing 3-state self assembly models.\n <br />\n <br />\n Status: <em>in progress</em>\n <!-- Documentation link -->\n \u00b7<a href=\"https://stochastic-thermodynamics-in-python.readthedocs.io/en/latest/\"><strong>\n Documentation\n </strong></a>\n <!-- Notion Roadmap link -->\n \u00b7<a target='_blank' href=\"https://otanan.notion.site/01f791e958c04bfeaf33cd066f3971c1?v=2ca4c56ad7404d59b2bd751e3fcaaee6\"><strong>\n Notion Roadmap \u00bb\n </strong></a>\n </p>\n</div>\n\n\n<!-- Project Demo -->\n\n<!--  -->\n\n\n<!-- ## Table of contents\n* [Contact](#contact)\n* [Acknowledgments](#acknowledgments) -->\n\n\n## Installation\n\nThis package is pip-installable.\n\n1. Install via pip.\n ```sh\n python3 -m pip install stp\n ```\n1. Import the package\n ```python\n import stp\n ```\n\n\n<p align=\"right\">(<a href=\"#readme-top\">back to top</a>)</p>\n\n## Usage\n\nGenerating a 3-state time-dependent self-assembly model with this package is as simple as writing\n```python\nimport numpy as np\nimport stp\n# Dimensionless, time-dependent parameter for self assembly matrix\nalpha = lambda t : np.cos(t) + 2\nW = stp.self_assembly_rate_matrix(alpha)\n\n# The initial matrix\nprint(W(0))\n# [[-2. 3. 9.]\n# [ 1. -3. 0.]\n# [ 1. 0. -9.]]\n\n# A later matrix\nprint(W(1))\n# [[-2. 2.54030231 6.45313581]\n# [ 1. -2.54030231 0. ]\n# [ 1. 0. -6.45313581]]\n```\n\n\n_For more examples, please refer to the [Documentation]._\n\n<p align=\"right\">(<a href=\"#readme-top\">back to top</a>)</p>\n\n## Roadmap\n\nRefer to the [Notion Roadmap] for the state of the project.\n\n<p align=\"right\">(<a href=\"#readme-top\">back to top</a>)</p>\n\n## Contact\nCreated by [Jonathan Delgado](https://jdelgado.net/).\n\n\n<p align=\"right\"><a href=\"#readme-top\">Back to top</a></p>\n\n[Notion Roadmap]: https://otanan.notion.site/01f791e958c04bfeaf33cd066f3971c1?v=2ca4c56ad7404d59b2bd751e3fcaaee6\n[Documentation]: https://stochastic-thermodynamics-in-python.readthedocs.io/en/latest/",
"bugtrack_url": null,
"license": "GNU GENERAL PUBLIC LICENSE",
"summary": "Stochastic Thermodynamics in Python",
"version": "0.0.1.5",
"project_urls": {
"Homepage": "https://jdelgado.net/",
"Repository": "https://github.com/otanan/STP"
},
"split_keywords": [
"stochastic",
" thermodynamics",
" python",
" information"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea6bd44676368fdd579b1c028ec8fc7cfa7f629e48832b119fc9e6b6e5f27eda",
"md5": "b3d9ffcfaddf923e46ec1c7d24c4e633",
"sha256": "997ef03250c9cc80fcab6ac77f0479e4ffa374c9944e8d3c02d58a0704c99bc8"
},
"downloads": -1,
"filename": "stp-0.0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b3d9ffcfaddf923e46ec1c7d24c4e633",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 29274,
"upload_time": "2025-08-25T00:20:56",
"upload_time_iso_8601": "2025-08-25T00:20:56.475630Z",
"url": "https://files.pythonhosted.org/packages/ea/6b/d44676368fdd579b1c028ec8fc7cfa7f629e48832b119fc9e6b6e5f27eda/stp-0.0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d4f8654034cffb848f74e6673d73e5f04ca04556a47434651b1ce77f9653a6a7",
"md5": "53c06910c0b3e2c8d4b85bb1aa042121",
"sha256": "6117cdb0a796362f8aea72559f2cf91f0807654e978d0b5806020bc16e953ff5"
},
"downloads": -1,
"filename": "stp-0.0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "53c06910c0b3e2c8d4b85bb1aa042121",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 27804,
"upload_time": "2025-08-25T00:20:57",
"upload_time_iso_8601": "2025-08-25T00:20:57.622961Z",
"url": "https://files.pythonhosted.org/packages/d4/f8/654034cffb848f74e6673d73e5f04ca04556a47434651b1ce77f9653a6a7/stp-0.0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-25 00:20:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "otanan",
"github_project": "STP",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numpy",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "rich",
"specs": []
}
],
"lcname": "stp"
}