Welcome to the second issue of the conda Community Newsletter! We're excited to bring you the latest updates and insights, packed with valuable information and exciting developments.
In this issue, we've got a diverse range of topics to cover, including Upcoming Events, new tools like conda-store, thought-provoking discussions on conda's free nature, plugin hooks, and intriguing projects like Pandata. Plus, we'll delve into recent releases that promise to enhance your conda experience.
And if you don't want to miss out on future editions, be sure to Sign-up for the conda Announce Mailing List.
So, without further ado, let's dive into this issue and explore the exciting developments happening in the world of conda.
Community Member, Dave Clements will be leading a tutorial on publishing open-source software to conda-forge. Conda-forge is a thriving community-managed channel within the conda ecosystem, boasting over 20,000 packages and serving billions of downloads annually. In this hands-on tutorial, you'll grasp the fundamentals of software packaging, understand the conda ecosystem, and explore the process of preparing and publishing your software on conda-forge.
- Introduction to software packaging concepts and challenges.
- Diving into the conda ecosystem.
- Step-by-step guide to preparing a sample software package for conda-forge.
- Building your package using conda-build.
- Submission and publication of your package on conda-forge.
- Porting packages from PyPA/pip (Python) or CRAN (R) to conda.
To know more about this tutorial, visit the US-RSE Page.
- When: October 26-28, 2023
- Where: Berlin (Hybrid, so online is an option too!)
- Early Registration Ends: September 8, 2023
PackagingCon 2023 is your opportunity to connect with software packaging experts, discuss best practices, and tackle common challenges. Whether you're a developer, packager, or part of a packaging community, this conference is a must-attend.
Registration: Early bird rates start at €37.50 for virtual and €150 for in-person. Discounts available for students and early registrants. Early registration ends on September 8!.
For more information, you can also check out Dave Clements' post on PackagingCon.
Experience enhanced flexibility and reliability with conda-store, a powerful tool that simplifies conda environment management.
What is conda-store?
conda-store seamlessly integrates conda environments, offering flexibility for individual data scientists and administrators alike. It streamlines environment lifecycle management, adhering to best practices.
🔑 Flexibility: Customize environments with a GUI or YAML editor, adapting them to your specific needs.
🔑 Reproducibility: conda-store generates auto-artifacts for sharing and exact version control, ensuring reproducibility.
🔑 Governance: Admin-approved packages, version control, and channel management promote organization-wide consistency.
🔑 Namespace Management: Securely share environments within designated teams for enhanced collaboration.
Explore comprehensive documentation at conda.store for installation, usage, and contributions.
Whether you're a data scientist or an administrator, conda-store revolutionizes conda environments. Make sure to check it out!
Is conda Free?
In Dave Clement's latest blog post, he clarifies the question that's on everyone's mind: "Is conda truly free?" Here's a brief overview:
Conda, the package and environment management software, is open source and free for anyone to use.
Conda-compatible packages from conda-forge, Bioconda, and other public channels are also free for all users.
For packages in the default channel and Anaconda Distribution:
- Organizations with fewer than 200 people can use them for free.
- Larger organizations can still qualify for free use if they meet Anaconda's terms of service exemptions, including developers, students, teachers, academic institutions, non-commercial open source software projects, and small businesses.
For an in-depth look at conda's free offerings and the finer details, dive into Dave Clement's full blog post here.
New pre and post command plugin hooks
Discover the latest in conda extensibility with the introduction of "pre command" and "post command" plugin hooks. These powerful additions, available since conda release 23.7.2, allow plugin authors to execute code before and after conda commands, expanding the possibilities for customizing your conda experience.
Pre Command Hook: This hook enables you to execute code before specified conda commands run. It's a game-changer for customizing and extending conda's default behavior. An excellent example of its practical application can be found in the conda-protect project, where it's used to safeguard conda environments.
Post Command Hook: Similar to the pre command hook, the post command hook lets you run code after conda commands have successfully executed. This opens up exciting opportunities, like creating a simple command counter to analyze your conda usage.
For detailed implementation examples and insights into these new plugin hooks, dive into Travis Hathaway's blog post here.
Pandata is a collaborative effort of various Python libraries. These libraries are carefully crafted to seamlessly complement each other, ensuring scalability, interactivity, and more.
In essence, Pandata serves as your guide to a suite of libraries designed to work harmoniously. By using any of these libraries, you can rest assured that they're tailored to fit together seamlessly, preserving scalability and interactivity.
Conda 23.7.2: Introduces pre- and post-command plugin hooks, improved subcommand plugin infrastructure, and a health check for altered packages in environments.
Conda Build 3.26.0: Logs extra-meta data for package verification, adds pip to env-doc make command, and fixes various bugs related to handling unknown binaries and Git cloning with submodules.
constructor 3.4.5: Constructor 3.4.5 enhances support for .yaml and .txt files in the environment_file key. This release also ensures accurate conda metadata when creating installers from existing environments on Windows.
conda-libmamba-solver 23.7.0: Libmamba solver 23.7.0 introduces local channel integrations in conda-build, fixes for namespaced settings, CLI argument handling, authentication in package downloads, and improved handling of channels in conda-lock, among other enhancements and bug fixes.
conda-lock 2.1.2: conda-lock 2.1.2 resolves Pydantic v2 warnings, implements auth stripping for private PyPi packages, and enhances compatibility with Mamba>=1.4.6. Additionally, it includes infrastructure improvements, dependency updates to pydantic 2.0, and the removal of deprecated pkg_resources, among other changes.
Pixi: Pixi 0.2.0 introduces a new "pixi search" command for package searching and target-specific tasks. It also includes several bug fixes, installation improvements, and enhancements like a reduction in binary size, updated banner, and contribution guidelines.
Job Role: Software Development Engineer
Contract Type: Fixed-Term (12 months)
Location: Versailles, France
Starting Date: October 1, 2023
Education: Bac+5 / Master's Degree
Join in revolutionizing genomics research! SFBI is looking for a Software Development Engineer to enhance its flagship tool, REPET.
Your mission: Improve portability and scalability. If you have skills in Python, conda, Snakemake, and more, apply by September 20, 2023. Learn more.
In this talk, Travis Hathaway explores how to design plugin-friendly Python applications. He emphasizes the importance of well-defined contracts between core software and plugins, fostering modular organization.
Throughout the session, he demonstrates these principles using the pluggy library. He also shares a case study on conda, showcasing how it's adapting its codebase to embrace plugin-friendly practices.
Watch the video to learn how to enhance your Python applications with plugin-friendliness.
In this presentation by Bianca Henderson, you'll dive into the world of making established Python codebases more pluggable. The presentation introduces the pluggy Python framework as a key tool for achieving plugin-friendliness in your projects.
Using a real-life example, Bianca illustrates how the ten-year-old conda codebase has embraced a plugin API, breathing new life into the project.
Don't miss this opportunity to discover how to inject plugin capabilities into your Python codebase effectively.