Metadata-Version: 2.4
Name: ecnet
Version: 4.1.5
Summary: Fuel property prediction using QSPR descriptors
Author-email: Travis Kessler <travis.j.kessler@gmail.com>
Project-URL: Homepage, https://github.com/ecrl/ecnet
Project-URL: Bug Tracker, https://github.com/ecrl/ecnet/issues
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: torch<2.6,>=2.4.0
Requires-Dist: scikit-learn<2,>=1.5.1
Requires-Dist: padelpy<0.2,>=0.1.16
Requires-Dist: alvadescpy<0.2,>=0.1.3
Requires-Dist: ecabc<4,>=3.0.1
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-cov>=6; extra == "dev"
Requires-Dist: ruff>=0.8; extra == "dev"
Requires-Dist: pre-commit>=4; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: pip-audit>=2.7; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=7; extra == "docs"
Requires-Dist: furo>=2024.8; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=2; extra == "docs"
Requires-Dist: sphinx-copybutton>=0.5; extra == "docs"
Requires-Dist: myst-parser>=3; extra == "docs"
Dynamic: license-file

[![UML Energy & Combustion Research Laboratory](https://sites.uml.edu/hunter-mack/files/2021/11/ECRL_final.png)](http://faculty.uml.edu/Hunter_Mack/)

# ECNet: machine learning models for fuel property prediction

[![GitHub version](https://badge.fury.io/gh/ecrl%2FECNet.svg)](https://badge.fury.io/gh/ecrl%2FECNet)
[![PyPI version](https://badge.fury.io/py/ecnet.svg)](https://badge.fury.io/py/ecnet)
[![status](https://joss.theoj.org/papers/10.21105/joss.00401/status.svg)](https://doi.org/10.21105/joss.00401)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/ECRL/ECNet/master/LICENSE.txt)
[![Documentation Status](https://readthedocs.org/projects/ecnet/badge/?version=latest)](https://ecnet.readthedocs.io/en/latest/?badge=latest)

**ECNet** is an open-source Python package for predicting fuel properties from
molecular structure using quantitative structure–property relationship (QSPR)
descriptors and multilayer perceptron models built with
[PyTorch](https://pytorch.org/).

The current **v4** API centers on `ECNet`, bundled property loaders
(`ecnet.datasets.load_*`), hyperparameter-tuning helpers, training callbacks,
and analytical blend-property equations. Descriptor backends include
[PaDEL-Descriptor](http://www.yapcwsoft.com/dd/padeldescriptor/) (default) and
[alvaDesc](https://www.alvascience.com/alvadesc/) (optional; requires a valid
license).

## Installation

Requires **Python 3.11** or newer. Java is needed for the default PaDEL backend.

```bash
pip install ecnet
```

From a clone of this repository:

```bash
pip install -e .
pip install -e ".[dev]"   # pytest, ruff, pre-commit, pip-audit
pip install -e ".[docs]"  # Sphinx + Furo
```

## Documentation and examples

- User guide and API reference: [ecnet.readthedocs.io](https://ecnet.readthedocs.io/en/latest/)
- Example notebooks: [`examples/`](https://github.com/ecrl/ecnet/tree/master/examples)
- Stability policy: Sphinx *API stability* page (source: `docs/source/stability.rst`)
- Bundled dataset cards: Sphinx *Bundled property datasets* page (`docs/source/data.rst`)

## Historical JOSS architecture note

The 2017 Journal of Open Source Software article
([doi:10.21105/joss.00401](https://doi.org/10.21105/joss.00401)) and the
accompanying `paper/paper.md` describe a **prior generation** of ECNet based on
a project / build / node ensemble workflow. That architecture is **not** the
current public API. For v4 usage, follow the Sphinx documentation and the
imports documented under `ecnet`, `ecnet.datasets`, `ecnet.tasks`,
`ecnet.blends`, and `ecnet.callbacks`. The JOSS paper remains an appropriate
citation for the software’s publication history.

## Citation

If you use ECNet in scholarly work, please cite:

Kessler, T., & Mack, J. H. (2017). ECNet: Large scale machine learning projects
for fuel property prediction. *Journal of Open Source Software*, 2(17), 401.
https://doi.org/10.21105/joss.00401

```bibtex
@article{Kessler2017,
  doi = {10.21105/joss.00401},
  url = {https://doi.org/10.21105/joss.00401},
  year = {2017},
  publisher = {The Open Journal},
  volume = {2},
  number = {17},
  pages = {401},
  author = {Kessler, Travis and Mack, John Hunter},
  title = {ECNet: Large scale machine learning projects for fuel property prediction},
  journal = {Journal of Open Source Software}
}
```

## Contributing and support

See [`CONTRIBUTING.md`](CONTRIBUTING.md) for local development setup, hooks, and
checks. Report bugs and feature requests via GitHub issues (include OS, Python
version, and relevant error output).

Contact: Travis Kessler (<travis.j.kessler@gmail.com>) and John Hunter Mack
(<Hunter_Mack@uml.edu>).
