Metadata-Version: 2.4
Name: gmxtop
Version: 0.0.2
Summary: Read and write GROMACS topology files and alter associated force fields parameters.
Author: graeter-group
Keywords: GROMACS,topology
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: tox; extra == "dev"
Requires-Dist: tox-uv; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: hypothesis; extra == "dev"
Requires-Dist: jupyter; extra == "dev"
Requires-Dist: griffe<1.0.0,>=0.33; extra == "dev"
Requires-Dist: pycallgraph2; extra == "dev"
Requires-Dist: certifi>=2025.6; extra == "dev"
Requires-Dist: jsonschema>=4.24; extra == "dev"
Requires-Dist: jsonschema-specifications>=2025.4; extra == "dev"
Requires-Dist: markdown-it-py>=3.0; extra == "dev"
Requires-Dist: pytz>=2025.2; extra == "dev"
Requires-Dist: referencing>=0.36; extra == "dev"
Requires-Dist: rich>=14.0; extra == "dev"
Requires-Dist: rpds-py>=0.26; extra == "dev"
Requires-Dist: six>=1.17; extra == "dev"
Requires-Dist: typing-extensions>=4.14; extra == "dev"
Requires-Dist: tzdata>=2025.2; extra == "dev"
Requires-Dist: watchdog>=6.0; extra == "dev"
Requires-Dist: zipp>=3.23; extra == "dev"
Dynamic: license-file

# gmxtop 

<p align="left">
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>

GROMACS topology files for python

## Description
The `gmxtop` project provides a python interface to
* read and write toplogy and force field information from GROMACS-type top-files
* alter force field parameters 

The `gmxtop` project derives this functionality from the [kimmdy](https://github.com/graeter-group/kimmdy) project, originally developed by the graeter-group, and includes only minor modifications to parts of the original code to operate independently.
The `kimmdy` project is licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html) and, as a derivative work, the `gmxtop` project is distributed under the same license. See [LICENSE](./LICENSE) for details.

## Tutorials
The following tutorials are avaiable as Google Colab notebooks and hence do not require a local installation:
* [Basic tutorial](https://colab.research.google.com/drive/19zjIw2H5O6InLDQWLXEvrwrZ5w0AL7i1?usp=sharing) - Basic accessing of topology information with gmxtop
* [Advanced tutorial](https://colab.research.google.com/drive/1uWgji2O1N4PnxnYpGc1yV68Qzm-PfVX1?usp=sharing) - Advanded accessing of topology information with gmxtop
* [Force field parameter tutorial](https://colab.research.google.com/drive/1YOPPkCDudqSwd2QV0P7qEcd-1bogrvtY?usp=sharing) - Adapting force field parameters with gmxtop

## Installation
### From PyPI
```bash
pip install gmxtop
```

### From source via uv
Clone repository and move into
```bash
git clone git@github.com:graeter-group/gmxtop.git
cd gmxtop
```
Install repository
```bash
uv sync
```
Activate virtual environment
```bash
source .venv/bin/activate
```
Verify install by running the tests
```bash
pytest tests
```

### From source via conda and pip
Clone repository and move into
```bash
git clone git@github.com:graeter-group/gmxtop.git
cd gmxtop
```
Install repository into conda environment
```bash
conda create -n gmxtop python -y
conda activate gmxtop
pip install -e '.[dev]' # install with dev dependencies
```
Verify install by running the tests
```bash
pytest tests
```
