2020 in Review
As 2020 winds down, the Core team thought it'd be fun to review some of the big accomplishments our community has made this year.
As 2020 winds down, the Core team thought it'd be fun to review some of the big accomplishments our community has made this year.
Various members of the community have raised questions publicly and
privately about the implications of Anaconda's new Terms of Service
(TOS) on anaconda.com
. First of all, we understand your concerns. We
would like to explain a bit how conda-forge
works, how the TOS change
affects us and conda-forge
users, and what our plans as a community
are for the future.
A new platform osx-arm64
has been added to the build matrix of
conda-forge. osx-arm64
packages are built to run on upcoming macOS
arm64 processors marketed as Apple Silicon
. An installer for this
platform can be found
here.
tl;dr Depending on specific version numbers of underlying libraries may be too inaccurate and cause headaches as upstream libraries evolve and change. A more detailed approach is needed. In this post I outline current and potential work on a path towards a more complete inspection of requirements based on APIs and dynamic pinning of libraries.
While the R 4.0 migration has been functionally complete for quite a
while, the recent migration of r-java
and its dependents gives a good
opportunity to write a retrospective on the technical issues with
large-scale migrations in conda-forge
and how we solved them.
Have some thoughts about conda-forge and how it can be expanded in a way that is sustainable? Join us in this virtual Birds of a Feather discussion where we'll discuss maintenance, pain points, opportunities within conda-forge. Any and all are welcome, and we especially are seeking new viewpoints and opinions!
Recently I've been thinking about operational risk (op. risk). Operational risks arise from failures of processes, for instance a missing email, or an automated software system not running properly. Many commercial institutions are interested in minimizing op. risk, since it is risk that produces no value, as opposed to risks associated with investing. This is also something I think about in my job at Lab49, where I'm a software engineering consultant focusing on financial institutions. I think there is also a good analogy for Conda-Forge, even though we are not a commercial outfit. In this case the risk we incur isn't the potential for lost earnings but frustration for our users and maintainers in the form of bugs and lackluster user experience. In this post I explore three main sources of operational risk for Conda-Forge: Automation, Top-Down Control, and Self-Service Structure.
conda-forge now supports PyPy3.6 as the python interpreter in a conda environment
Supported platforms are,
- Linux-x86_64 (glibc 2.12 or newer)
- OSX-x86_64 (OSX 10.9 or newer)
- Linux-aarch64 (glibc 2.17 or newer)
- Linux-ppc64le (glibc 2.17 or newer)
The main goal of the Skeletonr is to conquer Grayskull.
All jokes aside, the new project grayskull was created with the intention of generating better Conda recipes that would allow to package properly projects available in different channels such as PyPI, CRAN, Conan, GitHub register, GitHub repositories and so on. On top of that, Grayskull is also being developed to help conda-forge to update recipes.
The conda-forge
"autotick" bot is a crucial part of conda-forge
's
infrastructure. It enables automatic maintenance of conda-forge
packages by pushing version updates to the underlying software and
enabling large migrations of packages from one dependency to another
(e.g., Python 3.7 to Python 3.8). As conda-forge
grows in size, with
over 9,000 packages to date, automatic maintenance of the conda-forge
ecosystem will become even more important.