README.md

# ExperimentRunner

ExperimentRunner is a software package for easier sharing, maintaining, and running scientific experiments. The entire package is designed to be easily integrated into a container environment and allow easier reproducibility of scientific experiments.

Current features of this package:
- The experiment is defined in a Yaml file so it can be easily shared among platforms.
- Datasets can be automatically downloaded from online repositories.
- Source code can be cloned and later built locally.
...

## Installation

The package can be installed by adding `experiment_runner` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:experiment_runner, "~> 0.1.0"}
  ]
end
```

## Examples

### How to define an experiment in the YAML file?

```yaml
---
{
  "name": "Nia experiment",
  "description": "NiaPy test suite",
  "version": 0.1,
  "last_revision": 21.1.2023,
  "datasets": ["https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data", "https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data", "https://raw.githubusercontent.com/lukapecnik/NiaClass/master/examples/example_files/dataset.csv"],
  "repositories": ["https://gitlab.com/firefly-cpp/nia-test-experiments"],
  "scripts": [ {name: script1, lang: :python, command: run.py}, {name: script2, lang: :python, command: nia_test_experiments/src/niapy_pso.py} ]
}
```

## License
This package is distributed under the MIT License. This license can be found online at <http://www.opensource.org/licenses/MIT>.

## Disclaimer
This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!