Metadata-Version: 2.4
Name: synkit
Version: 1.6.3
Summary: Utility for reaction modeling using graph grammar
Project-URL: homepage, https://github.com/TieuLongPhan/SynKit
Project-URL: source, https://github.com/TieuLongPhan/SynKit
Project-URL: issues, https://github.com/TieuLongPhan/SynKit/issues
Project-URL: documentation, https://tieulongphan.github.io/SynKit/
Author-email: Tieu Long Phan <tieu@bioinf.uni-leipzig.de>
License-Expression: MIT
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: joblib>=1.2.0
Requires-Dist: matplotlib>=3.9
Requires-Dist: networkx>=3.3
Requires-Dist: numpy>=2.2.0
Requires-Dist: pandas>=2.2.2
Requires-Dist: pillow
Requires-Dist: rdkit>=2025.3.1
Requires-Dist: regex>=2024.11.6
Requires-Dist: requests>=2.32.3
Requires-Dist: scikit-learn>=1.4.2
Requires-Dist: scipy>=1.14.0
Requires-Dist: seaborn>=0.13.2
Requires-Dist: tqdm
Provides-Extra: all
Requires-Dist: pulp; extra == 'all'
Requires-Dist: sympy>=1.13.1; extra == 'all'
Requires-Dist: torch>=2.2.0; extra == 'all'
Provides-Extra: docs
Requires-Dist: graphviz; extra == 'docs'
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: pydata-sphinx-theme; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Requires-Dist: sphinx-design; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Requires-Dist: sphinx-togglebutton; extra == 'docs'
Requires-Dist: sphinx>=6.0; extra == 'docs'
Requires-Dist: sphinxcontrib-bibtex; extra == 'docs'
Provides-Extra: milp
Requires-Dist: pulp; extra == 'milp'
Provides-Extra: test
Requires-Dist: flake8; extra == 'test'
Requires-Dist: psutil<8,>=5.9; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# SynKit

[![PyPI version](https://img.shields.io/pypi/v/synkit.svg)](https://pypi.org/project/synkit/)
[![License](https://img.shields.io/github/license/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/blob/main/LICENSE)
[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.15269901.svg)](https://doi.org/10.5281/zenodo.15269901)
[![CI](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml/badge.svg?branch=main)](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml)

**Graph-native reaction informatics and executable electron-flow models**

SynKit is a Python toolkit for atom mapping, chemical graph transformations,
reaction rules, stereochemistry, and chemical reaction networks. It also
represents Lewis-labelled graphs and verifies user-supplied electron-flow
mechanisms. It does not predict the kinetically or thermodynamically preferred
mechanism.

![SynKit graphical abstract](https://raw.githubusercontent.com/TieuLongPhan/SynKit/main/Data/Figure/synkit_graphical_abstract.svg)

## Installation

Requires Python 3.11 or later.

```bash
python -m pip install synkit
```

See [Getting Started](doc/getting_started.rst) for examples, optional
dependencies, and Docker installation.

## Documentation

- [Documentation](https://tieulongphan.github.io/SynKit/)
- [API reference](https://tieulongphan.github.io/SynKit/api/index.html)
- [Issue tracker](https://github.com/TieuLongPhan/SynKit/issues)
- [Changelog](doc/changelog.rst)

## Publications

- [Lewis-labeled graphs: curly arrows and fishhooks as executable electron
  transfers](https://arxiv.org/abs/2607.26088), submitted (2026).
- [SynKit: A Graph-Based Python Framework for Rule-Based Reaction Modeling and
  Analysis](https://pubs.acs.org/doi/full/10.1021/acs.jcim.5c02123), *Journal
  of Chemical Information and Modeling* (2025).

## Contributing

Contributions and bug reports are welcome. Create a branch from the current
mainline, make a focused change, and run the repository checks before opening
a pull request:

```bash
git switch -c feature/short-description
bash scripts/lint.sh
bash scripts/pytest.sh
```

Questions can be sent to [tieu@bioinf.uni-leipzig.de](mailto:tieu@bioinf.uni-leipzig.de).

## Contributors

- [Tieu-Long Phan](https://tieulongphan.github.io/)
- [Klaus Weinbauer](https://github.com/klausweinbauer)
- [Phuoc-Chung Nguyen Van](https://github.com/phuocchung123)
- [Tuyet-Minh Phan](https://github.com/tuyetminhphan)

## License

SynKit is distributed under the MIT License. See [LICENSE](LICENSE).

## Acknowledgments

This project received funding from the European Union’s Horizon Europe
Doctoral Network programme under Marie Skłodowska-Curie grant agreement
No. 101072930 ([TACsy](https://tacsy.eu/)).
