Decentralized collaboration for the AutoRA Python package with a functional paradigm and namespace packages

AutoRA – the Automated Research Assistant – is a growing collection of python packages for running fully automated psychological experiments online. It allows the user to automate the specification of experimental conditions, data collection, and theory derivation, cycling back to specifying new experimental conditions. One primary goal of the PI was to allow unaffiliated developers to contribute new methods for generating experimental conditions, and new regression techniques for theory derivation. But taking the naïve monorepo approach would be too costly: either 1) testing all of the contributions for every change to the code – which would be too costly as some of the contributions train neural networks as part of their execution and require hours to run; or 2) would require configuring the CI so that only relevant parts of the code were tested for each pull request – which would mean a high maintenance burden. Furthermore, since this work is about applying ML to experiments run on people, it’s vital that every submission be ethically vetted before it can be part of the official release. Thus, one primary goal of our work was to allow for decentralized extensibility, so that contributors unaffiliated with the core team could easily innovate and share new functionality without leading to a high centralized maintenance and testing costs. Another was to ensure that contributions could be vetted and included easily. We’ll present how RSEs helped to establish a common interface based around a simple functional paradigm, with namespace packages spread across multiple repositories so that each contributor could be owner of and responsible for their own work, and how their contributions are integrated into the main package. We’ll also look at how we enable contributors to start their work quickly using templates.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-10-15
DOI
https://doi.org/10.5281/zenodo.13942805
Primary Topic
Explainable Artificial Intelligence (XAI)
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Decentralized collaboration for the AutoRA Python package with a functional paradigm and namespace packages

Zenodo (CERN European Organization for Nuclear Research)
Explainable Artificial Intelligence (XAI)
article

Decentralized collaboration for the AutoRA Python package with a functional paradigm and namespace packages

article en

Abstract

AutoRA – the Automated Research Assistant – is a growing collection of python packages for running fully automated psychological experiments online. It allows the user to automate the specification of experimental conditions, data collection, and theory derivation, cycling back to specifying new experimental conditions. One primary goal of the PI was to allow unaffiliated developers to contribute new methods for generating experimental conditions, and new regression techniques for theory derivation. But taking the naïve monorepo approach would be too costly: either 1) testing all of the contributions for every change to the code – which would be too costly as some of the contributions train neural networks as part of their execution and require hours to run; or 2) would require configuring the CI so that only relevant parts of the code were tested for each pull request – which would mean a high maintenance burden. Furthermore, since this work is about applying ML to experiments run on people, it’s vital that every submission be ethically vetted before it can be part of the official release. Thus, one primary goal of our work was to allow for decentralized extensibility, so that contributors unaffiliated with the core team could easily innovate and share new functionality without leading to a high centralized maintenance and testing costs. Another was to ensure that contributions could be vetted and included easily. We’ll present how RSEs helped to establish a common interface based around a simple functional paradigm, with namespace packages spread across multiple repositories so that each contributor could be owner of and responsible for their own work, and how their contributions are integrated into the main package. We’ll also look at how we enable contributors to start their work quickly using templates.

Zenodo (CERN European Organization for Nuclear Research)
John Brown University (US)
Openalex Percentile: Top 57%
Explainable Artificial Intelligence (XAI)
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Decentralized collaboration for the AutoRA Python package with a functional paradigm and namespace packages · Zenodo (CERN European Organization for Nuclear Research) (2024) | TGRS Research Map | TGRS