Metadata-Version: 2.4
Name: idaes-examples
Version: 2.10.0rc0
Summary: IDAES Process Systems Engineering Examples
Author: The IDAES Project
Author-email: Dan Gunter <dkgunter@lbl.gov>
License: BSD
Project-URL: github, https://github.com/idaes/examples
Project-URL: issues, https://github.com/idaes/examples/issues
Keywords: IDAES,energy systems,chemical engineering,process modeling
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: setuptools
Requires-Dist: pyomo>=6.5.0
Requires-Dist: jupyter
Requires-Dist: importlib
Provides-Extra: omlt
Requires-Dist: omlt; extra == "omlt"
Requires-Dist: tensorflow>=2.16.1; extra == "omlt"
Provides-Extra: idaes
Requires-Dist: idaes-pse; extra == "idaes"
Provides-Extra: testing
Requires-Dist: pytest-xdist~=3.0.2; extra == "testing"
Requires-Dist: pytest-reportlog~=0.1.2; extra == "testing"
Requires-Dist: nbclient; extra == "testing"
Requires-Dist: nbmake==1.5.*; extra == "testing"
Provides-Extra: docs
Requires-Dist: jupyter-book~=0.15.0; extra == "docs"
Requires-Dist: jupyter-cache; extra == "docs"
Requires-Dist: nbclient; extra == "docs"
Requires-Dist: nbformat; extra == "docs"
Provides-Extra: dev
Requires-Dist: idaes-examples[docs,testing]; extra == "dev"
Requires-Dist: black[jupyter]==24.3.0; extra == "dev"
Requires-Dist: addheader>=0.3.0; extra == "dev"
Requires-Dist: blessed~=1.20.0; extra == "dev"
Provides-Extra: packaging
Requires-Dist: build; extra == "packaging"
Requires-Dist: twine; extra == "packaging"
Dynamic: license-file

<!-- Badges -->
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lbianchi-lbl/examples/binder?labpath=idaes_examples%2Fnotebooks%2Fdocs)
[![tests](https://github.com/IDAES/examples/actions/workflows/core.yml/badge.svg)](https://github.com/IDAES/examples/actions/workflows/core.yml)
&nbsp;
[![Documentation](https://readthedocs.org/projects/idaes-examples/badge/?version=latest)](https://idaes-examples.readthedocs.io/en/latest/?badge=latest)

# IDAES Examples

This repository contains example Jupyter Notebooks that demonstrate and  explain 
the  capabilities of the IDAES platform.

Below are basic instructions to install, view, and run the examples.

**For Developers**: If you are a developer who wishes to modify or add new notebooks, please refer to the file *README-developer.md*.

**Categories of examples**

In the source code repository, you may note that there are a number of examples that are not in the documentation.
There are two main categories of examples:

- "Docs" examples (under `idaes_examples/notebooks/docs`), which are tested and built into this documentation.
- "Active" examples (under `idaes_examples/notebooks/active`) that are tested but *not* in the documentation.

There is also a third category of "Held" examples (under `idaes_examples/notebooks/held`),
which could in the next release of IDAES in Docs or Active, or could be removed.
These are *not* tested and *not* in the docs, and should generally be ignored by non-developers.

## Installation

This repository can be installed with *pip*:

```shell
# install the IDAES examples with a core set of dependencies
pip install idaes-examples

# install the IDAES examples with additional dependencies needed to run specific examples,
# e.g. `omlt` for surrogate modeling with OMLT
pip install "idaes-examples[omlt]"

# install the IDAES examples with dependencies need to build the documentation
pip install "idaes-examples[docs]"
```

We recommend you use a virtual environment tool such as
[Miniconda](https://docs.conda.io/en/latest/miniconda.html)
to install and run the notebooks in an isolated environment.

## Run examples

Use the command
```
idaesx serve
```
to start a Jupyter server to browser and open the notebooks for local execution and experimentation.

Alternately, you may use Jupyter notebook's file browser in the installed notebooks directory,
using the `idaesx where` command to find that directory:
`jupyter notebook $(idaesx where)`.

Only the source notebooks (ending in `_src.ipynb`) are included in the repository.
The `idaesx serve` command will generate the other versions, or you can run preprocessing manually with: `idaesx pre -d "$(idaesx where)\.."`.

## Build documentation

Run the command `idaesx build` from the repository root to build the [JupyterBook](https://jupyterbook.org) 
documentation.

*Note: This will take quite a while, as each example must be run first.
You may want to step out and enjoy a beverage.*

----
Author: Dan Gunter  
Last modified: 25 Apr 2024
