Skip to content

Support conda-forge Pythons - #34

Merged
ru551n merged 2 commits into
VUnit:mainfrom
ru551n:conda-libpython
Oct 15, 2026
Merged

ru551n merged 2 commits into
VUnit:mainfrom
ru551n:conda-libpython

Conversation

@ru551n

@ru551n ru551n commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

conda-forge Pythons work with the bridge.

conda-forge links the python executable statically, so sysconfig reports LDLIBRARY=libpython3.X.a and Py_ENABLE_SHARED=0. The bridge rejected such a Python with "requires a CPython built with a shared Python library", although conda also ships libpython3.X.so in LIBDIR.

  • If sysconfig reports a static Python, the bridge uses LIBDIR/libpython3.X.so (.dylib on macOS) when it exists.
  • Otherwise it raises the same error as before, which now also names the file it looked for.
  • A new unit test covers the case with a shared library. The existing test of a static Python is pointed at an empty LIBDIR.
  • CI: conda (Miniforge, Python 3.13) is a fourth Python in the pythons job.
  • The requirements in the docs and in the README mention conda-forge.

Verified locally in an ubuntu:24.04 container with Miniforge, Python 3.13 and NVC 1.22.1: the Python unit tests, the feature tests and the example pass.

🤖 Generated with Claude Code

@ru551n
ru551n force-pushed the conda-libpython branch 2 times, most recently from c69890d to f509bc5 Compare October 15, 2026 17:26
ru551n and others added 2 commits October 15, 2026 20:31
conda-forge links the python executable statically, so sysconfig reports
LDLIBRARY=libpython3.X.a and Py_ENABLE_SHARED=0, but it ships
libpython3.X.so in LIBDIR too. The bridge now uses that library and
raises the error for a static Python only when there is none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ru551n
ru551n merged commit b26fbda into VUnit:main Oct 15, 2026
59 checks passed
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.

1 participant