py-experimenter


Namepy-experimenter JSON
Version 1.4.0 PyPI version JSON
download
home_pagehttps://github.com/tornede/py_experimenter
SummaryThe PyExperimenter is a tool for the automatic execution of experiments, e.g. for machine learning (ML), capturing corresponding results in a unified manner in a database.
upload_time2024-02-20 16:45:16
maintainer
docs_urlNone
authorTanja Tornede
requires_python>=3.9,<4.0
licenseMIT
keywords python experiments database executor
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Project Homepage](https://img.shields.io/badge/Project%20Homepage-tornede.github.io/py_experimenter-0092CD)](https://tornede.github.io/py_experimenter)
[![Pypi](https://img.shields.io/pypi/v/py_experimenter)](https://pypi.org/project/py-experimenter/)
[![License](https://img.shields.io/github/license/tornede/py_experimenter)](https://tornede.github.io/py_experimenter/license.html)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.05149/status.svg)](https://doi.org/10.21105/joss.05149)

![Tests](https://github.com/tornede/py_experimenter/actions/workflows/tests.yml/badge.svg)
![GitHub Pages](https://github.com/tornede/py_experimenter/actions/workflows/github-pages.yml/badge.svg)

<img src="docs/source/_static/py-experimenter-logo.png" alt="PyExperimenter Logo: Python biting a database" width="200px"/>

# PyExperimenter

`PyExperimenter` is a tool to facilitate the setup, documentation, execution, and subsequent evaluation of results from an empirical study of algorithms and in particular is designed to reduce the involved manual effort significantly.
It is intended to be used by researchers in the field of artificial intelligence, but is not limited to those.

The empirical analysis of algorithms is often accompanied by the execution of algorithms for different inputs and variants of the algorithms (specified via parameters) and the measurement of non-functional properties.
Since the individual evaluations are usually independent, the evaluation can be performed in a distributed manner on an HPC system.
However, setting up, documenting, and evaluating the results of such a study is often file-based.
Usually, this requires extensive manual work to create configuration files for the inputs or to read and aggregate measured results from a report file.
In addition, monitoring and restarting individual executions is tedious and time-consuming.

These challenges are addressed by `PyExperimenter` by means of a single well defined configuration file and a central database for managing massively parallel evaluations, as well as collecting and aggregating their results.
Thereby, `PyExperimenter` alleviates the aforementioned overhead and allows experiment executions to be defined and monitored with ease.

![General schema of `PyExperimenter`.](docs/source/_static/workflow.png)

For more details check out the [`PyExperimenter` documentation](https://tornede.github.io/py_experimenter/):

- [Installation](https://tornede.github.io/py_experimenter/installation.html)
- [Examples](https://tornede.github.io/py_experimenter/examples/example_general_usage.html)

## Cite PyExperimenter

If you use `PyExperimenter` in a scientific publication, we would appreciate a citation in one of the following ways.

### Citation String

Tornede et al., (2023). PyExperimenter: Easily distribute experiments and track results. Journal of Open Source Software, 8(84), 5149, https://doi.org/10.21105/joss.05149

### BibTex
```
@article{Tornede2023, 
    title = {{PyExperimenter}: Easily distribute experiments and track results}, 
    author = {Tanja Tornede and Alexander Tornede and Lukas Fehring and Lukas Gehring and Helena Graf and Jonas Hanselle and Felix Mohr and Marcel Wever}, 
    journal = {Journal of Open Source Software},
    publisher = {The Open Journal},  
    year = {2023}, 
    volume = {8}, 
    number = {84}, 
    pages = {5149}, 
    doi = {10.21105/joss.05149}, 
    url = {https://doi.org/10.21105/joss.05149}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tornede/py_experimenter",
    "name": "py-experimenter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "python,experiments,database,executor",
    "author": "Tanja Tornede",
    "author_email": "t.tornede@ai.uni-hannover.de",
    "download_url": "https://files.pythonhosted.org/packages/81/57/8524086464fcb0cbd00fe2b382db151b854fd4679ba140d11438cc016218/py_experimenter-1.4.0.tar.gz",
    "platform": null,
    "description": "[![Project Homepage](https://img.shields.io/badge/Project%20Homepage-tornede.github.io/py_experimenter-0092CD)](https://tornede.github.io/py_experimenter)\n[![Pypi](https://img.shields.io/pypi/v/py_experimenter)](https://pypi.org/project/py-experimenter/)\n[![License](https://img.shields.io/github/license/tornede/py_experimenter)](https://tornede.github.io/py_experimenter/license.html)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.05149/status.svg)](https://doi.org/10.21105/joss.05149)\n\n![Tests](https://github.com/tornede/py_experimenter/actions/workflows/tests.yml/badge.svg)\n![GitHub Pages](https://github.com/tornede/py_experimenter/actions/workflows/github-pages.yml/badge.svg)\n\n<img src=\"docs/source/_static/py-experimenter-logo.png\" alt=\"PyExperimenter Logo: Python biting a database\" width=\"200px\"/>\n\n# PyExperimenter\n\n`PyExperimenter` is a tool to facilitate the setup, documentation, execution, and subsequent evaluation of results from an empirical study of algorithms and in particular is designed to reduce the involved manual effort significantly.\nIt is intended to be used by researchers in the field of artificial intelligence, but is not limited to those.\n\nThe empirical analysis of algorithms is often accompanied by the execution of algorithms for different inputs and variants of the algorithms (specified via parameters) and the measurement of non-functional properties.\nSince the individual evaluations are usually independent, the evaluation can be performed in a distributed manner on an HPC system.\nHowever, setting up, documenting, and evaluating the results of such a study is often file-based.\nUsually, this requires extensive manual work to create configuration files for the inputs or to read and aggregate measured results from a report file.\nIn addition, monitoring and restarting individual executions is tedious and time-consuming.\n\nThese challenges are addressed by `PyExperimenter` by means of a single well defined configuration file and a central database for managing massively parallel evaluations, as well as collecting and aggregating their results.\nThereby, `PyExperimenter` alleviates the aforementioned overhead and allows experiment executions to be defined and monitored with ease.\n\n![General schema of `PyExperimenter`.](docs/source/_static/workflow.png)\n\nFor more details check out the [`PyExperimenter` documentation](https://tornede.github.io/py_experimenter/):\n\n- [Installation](https://tornede.github.io/py_experimenter/installation.html)\n- [Examples](https://tornede.github.io/py_experimenter/examples/example_general_usage.html)\n\n## Cite PyExperimenter\n\nIf you use `PyExperimenter` in a scientific publication, we would appreciate a citation in one of the following ways.\n\n### Citation String\n\nTornede et al., (2023). PyExperimenter: Easily distribute experiments and track results. Journal of Open Source Software, 8(84), 5149, https://doi.org/10.21105/joss.05149\n\n### BibTex\n```\n@article{Tornede2023, \n    title = {{PyExperimenter}: Easily distribute experiments and track results}, \n    author = {Tanja Tornede and Alexander Tornede and Lukas Fehring and Lukas Gehring and Helena Graf and Jonas Hanselle and Felix Mohr and Marcel Wever}, \n    journal = {Journal of Open Source Software},\n    publisher = {The Open Journal},  \n    year = {2023}, \n    volume = {8}, \n    number = {84}, \n    pages = {5149}, \n    doi = {10.21105/joss.05149}, \n    url = {https://doi.org/10.21105/joss.05149}\n}\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "The PyExperimenter is a tool for the automatic execution of experiments, e.g. for machine learning (ML), capturing corresponding results in a unified manner in a database.",
    "version": "1.4.0",
    "project_urls": {
        "Documentation": "https://tornede.github.io/py_experimenter/",
        "Homepage": "https://github.com/tornede/py_experimenter",
        "Repository": "https://github.com/tornede/py_experimenter"
    },
    "split_keywords": [
        "python",
        "experiments",
        "database",
        "executor"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d4d23806d179ba8732610a3cb8a3d6ee55d9f02a1005490202331039cfaec7b6",
                "md5": "d2c6c1e3e2518e31f550022f0c0d9b53",
                "sha256": "01add0363ead4f2cfd6e1b685e94efd535877846389820dd8094932731ed6ea3"
            },
            "downloads": -1,
            "filename": "py_experimenter-1.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d2c6c1e3e2518e31f550022f0c0d9b53",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 24297,
            "upload_time": "2024-02-20T16:45:13",
            "upload_time_iso_8601": "2024-02-20T16:45:13.650288Z",
            "url": "https://files.pythonhosted.org/packages/d4/d2/3806d179ba8732610a3cb8a3d6ee55d9f02a1005490202331039cfaec7b6/py_experimenter-1.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81578524086464fcb0cbd00fe2b382db151b854fd4679ba140d11438cc016218",
                "md5": "d18bdfb54fde50b00f370eb6343a6121",
                "sha256": "b3b30bab5dbf6b2d70fcf54b273a4dfa69ca66b5a913bc068cbd07446c7b6753"
            },
            "downloads": -1,
            "filename": "py_experimenter-1.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d18bdfb54fde50b00f370eb6343a6121",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 22104,
            "upload_time": "2024-02-20T16:45:16",
            "upload_time_iso_8601": "2024-02-20T16:45:16.545283Z",
            "url": "https://files.pythonhosted.org/packages/81/57/8524086464fcb0cbd00fe2b382db151b854fd4679ba140d11438cc016218/py_experimenter-1.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-20 16:45:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tornede",
    "github_project": "py_experimenter",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "py-experimenter"
}
        
Elapsed time: 0.18907s