feat: add VS Code / Codespaces dev containers (closes #843)#1071
Open
christianescamilla15-cell wants to merge 1 commit intobilby-dev:mainfrom
Open
feat: add VS Code / Codespaces dev containers (closes #843)#1071christianescamilla15-cell wants to merge 1 commit intobilby-dev:mainfrom
christianescamilla15-cell wants to merge 1 commit intobilby-dev:mainfrom
Conversation
Adds two Dev Container configurations to the repository: 1. .devcontainer/devcontainer.json — Core container - Python 3.12 base image - Installs requirements.txt + sampler_requirements.txt + optional_requirements.txt - Suitable for core bilby work (non-GW) - Lightweight, fast to build 2. .devcontainer/gw/devcontainer.json — GW container - Same base but additionally installs gw_requirements.txt - Installs C deps (libfftw3, libgsl, libhdf5) needed for LALSuite - Requires 4 CPUs / 8 GB RAM - For bilby.gw development Both containers include: - Git and GitHub CLI features - VS Code extensions: Python, Pylance, Ruff, Black, Jupyter, GitLens, autoDocstring - Pytest configured for test/ directory Documentation added in .devcontainer/README.md explaining usage for both local VS Code and GitHub Codespaces workflows.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Dev Container configurations to bilby, enabling instant reproducible development environments via VS Code's Dev Containers extension or GitHub Codespaces.
Closes #843.
Why two containers?
As suggested in the issue, GW dependencies (lalsuite, gwpy, pyfftw) are heavy and require C libraries. Developers working on core bilby, samplers, or hyperparameter inference don't need them. Providing two configurations gives contributors a choice:
What's included
.devcontainer/devcontainer.json (default, core)
.devcontainer/gw/devcontainer.json (full GW)
Same as core, plus:
.devcontainer/README.md
Documentation explaining:
Test plan
Usage
Once merged, contributors can:
Both paths give a fully working bilby development environment in minutes without polluting the host system.
References