Metadata-Version: 2.1
Name: reaction-network
Version: 6.0.1
Summary: Reaction-network is a Python package for predicting and designing chemical reaction pathways in inorganic materials synthesis.
Author-email: Matthew McDermott <mcdermott@lbl.gov>
License: modified BSD
Project-URL: homepage, https://genesis-efrc.github.io/reaction-network/
Project-URL: documentation, https://genesis-efrc.github.io/reaction-network/
Project-URL: repository, https://github.com/GENESIS-EFRC/reaction-network
Project-URL: changelog, https://github.com/GENESIS-EFRC/reaction-network/blob/main/docs/CHANGELOG.md
Keywords: reaction,network,computational,graph,materials,retrosynthesis
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >="3.8"
Description-Content-Type: text/markdown
Provides-Extra: docs
Provides-Extra: plotting
Provides-Extra: tests
Provides-Extra: strict
License-File: LICENSE

# ![Reaction Network](docs/images/logo.png)

![GitHub Workflow Status](https://img.shields.io/github/workflow/status/GENESIS-EFRC/reaction-network/testing?style=for-the-badge)
![Codecov](https://img.shields.io/codecov/c/github/GENESIS-EFRC/reaction-network?style=for-the-badge)

![PyPI - Python
Version](https://img.shields.io/pypi/pyversions/reaction-network?style=for-the-badge)
![PyPI - Downloads](https://img.shields.io/pypi/dm/reaction-network?style=for-the-badge)
![PyPI - License](https://img.shields.io/pypi/l/reaction-network?style=for-the-badge)

Reaction Network (`rxn_network`) is a Python package for predicting likely inorganic chemical reaction pathways using graph theoretical methods.

# Installation directions

This package can be easily installed using pip:

```properties
pip install reaction-network
```

The package will then be installed under the name `rxn_network`. 

### Warning :warning:
While this will take care of most dependencies, if you are using any of the network-based features, then the `graph-tool` package must be installed. Unfortunately, this cannotbe installed through pip. Please see <https://graph-tool.skewed.de/> for more details. :warning:

We recommend the following installation procedure which installs graph-tool through conda-forge.

```properties
conda install -c conda-forge graph-tool
```

# Tutorial notebooks

The `examples` folder contains two (2) demonstration notebooks:

- **1_enumerators.ipynb**: how to enumerate reactions from a set of entries; running
  enumerators using jobflow
- **2_network.ipynb**: how to build reaction networks from a list of enumerators and
  entries; how to perform pathfinding to recommend balanced reaction pathways; running
  reaction network analysis using jobflow

# Citation

If you use this code or Python package in your work, please consider citing the following paper:

> McDermott, M. J., Dwaraknath, S. S., and Persson, K. A. (2021). A graph-based network for predicting chemical reaction pathways in solid-state materials synthesis. Nature Communications, 12(1). <https://doi.org/10.1038/s41467-021-23339-x>

# Acknowledgements

This work was supported as part of GENESIS: A Next Generation Synthesis Center, an
Energy Frontier Research Center funded by the U.S. Department of Energy, Office of
Science, Basic Energy Sciences under Award Number DE-SC0019212.

Learn more about the GENESIS EFRC here: <https://www.stonybrook.edu/genesis/>
