Skip to content

fix: use PEP 508 environment markers for hlsvdpro (Resolves #15)#16

Open
andrewendlinger wants to merge 1 commit intoHawkMRS:mainfrom
andrewendlinger:fix/15-hlsvdpro-marker
Open

fix: use PEP 508 environment markers for hlsvdpro (Resolves #15)#16
andrewendlinger wants to merge 1 commit intoHawkMRS:mainfrom
andrewendlinger:fix/15-hlsvdpro-marker

Conversation

@andrewendlinger
Copy link
Contributor

Resolves #15

What does this PR do?
This PR moves the platform-specific requirement for hlsvdpro from a build-time Python if statement into an install-time PEP 508 environment marker within the install_requires list.

Why is this necessary?
Previously, because the PyPI wheels were built on x86_64 machines, hlsvdpro was permanently baked into the static wheel metadata as a requirement for all platforms. This caused strict, metadata-first package managers like uv (and modern pip) to crash on Apple Silicon (ARM64) Macs when they couldn't find a matching wheel.

By using environment markers, the platform evaluation now correctly happens on the user's machine at install-time, bypassing hlsvdpro natively on ARM64 architectures while preserving it for Intel/AMD users.

Changes:

  • Removed the if platform.machine().lower() in ["x86_64", "amd64"]: block in setup.py.
  • Appended "hlsvdpro>=2.0.0; platform_machine == 'x86_64' or platform_machine == 'amd64'" directly to install_requires.

@andrewendlinger
Copy link
Contributor Author

andrewendlinger commented Feb 20, 2026

Looks like some dependencies introduced breaking changes with python 3.11 and above? The CI/CD failure is very likely not related to this PR.

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.

Installation fails on Apple Silicon (ARM64) via uv

1 participant