Metadata-Version: 2.4
Name: sproclib
Version: 2.0.2
Summary: Standard Process Control Library for chemical process control
Home-page: https://github.com/gressling/sproclib
Author: Thorsten Gressling
Author-email: Thorsten Gressling <gressling@paramus.ai>
License: MIT
Project-URL: Homepage, https://github.com/gressling/sproclib
Project-URL: Repository, https://github.com/gressling/sproclib
Project-URL: Issues, https://github.com/gressling/sproclib/issues
Project-URL: Documentation, https://github.com/gressling/sproclib#readme
Keywords: process control,chemical engineering,PID,simulation,optimization
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Manufacturing
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20.0
Requires-Dist: scipy>=1.7.0
Requires-Dist: matplotlib>=3.3.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Provides-Extra: optimization
Requires-Dist: cvxpy>=1.1.0; extra == "optimization"
Requires-Dist: gekko>=1.0.0; extra == "optimization"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# SPROCLIB - Standard Process Control Library

A comprehensive Python library for chemical process control, providing essential classes and functions for PID control, process modeling, simulation, optimization, and advanced control techniques.

## Installation

```bash
pip install sproclib
```

## Features

- **PID Controllers**: Classical and advanced PID control implementations
- **Process Models**: CSTR, tanks, heat exchangers, distillation columns, and reactors
- **Analysis Tools**: Transfer functions, simulation, and optimization capabilities
- **Advanced Control**: Model predictive control and state task networks
- **Tuning Methods**: Ziegler-Nichols and other proven tuning rules

## Quick Start

```python
import sproclib as spc

# Create a PID controller
controller = spc.PIDController(kp=1.0, ki=0.1, kd=0.05)

# Create a tank model
tank = spc.Tank(volume=100, area=10)

# Simulate step response
response = spc.step_response(tank, time_span=100)
```

## Requirements

- Python 3.8+
- NumPy >= 1.20.0
- SciPy >= 1.7.0
- Matplotlib >= 3.3.0

## License

MIT License

## Author

Thorsten Gressling <gressling@paramus.ai>
