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.
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 (default) and
alvaDesc (optional; requires a valid
license).
Requires Python 3.11 or newer. Java is needed for the default PaDEL backend.
pip install ecnetFrom a clone of this repository:
pip install -e .
pip install -e ".[dev]" # pytest, ruff, pre-commit, pip-audit
pip install -e ".[docs]" # Sphinx + Furo- User guide and API reference: ecnet.readthedocs.io
- Example notebooks:
examples/ - Stability policy: Sphinx API stability page (source:
docs/source/stability.rst) - Bundled dataset cards: Sphinx Bundled property datasets page (
docs/source/data.rst)
The 2017 Journal of Open Source Software article
(doi: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.
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
@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}
}See 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).
