Skip to content

Code-Inspect/osf-to-binder

Repository files navigation

OSF-to-Binder

OSF-to-Binder is a tool for automatically building reproducible repositories from source-code of scientific publications. It automatically analyzes the code, adds dependencies, builds a binder-ready repository and executes the code in the project.

Project Structure

osf-to-binder/
├── pipeline/          # Analysis pipeline code
├── repos/             # Created binder-ready repositories
├── results/           # Code execution results
├── logs/              # Log files from analysis runs
├── metadata/          # Metadata and analysis configurations
├── downloads/         # Storage for downloaded osf files
├── pyproject.toml     # Project dependencies
└── uv.lock            # Locked dependency versions

Prerequisites

Installation

  1. Install uv (if not already installed):
# On macOS with Homebrew
brew install uv

# On Linux/Windows, follow instructions at:
# https://docs.astral.sh/uv/getting-started/installation/
  1. Clone the repository:
git clone https://github.com/Code-Inspect/osf-to-binder
cd osf-to-binder

Usage

  1. Configure your analysis settings in the metadata directory
  2. Run the analysis pipeline:
uv run pipeline/run.py <project_id>  # Process a single project

# OR

uv run pipeline/run.py metadata/project_ids.txt  # Process multiple projects from a file

The tool will:

  • Download and unzip OSF project files
  • Extract dependencies from R scripts using flowR
  • Create a docker container using repo2docker
  • Build and run Docker containers
  • Execute R scripts in the container
  • Log all operations and results

This work was funded by the German Research Foundation (DFG) under project No. 504226141.

About

OSF-to-Binder is a tool for automatically building reproducible repositories

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages