PyExperimenter

PyExperimenter: Easily distribute experiments and track results - Published in JOSS (2023)

https://github.com/tornede/py_experimenter

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    3 of 9 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

database executor experiments python
Last synced: 4 months ago · JSON representation ·

Repository

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.

Basic Info
Statistics
  • Stars: 39
  • Watchers: 4
  • Forks: 3
  • Open Issues: 22
  • Releases: 11
Topics
database executor experiments python
Created over 4 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

Project Homepage Pypi License DOI

Tests GitHub Pages

PyExperimenter Logo: Python biting a database

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`.

For more details check out the PyExperimenter documentation:

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} }

Owner

  • Login: tornede
  • Kind: user

JOSS Publication

PyExperimenter: Easily distribute experiments and track results
Published
April 20, 2023
Volume 8, Issue 84, Page 5149
Authors
Tanja Tornede ORCID
Department of Computer Science, Paderborn University, Germany
Alexander Tornede ORCID
Department of Computer Science, Paderborn University, Germany
Lukas Fehring ORCID
Department of Computer Science, Paderborn University, Germany
Lukas Gehring
Department of Computer Science, Paderborn University, Germany
Helena Graf ORCID
Department of Computer Science, Paderborn University, Germany
Jonas Hanselle ORCID
Department of Computer Science, Paderborn University, Germany
Felix Mohr ORCID
Universidad de La Sabana, Chia, Cundinamarca, Colombia
Marcel Wever ORCID
MCML, Institut for Informatics, LMU Munich, Germany
Editor
Tim Tröndle ORCID
Tags
Experiments Executor Database

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Tornede
  given-names: Tanja
  orcid: "https://orcid.org/0000-0001-9954-462X"
- family-names: Tornede
  given-names: Alexander
  orcid: "https://orcid.org/0000-0002-2415-2186"
- family-names: Fehring
  given-names: Lukas
  orcid: "https://orcid.org/0000-0001-8057-4650"
- family-names: Gehring
  given-names: Lukas
- family-names: Graf
  given-names: Helena
  orcid: "https://orcid.org/0000-0001-9447-0609"
- family-names: Hanselle
  given-names: Jonas
  orcid: "https://orcid.org/0000-0002-1231-4985"
- family-names: Mohr
  given-names: Felix
  orcid: "https://orcid.org/0000-0002-9293-2424"
- family-names: Wever
  given-names: Marcel
  orcid: "https://orcid.org/0000-0001-9782-6818"
contact:
- family-names: Tornede
  given-names: Tanja
  orcid: "https://orcid.org/0000-0001-9954-462X"
doi: 10.5281/zenodo.7838280
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Tornede
    given-names: Tanja
    orcid: "https://orcid.org/0000-0001-9954-462X"
  - family-names: Tornede
    given-names: Alexander
    orcid: "https://orcid.org/0000-0002-2415-2186"
  - family-names: Fehring
    given-names: Lukas
    orcid: "https://orcid.org/0000-0001-8057-4650"
  - family-names: Gehring
    given-names: Lukas
  - family-names: Graf
    given-names: Helena
    orcid: "https://orcid.org/0000-0001-9447-0609"
  - family-names: Hanselle
    given-names: Jonas
    orcid: "https://orcid.org/0000-0002-1231-4985"
  - family-names: Mohr
    given-names: Felix
    orcid: "https://orcid.org/0000-0002-9293-2424"
  - family-names: Wever
    given-names: Marcel
    orcid: "https://orcid.org/0000-0001-9782-6818"
  date-published: 2023-04-20
  doi: 10.21105/joss.05149
  issn: 2475-9066
  issue: 84
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5149
  title: "PyExperimenter: Easily distribute experiments and track
    results"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05149"
  volume: 8
title: "PyExperimenter: Easily distribute experiments and track results"

GitHub Events

Total
  • Issues event: 11
  • Watch event: 4
  • Push event: 14
  • Pull request review comment event: 2
  • Pull request review event: 4
  • Pull request event: 6
  • Create event: 2
Last Year
  • Issues event: 11
  • Watch event: 4
  • Push event: 14
  • Pull request review comment event: 2
  • Pull request review event: 4
  • Pull request event: 6
  • Create event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 156
  • Total Committers: 9
  • Avg Commits per committer: 17.333
  • Development Distribution Score (DDS): 0.679
Past Year
  • Commits: 14
  • Committers: 1
  • Avg Commits per committer: 14.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
LukasFehring 7****g 50
lgehring l****g@L****l 43
tornede 4****e 39
Lukas Gehring l****g@u****e 9
tornede t****e@m****e 6
lgehring l****g@L****x 4
Jonas Hanselle j****l@m****e 2
Lukas Fehring f****2@m****e 2
Stefan Heid s****d@m****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 79
  • Total pull requests: 141
  • Average time to close issues: 3 months
  • Average time to close pull requests: 18 days
  • Total issue authors: 11
  • Total pull request authors: 7
  • Average comments per issue: 0.87
  • Average comments per pull request: 0.31
  • Merged pull requests: 116
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 9
  • Pull requests: 8
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 1 month
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • LukasFehring (27)
  • tornede (25)
  • fmohr (10)
  • mwever (5)
  • helegraf (3)
  • eddiebergman (2)
  • tomviering (1)
  • alexandertornede (1)
  • JonasHanselle (1)
  • slimyjimmy (1)
  • schnorr (1)
Pull Request Authors
  • LukasFehring (64)
  • tornede (62)
  • ArsamAryandoust (7)
  • fmohr (3)
  • kiudee (2)
  • stheid (2)
  • helegraf (1)
Top Labels
Issue Labels
enhancement (16) bug (10) documentation (3) code quality improvement (2) help wanted (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 488 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 16
  • Total maintainers: 4
pypi.org: py-experimenter

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.

  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 488 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 12.6%
Average: 16.4%
Forks count: 16.9%
Downloads: 20.7%
Dependent repos count: 21.8%
Last synced: 4 months ago

Dependencies

.github/workflows/github-pages.yml actions
  • actions/checkout v2 composite
  • actions/checkout master composite
  • actions/setup-python v2 composite
  • ad-m/github-push-action master composite
  • nikeee/setup-pandoc v1 composite
  • sphinx-notes/pages v2 composite
.github/workflows/paper-draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/tests.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • snok/install-poetry v1 composite
poetry.lock pypi
  • 113 dependencies
pyproject.toml pypi
  • jupyterlab ^3.5.0
  • mysql-connector-python >=8.0
  • numpy >=1.15
  • pandas >=1.0
  • python ^3.7