Metadata-Version: 2.4
Name: mxlpy
Version: 0.11.0
Summary: A package to build metabolic models
Author-email: Marvin van Aalst <marvin.vanaalst@gmail.com>
Maintainer-email: Marvin van Aalst <marvin.vanaalst@gmail.com>
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Keywords: metabolic,modelling,ode
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Requires-Python: >=3.12
Requires-Dist: dill>=0.3.9
Requires-Dist: latexify-py>=0.4.4
Requires-Dist: matplotlib>=3.9.2
Requires-Dist: mike>=2.1.3
Requires-Dist: more-itertools>=10.5.0
Requires-Dist: numpy>=2.1.2
Requires-Dist: pandas>=2.2.3
Requires-Dist: parameteriser>=0.1.0
Requires-Dist: pebble>=5.0.7
Requires-Dist: python-libsbml>=5.20.4
Requires-Dist: scipy>=1.14.1
Requires-Dist: seaborn>=0.13.2
Requires-Dist: symbtools>=0.4.0
Requires-Dist: sympy>=1.13.1
Requires-Dist: tabulate>=0.9.0
Requires-Dist: toml>=0.10.2
Requires-Dist: tqdm>=4.66.6
Requires-Dist: typing-extensions>=4.12.2
Provides-Extra: dev
Requires-Dist: coverage>=7.6.4; extra == 'dev'
Requires-Dist: jupyter>=1.1.1; extra == 'dev'
Requires-Dist: mkdocs-jupyter>=0.25.1; extra == 'dev'
Requires-Dist: mkdocs-material>=9.5.42; extra == 'dev'
Requires-Dist: mkdocs>=1.6.1; extra == 'dev'
Requires-Dist: mypy>=1.13.0; extra == 'dev'
Requires-Dist: pre-commit>=4.0.1; extra == 'dev'
Requires-Dist: pyright>=1.1.387; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.3.3; extra == 'dev'
Requires-Dist: requests>=2.32.3; extra == 'dev'
Requires-Dist: ruff>=0.7.1; extra == 'dev'
Requires-Dist: ssort>=0.13.0; extra == 'dev'
Requires-Dist: toml-sort<0.24,>=0.23.1; extra == 'dev'
Provides-Extra: torch
Requires-Dist: torch>=2.5.1; extra == 'torch'
Description-Content-Type: text/markdown

<img src="docs/assets/logo-diagram.png" style="display: block; max-height: 30rem; margin: auto; padding: 0" alt='mxlpy-logo'>

# mxlpy

[![pypi](https://img.shields.io/pypi/v/mxlpy.svg)](https://pypi.python.org/pypi/mxlpy)
[![docs][docs-badge]][docs]
![License](https://img.shields.io/badge/license-GPL--3.0-blue?style=flat-square)
![Coverage](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgist.github.com%2Fmarvinvanaalst%2F98ab3ce1db511de42f9871e91d85e4cd%2Fraw%2Fcoverage.json&query=%24.message&label=Coverage&color=%24.color&suffix=%20%25)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
[![Downloads](https://pepy.tech/badge/mxlpy)](https://pepy.tech/project/mxlpy)

[docs-badge]: https://img.shields.io/badge/docs-main-green.svg?style=flat-square
[docs]: https://computational-biology-aachen.github.io/mxlpy/

## Installation

You can install mxlpy using pip: `pip install mxlpy`

If you want access to the sundials solver suite via the [assimulo](https://jmodelica.org/assimulo/) package, we recommend setting up a virtual environment via [pixi](https://pixi.sh/) or [mamba / conda](https://mamba.readthedocs.io/en/latest/) using the [conda-forge](https://conda-forge.org/) channel.

```bash
pixi init
pixi add python assimulo
pixi add --pypi mxlpy[torch]
```

## How to cite

If you use this software in your scientific work, please cite [this article](...):

- [doi](https://doi.org/)
- [bibtex file](https://fillme.out)


## Development setup

You have two choices here, using `uv` (pypi-only) or using `pixi` (conda-forge, including assimulo)

### uv

- Install `uv` as described in [the docs](https://docs.astral.sh/uv/getting-started/installation/).
- Run `uv sync --extra dev --extra torch` to install dependencies locally

### pixi

- Install `pixi` as described in [the docs](https://pixi.sh/latest/#installation)
- Run `pixi install --frozen`


## Notes

- `uv add $package`
- `uv add --optional dev $package`
