Skip to content

Add dev container configuration - #736

Merged
FrancescAlted merged 1 commit into
Blosc:mainfrom
a18rhodes:add-devcontainer
Oct 23, 2026
Merged

FrancescAlted merged 1 commit into
Blosc:mainfrom
a18rhodes:add-devcontainer

Conversation

@a18rhodes

@a18rhodes a18rhodes commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Adding a dev container configuration to make developing in the project more portable.

The container created by the config provides a stable, known-good environment to start development. It is purely additive, and folks who do not want to use it can simply ignore it.

What's included

The container:

  • is built on one of Microsoft's Python 3.12 images, to match the Python version of the main CI job
  • includes uv and pandoc as added features (pandoc is required for nbsphinx doc builds)
  • installs the dev, test, and doc groups with uv sync when the container is created
  • installs the pre-commit git hooks
  • keeps the venv outside the checkout, so it doesn't clash with the host's .venv

devcontainer-lock.json pins the versions of each feature for reproducibility

Added a new section to README_DEVELOPERS.md.

Notes

  • There is no Dockerfile to maintain; that is managed by the Microsoft image.
  • Updates mean bumping the image tag when the Python version in CI moves, and occasionally regenerating the lockfile.
  • uv.lock is not tracked or ignored in .gitignore; this means every user who uses the dev container will get the uv.lock file and it will be untracked. This is true today for anyone who currently runs uv sync anyway. I will follow up with a future PR on adding the uv.lock to version control or ignoring it based on the maintainer's preferences.

Testing

I tested on Windows 11 via WSL2 and Docker Desktop in VS Code. After rebasing onto main, import was successful, pytest ran successfully, docs can be built, and pre-commit runs as expected.

I did not test macOS or Apple Silicon, GitHub Codespaces, or other editors. The image includes arm64 builds, but I did not test that.

AI disclosure

I used AI to help build out the dev container and to help with phrasing the new sections in the README and in this PR. I fact-checked every point and understand the full intent of the dev container file.

Dev container docs

@FrancescAlted FrancescAlted left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a cool addition for those that require a container for making proper development. It is also well documented. Thanks @a18rhodes !

@FrancescAlted
FrancescAlted merged commit 9eafff5 into Blosc:main Oct 23, 2026
10 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants