Metadata-Version: 2.1
Name: ml4pd
Version: 2022.6.22
Summary: ML4PD - an open-source libray for building Aspen-like process models via machine learning.
Maintainer: Hien Vo
Maintainer-email: hvo@nrel.gov
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: scikit-learn (==1.0.2)
Requires-Dist: lightgbm (==3.3.2)
Requires-Dist: rdkit-pypi (==2022.3.2.1)
Requires-Dist: thermo (==0.2.13)
Requires-Dist: pint
Requires-Dist: pyarrow
Requires-Dist: pydantic
Requires-Dist: networkx
Requires-Dist: graphviz
Requires-Dist: pydot
Provides-Extra: test
Requires-Dist: seaborn ; extra == 'test'
Requires-Dist: ipykernel ; extra == 'test'
Requires-Dist: ipython ; extra == 'test'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: black ; extra == 'test'
Requires-Dist: pylint ; extra == 'test'
Requires-Dist: tqdm ; extra == 'test'
Requires-Dist: mkdocs-material ; extra == 'test'
Requires-Dist: mkdocs-jupyter ; extra == 'test'

# ml4pd

Process design with Machine Learning.

## How to Set Up for Development

### via Conda
1. Clone repository with `git clone`.
2. Create new env. & install dependencies: `mamba env create -f ml4pd/environment.yml -n [env-name]`
3. Add repo to path with `conda develop ml4pd`.
4. Optional: register conda environment with jupyter notebook `python -m ipykernel install --user --name=ml4pd`

### Additional GitHub repositories for docs, tests and training
- `ml4pd_utils`: code base for generating & preparing data for training.
- `ml4pd_models`: to store model files.
- `autoaspen`: database for data obtained by aspen & python.

### To debug docs
- Use `mkdocs serve` within `ml4pd` directory, then go to `localhost:8000`.
- `generate_site.py` gets docstrings (written in makrdown) from classes and put them in the right directory.
- To make changes to notebooks, add `ml4pd` to path with `sys.path.append()` or `conda develop`.

### Relationship with ml4pd_models
To minimize manual work, ml4pd dependends on a specific ml4pd_models github branch. When changes are made to
either ml4pd or ml4pd_models that will break compatibility, create new branch in ml4pd_models, and link 
requirements.txt with the new branch.
