rseng-reproducible-environments

Solid

Covers making research software environments reproducible: pinning a language version and its dependencies in a per-project virtual environment, choosing a package/environment manager, and packaging code and its full stack into a container. Use when the user asks how to set up venv/conda/poetry/uv/renv, lock or pin dependencies, share a runnable environment, escape "dependency hell" or "works on my machine", write a Dockerfile, build an Apptainer/Singularity image for HPC, or decide between a virtual environment and a container. For regenerating a project's results end to end see rseng-reproducibility; for environments of multi-step pipelines see rseng-workflows.

DevOps & Infrastructure 14 stars 2 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
39
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Reproducible software environments Use this skill when software must behave the same on another machine, a cluster, a CI runner, or a reviewer's laptop as it does on the author's. Two complementary tools deliver this: a per-project virtual environment that isolates the language interpreter and its libraries, and a container that packages the code together with its entire dependency stack. Reach for the virtual environment when developing or modifying code in one language; reach for the container when the environment must travel across machines, platforms, or pipelines unchanged. ## Pick the right level of isolation Match the tool to how far the software has to travel and what it depends on: - Language-specific virtual environment - isolates one interpreter/compiler version plus library versions for a single project. Default choice while developing, running, or modifying someone's code in one language. - Container (Docker, Apptainer/Singularity, Docker Compose) - packages the whole environment, including non-language system libraries and OS-level config. Choose when the code must run unchanged across collaborators' machines, clusters, or cloud, or plug into CI/CD. - System-level tools (Vagrant, NixOS, Packer) - reproduce a whole machine image or OS configuration as code. Use when the OS itself is part of what must be reproduced. - Workflow environments (Nextflow, Snakemake, Galaxy, CWL/WDL) - manage reproducible environments for multi-step, multi-tool ana...

Details

Author
fdiblen
Repository
fdiblen/rseng-agent-skills
Created
4 days ago
Last Updated
4 days ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

rseng-reproducibility

Covers end-to-end computational reproducibility: making a project's results regenerable with one command, determinism and seed discipline, research compendium structure, replication packages for papers, Binder-launchable repositories, artifact evaluation and reproducibility badges. Use PROACTIVELY when the user wants results others can reproduce, prepares a replication package or artifact submission, mentions reproducibility, research compendia, Binder or badges, asks why results differ between runs or machines, or is about to publish results whose regeneration path is untested. (Pinning environments: rseng-reproducible-environments; pipeline automation: rseng-workflows; run-level lineage: rseng-provenance.)

14 Updated 4 days ago
fdiblen
DevOps & Infrastructure Listed

environments

Virtual-environment-first setup for robotics projects: decide uv/venv vs Docker, make local and remote-server runs reproduce identically, handle GPU passthrough and headless/display forwarding. Use when: setting up any new robotics project environment; 'uv', 'venv', 'virtualenv', 'docker for this project', 'reproducible environment', 'works locally but not on the server', 'GPU in container'. Load early in any robium build, right after architect. Decision rule of thumb: pure-Python ML stacks → uv; anything needing ROS 2 or system deps → Docker. Not for: multi-module application Dockerfiles and compose wiring (integration skill).

0 Updated 1 months ago
robium-ai