Metadata-Version: 2.1
Name: eiffel-framework
Version: 0.2.0
Summary: Evaluation Framework for FL-based intrusion detection using Flower.
License: MIT
Author: phdcybersec
Author-email: 82591009+phdcybersec@users.noreply.github.com
Requires-Python: >=3.10,<3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: flwr[simulation] (>=1.5.0,<2.0.0)
Requires-Dist: hydra-core (>=1.3.2,<2.0.0)
Requires-Dist: matplotlib (>=3.8.0,<4.0.0)
Requires-Dist: pandas (>=2.0.3,<3.0.0)
Requires-Dist: scikit-learn (>=1.3.0,<2.0.0)
Requires-Dist: tensorflow (>=2.10.0,<2.11.0)
Requires-Dist: tqdm (>=4.66.1,<5.0.0)
Description-Content-Type: text/markdown

# eiffel
Evaluation framework for FL-based intrusion detection using Flower.

## Usage

### As a tool

You can use `eiffel` as an experiment engine.
To do so, you need to provide a configuration file entitled `config.yaml`, which will be passed to Hydra.

```bash
python -m eiffel -cd path/to/workdir/
```

By default, `eiffel` will look for a Git repository, either in the current directory or in one of its parents.
The root of the repository will be used as the working directory for Hydra, meaning that the default `outputs/` and `multirun/` directories will be created there.

### As a library



## Readings for the integration with Hydra
* [Hydra\: Your Own Configuration Files — Maze documentation](https://maze-rl.readthedocs.io/en/latest/concepts_and_structure/hydra/custom_config.html "Hydra: Your Own Configuration Files — Maze documentation")
* [Hydra\: Your Own Configuration Files — Maze documentation](https://maze-rl.readthedocs.io/en/latest/concepts_and_structure/hydra/custom_config.html#hydra-custom-components "Hydra: Your Own Configuration Files — Maze documentation")
* [Experiment Configuration — Maze documentation](https://maze-rl.readthedocs.io/en/latest/workflow/experimenting.html#experimenting "Experiment Configuration — Maze documentation")
* [Configuring Experiments \| Hydra](https://hydra.cc/docs/patterns/configuring_experiments/ "Configuring Experiments | Hydra")

