Skip to content

refactor(anaconda): ♻️ refactor & update to 24.5.0 #1296

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ran-dall
Copy link

@ran-dall ran-dall commented Mar 11, 2025

I've supercharged the Anaconda DevContainer feature after dealing with numerous issues because of outdated versions and compatibility problems across different environments. So, I took some time to completely revamp this (for work reasons mainly), and thereby thought to contribute back here. The result might be more robust than necessary, but I've written it in a functional manner that makes it easy to edit if there are maintenance concerns.

A major addition is mamba support – a much faster package manager that's becoming standard across Anaconda deployments. Having it installed alongside conda gives users more options without any drawbacks. I personally prefer using Mamba now because environment setup takes significantly less time than before.

I've introduced several new configuration options: users can now toggle useCondaForge for better package compatibility and more permissive licensing, control Mamba installation with installMamba, configure system package manager usage via useSystemPackages, and choose between full Anaconda or minimal Miniconda with installFullAnaconda.

I've also changed the default to miniconda since for our use-case it makes more sense and it manages to do most of what you need in most cases, also, it doesn't take 6+ mins to bootstrap on some machines. However, I can understand if we want to revert this back to installing full Anaconda by default. Either way, I've included both options.

The installation script is now smarter, detecting which Linux distribution it's running on and adapting accordingly. I've added logging and created helpful aliases for frequently used commands. I had some trouble using the devcontainer CLI tool, but the documentation has been completely revamped to showcase all these new features, and the test suite has been rebuilt to be more reliable across different environments.

It should also now be updated to the latest version.

Update: I made a little project repo: https://github.com/ran-dall/devcontainer-features-anaconda

@ran-dall ran-dall requested a review from a team as a code owner March 11, 2025 14:46
@ran-dall ran-dall force-pushed the refactor/anaconda branch from bb72c1b to b4f1bb2 Compare March 12, 2025 02:19
This commit completely overhauls the Anaconda DevContainer feature to address outdated containers and compatibility issues across different environments. I've added Mamba support, which provides significantly faster package management alongside traditional Conda. The installation script now detects and adapts to various Linux distributions, making it more robust across platforms.
@ran-dall ran-dall force-pushed the refactor/anaconda branch from b4f1bb2 to 75a2350 Compare March 12, 2025 02:20
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.

1 participant