# 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
If [available in Hex](https://hex.pm/docs/publish), 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
```
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at <https://hexdocs.pm/experiment_runner>.
## 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!