Skip to content

Consider bundling GSL in PyPI wheels for macOS and Linux #167

@AndrewSazonov

Description

@AndrewSazonov

Problem

diffpy.pdffit2 depends on GSL, which is not a standard system library on macOS or Linux.

At the moment, this creates a usability problem for users who install diffpy.pdffit2 from PyPI using regular Python tools such as pip, venv, uv, etc.

From the release notes, version 1.5.2 added gsl to the conda requirements, but also changed the macOS build to remove static GSL linking and always link to shared GSL instead. The same release also fixed the Windows PyPI wheel by adding the missing BLAS-related DLL dependency.

Thus, the Windows wheel includes the required dependencies, while macOS and Linux users need to have GSL available separately on the system or in the environment.

For conda users this is usually fine, because GSL can be installed as a conda dependency. However, diffpy.pdffit2 is also distributed on PyPI, and PyPI users normally expect binary wheels to be importable after:

pip install diffpy.pdffit2

without manually installing non-Python system libraries.

Request

Would it be possible to bundle GSL in the macOS and Linux PyPI wheels as well?

This would make the PyPI wheels more self-contained, similar to the Windows wheel, and would improve the user experience for those who do not use conda.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions