Metadata-Version: 2.4
Name: flowcean
Version: 0.9.0
Summary: Automatic generation of models for cyber-physical systems.
Keywords: 
Author: The AGenC Team
Author-email: The AGenC Team <agenc.team@tuhh.de>
License-Expression: BSD-3-Clause
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: aalpy>=1.6.2,<2
Requires-Dist: cloudpickle>=3.1.1
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: numpy>=1.26.4
Requires-Dist: omegaconf>=2.3.0
Requires-Dist: opcua>=0.98.13
Requires-Dist: polars[style,xlsxwriter]>=1.33.0
Requires-Dist: rich>=14.1.0
Requires-Dist: rosbags>=0.10.4
Requires-Dist: ruamel-yaml>=0.18.6
Requires-Dist: scikit-learn>=1.5.2
Requires-Dist: scipy>=1.14.1
Requires-Dist: sympy>=1.13.1
Requires-Dist: tabulate>=0.9.0
Requires-Dist: tqdm>=4.66.5
Requires-Dist: midas-mosaik[base]>=2.1.0 ; extra == 'palaestrai'
Requires-Dist: midas-store>=2.1.0 ; extra == 'palaestrai'
Requires-Dist: mosaik-api-v3>=3.0.13 ; extra == 'palaestrai'
Requires-Dist: mosaik>=3.5.0 ; extra == 'palaestrai'
Requires-Dist: palaestrai-agents>=3.5.4 ; extra == 'palaestrai'
Requires-Dist: palaestrai>=3.5.8 ; extra == 'palaestrai'
Requires-Dist: lightning>=2.4.0 ; extra == 'palaestrai'
Requires-Dist: torch>=2.5.0 ; extra == 'palaestrai'
Requires-Dist: pysr>=1.5.9 ; extra == 'pysr'
Requires-Dist: river>=0.21.0 ; extra == 'river'
Requires-Dist: lightning>=2.4.0 ; extra == 'torch'
Requires-Dist: torch>=2.5.0 ; extra == 'torch'
Requires-Dist: xgboost>=3.0.2 ; extra == 'xgboost'
Requires-Python: >=3.12, <4.0
Project-URL: Documentation, https://flowcean.me/
Project-URL: Issues, https://github.com/flowcean/flowcean/issues
Project-URL: Source, https://github.com/flowcean/flowcean
Provides-Extra: palaestrai
Provides-Extra: pysr
Provides-Extra: river
Provides-Extra: torch
Provides-Extra: xgboost
Description-Content-Type: text/markdown

# Flowcean

[![Actions status](https://github.com/flowcean/flowcean/actions/workflows/ci.yml/badge.svg)](https://github.com/flowcean/flowcean/actions)
[![docs status](https://github.com/flowcean/flowcean/actions/workflows/pages.yml/badge.svg)](https://flowcean.me)
[![PyPI - Version](https://img.shields.io/pypi/v/flowcean)](https://pypi.python.org/pypi/flowcean)
[![License](https://img.shields.io/github/license/flowcean/flowcean)](https://github.com/flowcean/flowcean/blob/main/LICENSE)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flowcean)](https://pypi.python.org/pypi/flowcean)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Pyright](https://img.shields.io/badge/types-Pyright-blue.svg)](https://github.com/microsoft/pyright)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

Flowcean is a research-oriented Python toolkit for defining, simulating, identifying, evaluating, and reproducing models of cyber-physical systems.

Flowcean builds on research into automatic model generation for CPS. Its established environments, transforms, offline, incremental, and active learning strategies, metrics, adapters, and backend integrations remain central to the toolkit. First-class support for hybrid dynamical systems connects these capabilities to explicit system structure and simulation without restricting Flowcean to hybrid models.

## Capabilities

- Define and simulate hybrid systems with continuous dynamics, events, transitions, and resets.
- Identify hybrid dynamics and mode selectors with HyDRA.
- Learn models from offline datasets, incremental streams, and active environments.
- Compose reusable environments, transforms, learners, models, metrics, and evaluation strategies.
- Integrate established Python ML libraries and native automata learning through backend packages and adapters.

## Installation

```sh
pip install flowcean
```

See the [installation guide](https://flowcean.me/getting_started/installation/) and [hybrid systems guide](https://flowcean.me/user_guide/hybrid_systems/) for the next steps.

## Documentation

Flowcean documentation is available at [flowcean.me](https://flowcean.me). User-visible changes are recorded in the [changelog](https://github.com/flowcean/flowcean/blob/main/CHANGELOG.md).

## Contributing

We welcome open-source contributions that advance CPS modeling research. See the [code of conduct](https://github.com/flowcean/flowcean/blob/main/CODE_OF_CONDUCT.md) before contributing.

## License

Flowcean is licensed under the 3-Clause BSD License ([LICENSE](https://github.com/flowcean/flowcean/blob/main/LICENSE) or [https://opensource.org/license/bsd-3-clause](https://opensource.org/license/bsd-3-clause)).
