Another post on #Quansight PBC blog: "BLAS/LAPACK #packaging"

https://labs.quansight.org/blog/blas-lapack-packaging

"""
#BLAS and #LAPACK are the standard libraries for linear algebra. The original implementation, often called Netlib LAPACK, developed since the 1980s, nowadays serves primarily as the origin of the standard interface, the reference implementation and a conformance test suite. The end users usually use optimized implementations of the same interfaces. The choice ranges from generically tuned libraries such as OpenBLAS and BLIS, through libraries focused on specific hardware such as Intel® oneMKL, Arm Performance Libraries or the Accelerate framework on macOS, to ATLAS that aims to automatically optimize for a specific system.

The diversity of available libraries, developed in parallel with the standard interfaces, along with vendor-specific extensions and further downstream changes, adds quite a bit of complexity around using these libraries in software, and distributing such software afterwards. This problem entangles implementation authors, consumer software authors, build system maintainers and distribution maintainers. Software authors generally wish to distribute their packages built against a generically optimized BLAS/LAPACK implementation. Advanced users often wish to be able to use a different implementation, more suited to their particular needs. Distributions wish to be able to consistently build software against their system libraries, and ideally provide users the ability to switch between different implementations. Then, build systems need to provide the scaffolding for all of that.

I have recently taken up the work to provide such a scaffolding for the Meson build system; to add support for BLAS and LAPACK dependencies to Meson. While working on it, I had to learn a lot about BLAS/LAPACK packaging: not only how the different implementations differ from one another, but also what is changed by their respective downstream packaging. In this blog post, I would like to organize and share what I have learned.
"""

#CondaForge #Debian #Fedora #Gentoo

BLAS/LAPACK packaging

An overview of differences between BLAS / LAPACK implementations and their packaging.

Well dammit. The X.h header is missing from the #conda #condaforge packages.
If you include #xorg Xlib it’ll bork when it can’t find X.h

Naturally #wayland isn’t an option because many required libraries don’t have packages to provide it.

#linux is extremely annoying to develop graphical apps.

Did a lot of work on conda-forge this week handling various packages for exotic architectures. Includes some Rust CLI tools I got to build on ppc4le (for fun), and CUDA-dependent libs I wanted to enable on Grace Hopper systems using aarch64.

Previously I've relied mostly on the migrator bot, which tends to default to emulation on QEMU apparently, but found out at https://github.com/conda-forge/cargo-auditable-feedstock/pull/4#issuecomment-3291674939 that cross-compilation 1) works and 2) is faster. It's documented at https://conda-forge.org/docs/maintainer/knowledge_base/#how-to-enable-cross-compilation, but it only 'clicked' in my brain recently.

Level of difficulty/pain: 🐍 Python+CUDA/C++ > Rust 🦀

#condaforge #packaging #rustlang #conda #cuda #python

Build for ppc64le by weiji14 · Pull Request #4 · conda-forge/cargo-auditable-feedstock

Xref https://conda-forge.org/docs/maintainer/conda_forge_yml/#build-platform. Had to switch away from pixi to workaround conda-forge/conda-smithy#2350. Also switched to native build for aarch64 Edi...

GitHub
Naprawdę cenię w #CondaForge to, że kiedy pracuję nad potwornie paskudnym projektem, który ma mnóstwo zależności, ale wspiera wyłącznie stare wersje tych zależności, to #Conda zazwyczaj potrafi wykombinować jakieś rozwiązanie, dopasować odpowiednie paczki binarne i oszczędzić mi sporo czasu.
One thing I really love about #CondaForge is that if you're working on a very, very bad project, and it has a lot of dependencies, but builds only against outdated versions of them, #Conda can generally figure out a way to come up with a solution, provide a consistent environment using binary packages and save you lots of time.
🔄 Update: I’ve just expanded my #Miniforge migration guide with a dedicated troubleshooting section. It now covers common issues I’ve encountered over the past years — including #SSL certificate errors, channel configuration for conda-forge-only environments, and a workaround for situations where #mamba isn’t available in the base environment. If you have further tips, feel free to comment here or on the blog post. #conda #CondaForge

After recent license changes at #Anaconda, Inc., #Miniforge has become the recommended, fully open solution for institutional #Python environments. Now bundling both #conda and #mamba, it replaces #Miniconda/ #Mambaforge, ensuring high performance and broad package access via #CondaForge. Here I summarized the key changes and migration steps:

🌍 https://www.fabriziomusacchio.com/blog/2025-07-03-miniforge/

#Python #DataScience #OpenSource

Qgis | Anaconda.org

By default, the #Seqera #Containers web interface searches the #bioconda and #condaforge channels 📦

But did you know that you can prepend your search with *any* conda channel?

Try it out: https://seqera.io/containers/

Containers | Seqera

Fetch Docker & Singularity containers with any combination of Conda / PyPI packages, for free.

Okej, mnie już skończyły się pomysły, więc czas poprosić innych o uwagi. Rozpocząłem pracę nad "dyskusją" na packaging.python.org, która ma za zadanie wyjaśnić autorom paczek Pythona, jak wygląda praca z ich paczkami w dystrybucjach, i jak mogą nam pomóc. Oparłem się na moje doświadczenie w #Gentoo, więc uwagi od innych dystrybucji się bardzo przydadzą, wżdy ich doświadczenie może różnić się od naszego.

https://github.com/pypa/packaging.python.org/pull/1791

#ArchLinux #CondaForge #Debian #Fedora #Homebrew #Python

Start a discussion on helping downstream packaging by mgorny · Pull Request #1791 · pypa/packaging.python.org

Start the discussion aimed at making downstream packaging easier. The first section focuses on providing source distributions. Also related to bug #1494, though it's focused on why having these...

GitHub