<div align="center">
<h1>Drux: Drug Release Analysis Framework</h1>
<br/>
<a href="https://badge.fury.io/py/drux"><img src="https://badge.fury.io/py/drux.svg" alt="PyPI version"></a>
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3"></a>
<a href="https://github.com/openscilab/drux"><img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/openscilab/drux"></a>
</div>
----------
## Overview
<p align="justify">
Drux is a Python-based framework for simulating drug release profiles using mathematical models. It offers a reproducible and extensible platform to model, analyze, and visualize time-dependent drug release behavior, making it ideal for pharmaceutical research and development. By combining simplicity with scientific rigor, Drux provides a robust foundation for quantitative analysis of drug delivery kinetics.
</p>
<table>
<tr>
<td align="center">PyPI Counter</td>
<td align="center">
<a href="https://pepy.tech/projects/drux">
<img src="https://static.pepy.tech/badge/drux">
</a>
</td>
</tr>
<tr>
<td align="center">Github Stars</td>
<td align="center">
<a href="https://github.com/openscilab/drux">
<img src="https://img.shields.io/github/stars/openscilab/drux.svg?style=social&label=Stars">
</a>
</td>
</tr>
</table>
<table>
<tr>
<td align="center">Branch</td>
<td align="center">main</td>
<td align="center">dev</td>
</tr>
<tr>
<td align="center">CI</td>
<td align="center">
<img src="https://github.com/openscilab/drux/actions/workflows/test.yml/badge.svg?branch=main">
</td>
<td align="center">
<img src="https://github.com/openscilab/drux/actions/workflows/test.yml/badge.svg?branch=dev">
</td>
</tr>
</table>
## Installation
### PyPI
- Check [Python Packaging User Guide](https://packaging.python.org/installing/)
- Run `pip install drux==0.1`
### Source code
- Download [Version 0.1](https://github.com/openscilab/drux/archive/v0.1.zip) or [Latest Source](https://github.com/openscilab/drux/archive/dev.zip)
- Run `pip install .`
## Supported Models
### Higuchi
The Higuchi model describes the release of a drug from a matrix system, where the drug diffuses through a porous medium.
The Higuchi equation addressed important aspects of drug transport and release from planar
devices. According to this model, the cumulative amount of drug released at time $t$ is given by:
$$
M_t = \sqrt{D(2c_0 - c_s)c_st}
$$
where:
- $M_t (\frac{mg}{cm^2})$ is the cumulative absolute amount of drug released at time $t$
- $D ({\frac{cm^2}{s}})$ is the drug diffusivity in the polymer carrier
- $c_0 (\frac{mg}{cm^3})$ is the initial drug concentration (total concentration of drug in the matrix)
- $c_s (\frac{mg}{cm^3})$ is the solubility of the drug in the polymer (carrier)
⚠️ The Higuchi model assumes that $c_0 \ge c_s$
#### Applications
1. Matrix Tablets
2. Hydrophilic polymer matrices
3. Controlled - Release Microspheres
4. Semisolid Systems
5. Implantable Drug delivery systems
## Usage
### Higuchi Model
```python
from drux import HiguchiModel
model = HiguchiModel(D=1e-6, c0=1, cs=0.5)
model.simulate(duration=1000, time_step=10)
model.plot(show=True)
```
<img src="https://github.com/openscilab/drux/raw/main/otherfiles/higuchi_plot.png" alt="Higuchi Plot">
## Issues & bug reports
Just fill an issue and describe it. We'll check it ASAP! or send an email to [drux@openscilab.com](mailto:drux@openscilab.com "drux@openscilab.com").
- Please complete the issue template
## References
<blockquote>1- T. Higuchi, "Rate of release of medicaments from ointment bases containing drugs in suspension," <i>Journal of Pharmaceutical Sciences</i>, vol. 50, no. 10, pp. 874–875, 1961.</blockquote>
<blockquote>2- D. R. Paul, "Elaborations on the Higuchi model for drug delivery," <i>International Journal of Pharmaceutics</i>, vol. 418, no. 1, pp. 13–17, 2011.</blockquote>
<blockquote>3- R. T. Medarametla, K. V. Gopaiah, J. N. Suresh Kumar, G. Anand Babu, M. Shaggir, G. Raghavendra, D. Naveen Reddy, and B. Venkamma, "Drug Release Kinetics and Mathematical Models," <i>International Journal of Science and Research Methodology</i>, vol. 27, no. 9, pp. 12–19, Sep. 2024.</blockquote>
## Show your support
### Star this repo
Give a ⭐️ if this project helped you!
### Donate to our project
If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .
<a href="https://openscilab.com/#donation" target="_blank"><img src="https://github.com/openscilab/drux/raw/main/otherfiles/donation.png" height="90px" width="270px" alt="Drux Donation"></a>
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1] - 2025-07-27
### Added
- Base model
- Higuchi model
[Unreleased]: https://github.com/openscilab/drux/compare/v0.1...dev
[0.1]: https://github.com/openscilab/drux/compare/48548f0...v0.1
Raw data
{
"_id": null,
"home_page": "https://github.com/openscilab/drux",
"name": "drux",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "drug-release drug-delivery mathematical-modeling simulation kinetics",
"author": "Drux Development Team",
"author_email": "drux@openscilab.com",
"download_url": "https://files.pythonhosted.org/packages/a6/7f/2625075c5e9b74007eb10e141c6c504d309c88b6ee880015f9b4cad58cbc/drux-0.1.tar.gz",
"platform": null,
"description": "\n<div align=\"center\">\n <h1>Drux: Drug Release Analysis Framework</h1>\n <br/>\n <a href=\"https://badge.fury.io/py/drux\"><img src=\"https://badge.fury.io/py/drux.svg\" alt=\"PyPI version\"></a>\n <a href=\"https://www.python.org/\"><img src=\"https://img.shields.io/badge/built%20with-Python3-green.svg\" alt=\"built with Python3\"></a>\n <a href=\"https://github.com/openscilab/drux\"><img alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/openscilab/drux\"></a>\n</div>\n\n----------\n\n\n## Overview\n<p align=\"justify\">\nDrux is a Python-based framework for simulating drug release profiles using mathematical models. It offers a reproducible and extensible platform to model, analyze, and visualize time-dependent drug release behavior, making it ideal for pharmaceutical research and development. By combining simplicity with scientific rigor, Drux provides a robust foundation for quantitative analysis of drug delivery kinetics.\n</p>\n<table>\n <tr>\n <td align=\"center\">PyPI Counter</td>\n <td align=\"center\">\n <a href=\"https://pepy.tech/projects/drux\">\n <img src=\"https://static.pepy.tech/badge/drux\">\n </a>\n </td>\n </tr>\n <tr>\n <td align=\"center\">Github Stars</td>\n <td align=\"center\">\n <a href=\"https://github.com/openscilab/drux\">\n <img src=\"https://img.shields.io/github/stars/openscilab/drux.svg?style=social&label=Stars\">\n </a>\n </td>\n </tr>\n</table>\n<table>\n <tr> \n <td align=\"center\">Branch</td>\n <td align=\"center\">main</td>\n <td align=\"center\">dev</td>\n </tr>\n <tr>\n <td align=\"center\">CI</td>\n <td align=\"center\">\n <img src=\"https://github.com/openscilab/drux/actions/workflows/test.yml/badge.svg?branch=main\">\n </td>\n <td align=\"center\">\n <img src=\"https://github.com/openscilab/drux/actions/workflows/test.yml/badge.svg?branch=dev\">\n </td>\n </tr>\n</table>\n\n\n## Installation\n\n### PyPI\n- Check [Python Packaging User Guide](https://packaging.python.org/installing/)\n- Run `pip install drux==0.1`\n### Source code\n- Download [Version 0.1](https://github.com/openscilab/drux/archive/v0.1.zip) or [Latest Source](https://github.com/openscilab/drux/archive/dev.zip)\n- Run `pip install .`\n\n## Supported Models\n### Higuchi\nThe Higuchi model describes the release of a drug from a matrix system, where the drug diffuses through a porous medium.\nThe Higuchi equation addressed important aspects of drug transport and release from planar\ndevices. According to this model, the cumulative amount of drug released at time $t$ is given by:\n\n$$\nM_t = \\sqrt{D(2c_0 - c_s)c_st}\n$$\n\nwhere:\n- $M_t (\\frac{mg}{cm^2})$ is the cumulative absolute amount of drug released at time $t$\n- $D ({\\frac{cm^2}{s}})$ is the drug diffusivity in the polymer carrier\n- $c_0 (\\frac{mg}{cm^3})$ is the initial drug concentration (total concentration of drug in the matrix)\n- $c_s (\\frac{mg}{cm^3})$ is the solubility of the drug in the polymer (carrier)\n\n\u26a0\ufe0f The Higuchi model assumes that $c_0 \\ge c_s$\n#### Applications\n1. Matrix Tablets\n2. Hydrophilic polymer matrices\n3. Controlled - Release Microspheres\n4. Semisolid Systems\n5. Implantable Drug delivery systems\n\n## Usage\n### Higuchi Model\n```python\nfrom drux import HiguchiModel\nmodel = HiguchiModel(D=1e-6, c0=1, cs=0.5)\nmodel.simulate(duration=1000, time_step=10)\nmodel.plot(show=True)\n```\n<img src=\"https://github.com/openscilab/drux/raw/main/otherfiles/higuchi_plot.png\" alt=\"Higuchi Plot\">\n\n## Issues & bug reports\n\nJust fill an issue and describe it. We'll check it ASAP! or send an email to [drux@openscilab.com](mailto:drux@openscilab.com \"drux@openscilab.com\"). \n\n- Please complete the issue template\n\n## References\n<blockquote>1- T. Higuchi, \"Rate of release of medicaments from ointment bases containing drugs in suspension,\" <i>Journal of Pharmaceutical Sciences</i>, vol. 50, no. 10, pp. 874\u2013875, 1961.</blockquote>\n<blockquote>2- D. R. Paul, \"Elaborations on the Higuchi model for drug delivery,\" <i>International Journal of Pharmaceutics</i>, vol. 418, no. 1, pp. 13\u201317, 2011.</blockquote>\n<blockquote>3- R. T. Medarametla, K. V. Gopaiah, J. N. Suresh Kumar, G. Anand Babu, M. Shaggir, G. Raghavendra, D. Naveen Reddy, and B. Venkamma, \"Drug Release Kinetics and Mathematical Models,\" <i>International Journal of Science and Research Methodology</i>, vol. 27, no. 9, pp. 12\u201319, Sep. 2024.</blockquote>\n\n## Show your support\n### Star this repo\n\nGive a \u2b50\ufe0f if this project helped you!\n\n### Donate to our project\nIf you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .\t\t\t\n\n<a href=\"https://openscilab.com/#donation\" target=\"_blank\"><img src=\"https://github.com/openscilab/drux/raw/main/otherfiles/donation.png\" height=\"90px\" width=\"270px\" alt=\"Drux Donation\"></a>\n\n# Changelog\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)\nand this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).\n\n## [Unreleased]\n## [0.1] - 2025-07-27\n### Added\n- Base model\n- Higuchi model\n\n\n[Unreleased]: https://github.com/openscilab/drux/compare/v0.1...dev\n[0.1]: https://github.com/openscilab/drux/compare/48548f0...v0.1\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Drux: Drug Release Analysis Framework",
"version": "0.1",
"project_urls": {
"Download": "https://github.com/openscilab/drux/tarball/v0.1",
"Homepage": "https://github.com/openscilab/drux",
"Source": "https://github.com/openscilab/drux"
},
"split_keywords": [
"drug-release",
"drug-delivery",
"mathematical-modeling",
"simulation",
"kinetics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9d0f8c1a63331133a1c10cc8c5258aaae4e68c30e303d3b29a6536bbdb2d0bc6",
"md5": "0e0f9c677fb79a930d5e0fbdaa21f96e",
"sha256": "0e319043b769e854598f3dba7f24cafa0681258a8a18e3862a416cc0c53c7af8"
},
"downloads": -1,
"filename": "drux-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0e0f9c677fb79a930d5e0fbdaa21f96e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 8701,
"upload_time": "2025-07-27T20:21:17",
"upload_time_iso_8601": "2025-07-27T20:21:17.649888Z",
"url": "https://files.pythonhosted.org/packages/9d/0f/8c1a63331133a1c10cc8c5258aaae4e68c30e303d3b29a6536bbdb2d0bc6/drux-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a67f2625075c5e9b74007eb10e141c6c504d309c88b6ee880015f9b4cad58cbc",
"md5": "8a9fc0e08531144ea6964e4a70fac281",
"sha256": "fb437644282c9650dbeff77f700c933586d642a1b436b7c415be3036952196e7"
},
"downloads": -1,
"filename": "drux-0.1.tar.gz",
"has_sig": false,
"md5_digest": "8a9fc0e08531144ea6964e4a70fac281",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 9798,
"upload_time": "2025-07-27T20:21:16",
"upload_time_iso_8601": "2025-07-27T20:21:16.225122Z",
"url": "https://files.pythonhosted.org/packages/a6/7f/2625075c5e9b74007eb10e141c6c504d309c88b6ee880015f9b4cad58cbc/drux-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 20:21:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openscilab",
"github_project": "drux",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.19.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.2.2"
]
]
}
],
"lcname": "drux"
}