Skip to content

Build stable ABI no-GIL wheels #5024

Description

@clin1234

https://docs.python.org/3.15/howto/abi3t-migration.html#abi3t-migration-howto

Collecting PyMuPDF
  Downloading pymupdf-1.27.2.3.tar.gz (85.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.8/85.8 MB 19.7 MB/s  0:00:04
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [153 lines of output]
      [+0.0s] setup.py:219: <module>(): ### Starting.
      [+0.0s] setup.py:220: <module>(): os.getcwd()='/tmp/pip-install-ovy0eg2a/pymupdf_5ebe2c11ea894ebe9d005a9383f802b8'
      [+0.0s] setup.py:220: <module>(): platform.machine()='x86_64'
      [+0.0s] setup.py:220: <module>(): platform.platform()='Linux-7.1.0-0.rc1.260501g26fd6bff2c050.13.fc45.x86_64-x86_64-with-glibc2.43.9000'
      [+0.0s] setup.py:220: <module>(): platform.python_implementation()='CPython'
      [+0.0s] setup.py:220: <module>(): platform.python_version()='3.15.0b2'
      [+0.0s] setup.py:220: <module>(): platform.system()='Linux'
      [+0.0s] setup.py:220: <module>(): platform.uname()=uname_result(system='Linux', node='pretty', release='7.1.0-0.rc1.260501g26fd6bff2c050.13.fc45.x86_64', version='#1 SMP PREEMPT_DYNAMIC Fri May  1 15:31:52 UTC 2026', machine='x86_64')
      [+0.0s] setup.py:220: <module>(): sys.executable='/home/cc/venv/bin/python3.15t'
      [+0.0s] setup.py:220: <module>(): sys.version='3.15.0b2 free-threading build (main, Jun 10 2026, 00:00:00) [GCC 16.1.1 20260515 (Red Hat 16.1.1-2)]'
      [+0.0s] setup.py:220: <module>(): sys.version_info=sys.version_info(major=3, minor=15, micro=0, releaselevel='beta', serial=2)
      [+0.0s] setup.py:220: <module>(): list(sys.version_info)=[3, 15, 0, 'beta', 2]
      [+0.0s] setup.py:220: <module>(): sys.prefix='/home/cc/venv'
      [+0.0s] setup.py:220: <module>(): sys.base_prefix='/usr'
      [+0.0s] setup.py:220: <module>(): sysconfig.get_config_var("Py_GIL_DISABLED")=1
      [+0.0s] setup.py:220: <module>(): sys._is_gil_enabled()=False
      [+0.1s] setup.py:220: <module>(): CPU bits: 64
      [+0.1s] setup.py:220: <module>(): sys.argv (3):
      [+0.1s] setup.py:220: <module>():     0: '/home/cc/venv/lib64/python3.15t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py'
      [+0.1s] setup.py:220: <module>():     1: 'prepare_metadata_for_build_wheel'
      [+0.1s] setup.py:220: <module>():     2: '/tmp/tmpmbe2kj0h'
      [+0.1s] setup.py:220: <module>(): os.environ (111):
      [+0.1s] setup.py:220: <module>():     BASH_ENV: '/usr/share/lmod/lmod/init/bash'
      [+0.1s] setup.py:220: <module>():     BASH_FUNC_ml%%: '() {  eval "$($LMOD_DIR/ml_cmd "$@")"\n}'
      [+0.1s] setup.py:220: <module>():     BASH_FUNC_module%%: '() {  if [ -z "${LMOD_SH_DBG_ON+x}" ]; then\n case "$-" in \n *v*x*)\n __lmod_sh_dbg=\'vx\'\n ;;\n *v*)\n __lmod_sh_dbg=\'v\'\n ;;\n *x*)\n __lmod_sh_dbg=\'x\'\n ;;\n esac;\n fi;\n if [ -n "${__lmod_sh_dbg:-}" ]; then\n set +$__lmod_sh_dbg;\n echo "Shell debugging temporarily silenced: export LMOD_SH_DBG_ON=1 for Lmod\'s output" 1>&2;\n fi;\n eval "$($LMOD_CMD shell "$@")" && eval "$(${LMOD_SETTARG_CMD:-:} -s sh)";\n __lmod_my_status=$?;\n if [ -n "${__lmod_sh_dbg:-}" ]; then\n echo "Shell debugging restarted" 1>&2;\n set -$__lmod_sh_dbg;\n fi;\n unset __lmod_sh_dbg;\n return $__lmod_my_status\n}'
      [+0.1s] setup.py:220: <module>():     COLORFGBG: '15;0'
      [+0.1s] setup.py:220: <module>():     COLORTERM: 'truecolor'
      [+0.1s] setup.py:220: <module>():     DBUS_SESSION_BUS_ADDRESS: 'unix:path=/run/user/1000/bus'
      [+0.1s] setup.py:220: <module>():     DEBUGINFOD_IMA_CERT_PATH: '/etc/keys/ima:'
      [+0.1s] setup.py:220: <module>():     DEBUGINFOD_URLS: 'ima:enforcing https://debuginfod.fedoraproject.org/ ima:ignore '
      [+0.1s] setup.py:220: <module>():     DESKTOP_SESSION: '/usr/share/wayland-sessions/plasma.desktop'
      [+0.1s] setup.py:220: <module>():     DISPLAY: ':0'
      [+0.1s] setup.py:220: <module>():     EDITOR: '/usr/bin/nano'
      [+0.1s] setup.py:220: <module>():     FLATPAK_TTY_PROGRESS: '1'
      [+0.1s] setup.py:220: <module>():     FNM_ARCH: 'x64'
      [+0.1s] setup.py:220: <module>():     FNM_COREPACK_ENABLED: 'false'
      [+0.1s] setup.py:220: <module>():     FNM_DIR: '/home/cc/.local/share/fnm'
      [+0.1s] setup.py:220: <module>():     FNM_LOGLEVEL: 'info'
      [+0.1s] setup.py:220: <module>():     FNM_MULTISHELL_PATH: '/run/user/1000/fnm_multishells/9175_1781361963608'
      [+0.1s] setup.py:220: <module>():     FNM_NODE_DIST_MIRROR: 'https://nodejs.org/dist'
      [+0.1s] setup.py:220: <module>():     FNM_RESOLVE_ENGINES: 'false'
      [+0.1s] setup.py:220: <module>():     FNM_VERSION_FILE_STRATEGY: 'local'
      [+0.1s] setup.py:220: <module>():     FPATH: '/usr/share/lmod/lmod/init/ksh_funcs'
      [+0.1s] setup.py:220: <module>():     GDK_CORE_DEVICE_EVENTS: '1'
      [+0.1s] setup.py:220: <module>():     GPG_TTY: '/dev/pts/1'
      [+0.1s] setup.py:220: <module>():     GTK2_RC_FILES: '/home/cc/.gtkrc-2.0-kde4'
      [+0.1s] setup.py:220: <module>():     GTK_RC_FILES: '/etc/gtk/gtkrc:/home/cc/.gtkrc:/home/cc/.config/gtkrc'
      [+0.1s] setup.py:220: <module>():     HISTCONTROL: 'ignoredups'
      [+0.1s] setup.py:220: <module>():     HISTSIZE: '1000'
      [+0.1s] setup.py:220: <module>():     HOME: '/home/cc'
      [+0.1s] setup.py:220: <module>():     HOSTNAME: 'pretty'
      [+0.1s] setup.py:220: <module>():     ICEAUTHORITY: '/run/user/1000/iceauth_PmkIgt'
      [+0.1s] setup.py:220: <module>():     INVOCATION_ID: '83ad12225ff04906bee77c9437379bde'
      [+0.1s] setup.py:220: <module>():     JOURNAL_STREAM: '10:42667'
      [+0.1s] setup.py:220: <module>():     KDEDIRS: '/usr'
      [+0.1s] setup.py:220: <module>():     KDE_APPLICATIONS_AS_SCOPE: '1'
      [+0.1s] setup.py:220: <module>():     KDE_FULL_SESSION: 'true'
      [+0.1s] setup.py:220: <module>():     KDE_SESSION_UID: '1000'
      [+0.1s] setup.py:220: <module>():     KDE_SESSION_VERSION: '6'
      [+0.1s] setup.py:220: <module>():     KONSOLE_DBUS_ACTIVATION_COOKIE: 'BOAovUg8z1mQQuA5nNhnrVq9tmB/h/T/Bg/YvnDrH4k='
      [+0.1s] setup.py:220: <module>():     KONSOLE_DBUS_SERVICE: ':1.103'
      [+0.1s] setup.py:220: <module>():     KONSOLE_DBUS_SESSION: '/Sessions/1'
      [+0.1s] setup.py:220: <module>():     KONSOLE_DBUS_WINDOW: '/Windows/1'
      [+0.1s] setup.py:220: <module>():     KONSOLE_VERSION: '260770'
      [+0.1s] setup.py:220: <module>():     LANG: 'en_US.utf8'
      [+0.1s] setup.py:220: <module>():     LESSOPEN: '||/usr/bin/lesspipe.sh %s'
      [+0.1s] setup.py:220: <module>():     LMOD_CMD: '/usr/share/lmod/lmod/libexec/lmod'
      [+0.2s] setup.py:220: <module>():     LMOD_DIR: '/usr/share/lmod/lmod/libexec'
      [+0.2s] setup.py:220: <module>():     LMOD_PKG: '/usr/share/lmod/lmod'
      [+0.2s] setup.py:220: <module>():     LMOD_ROOT: '/usr/share/lmod'
      [+0.2s] setup.py:220: <module>():     LMOD_SETTARG_FULL_SUPPORT: 'no'
      [+0.2s] setup.py:220: <module>():     LMOD_VERSION: '9.2'
      [+0.2s] setup.py:220: <module>():     LMOD_sys: 'Linux'
      [+0.2s] setup.py:220: <module>():     LOGNAME: 'cc'
      [+0.2s] setup.py:220: <module>():     LS_COLORS: 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:'
      [+0.2s] setup.py:220: <module>():     MAIL: '/var/spool/mail/cc'
      [+0.2s] setup.py:220: <module>():     MANAGERPID: '4527'
      [+0.2s] setup.py:220: <module>():     MANAGERPIDFDID: '49394'
      [+0.2s] setup.py:220: <module>():     MANPATH: '/usr/share/lmod/lmod/share/man:'
      [+0.2s] setup.py:220: <module>():     MEMORY_PRESSURE_WATCH: '/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/app.slice/flatpak-session-helper.service/memory.pressure'
      [+0.2s] setup.py:220: <module>():     MEMORY_PRESSURE_WRITE: 'c29tZSAyMDAwMDAgMjAwMDAwMAA='
      [+0.2s] setup.py:220: <module>():     MODULEPATH: '/etc/modulefiles:/usr/share/modulefiles:/usr/share/modulefiles/Linux:/usr/share/modulefiles/Core:/usr/share/lmod/lmod/modulefiles/Core'
      [+0.2s] setup.py:220: <module>():     MODULEPATH_ROOT: '/usr/share/modulefiles'
      [+0.2s] setup.py:220: <module>():     MODULESHOME: '/usr/share/lmod/lmod'
      [+0.2s] setup.py:220: <module>():     NVM_CD_FLAGS: ''
      [+0.2s] setup.py:220: <module>():     NVM_DIR: '/home/cc/.config/nvm'
      [+0.2s] setup.py:220: <module>():     NVM_RC_VERSION: ''
      [+0.2s] setup.py:220: <module>():     PAM_KWALLET5_LOGIN: '/run/user/1000/kwallet5.socket'
      [+0.2s] setup.py:220: <module>():     PATH: '/tmp/pip-build-env-ed9l0q5c/overlay/bin:/tmp/pip-build-env-ed9l0q5c/normal/bin:/home/cc/venv/bin:/opt/gcc-latest/bin:/run/user/1000/fnm_multishells/9175_1781361963608/bin:/home/cc/.local/share/fnm:/home/cc/perl5/bin:/home/cc/.cargo/bin:/opt/gcc-latest/bin:/run/user/1000/fnm_multishells/5358_1781361906957/bin:/home/cc/.local/share/fnm:/home/cc/perl5/bin:/home/cc/.local/bin:/home/cc/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin'
      [+0.2s] setup.py:220: <module>():     PERL5LIB: '/home/cc/perl5/lib/perl5:/home/cc/perl5/lib/perl5'
      [+0.2s] setup.py:220: <module>():     PERL_LOCAL_LIB_ROOT: '/home/cc/perl5:/home/cc/perl5'
      [+0.2s] setup.py:220: <module>():     PERL_MB_OPT: '--install_base "/home/cc/perl5"'
      [+0.2s] setup.py:220: <module>():     PERL_MM_OPT: 'INSTALL_BASE=/home/cc/perl5'
      [+0.2s] setup.py:220: <module>():     PIP_BUILD_TRACKER: '/tmp/pip-build-tracker-al09r2r0'
      [+0.2s] setup.py:220: <module>():     PROFILEHOME: ''
      [+0.2s] setup.py:220: <module>():     PS1: '(venv) ${PROMPT_START@P}\\[\\e[0m\\]${PROMPT_HIGHLIGHT:+\\[\\e[${PROMPT_HIGHLIGHT}m\\]}${PROMPT_COLOR:+\\[\\e[${PROMPT_COLOR}m\\]}${PROMPT_CONTAINER}${PROMPT_USERHOST:+${PROMPT_USERHOST@P}${PROMPT_SEPARATOR:+\\[\\e[0m\\]${PROMPT_SEPARATOR_COLOR:+\\[\\e[${PROMPT_SEPARATOR_COLOR}m\\]}${PROMPT_SEPARATOR@P}${PROMPT_SEPARATOR_COLOR:+\\[\\e[0m\\]}${PROMPT_HIGHLIGHT:+\\[\\e[${PROMPT_HIGHLIGHT}m\\]}${PROMPT_COLOR:+\\[\\e[${PROMPT_COLOR}m\\]}}}${PROMPT_DIR_COLOR:+\\[\\e[${PROMPT_DIR_COLOR}m\\]}${PROMPT_DIRECTORY@P}${PROMPT_GIT_BRANCH:+${PROMPT_SEPARATOR:+\\[\\e[0m\\]${PROMPT_SEPARATOR_COLOR:+\\[\\e[${PROMPT_SEPARATOR_COLOR}m\\]}${PROMPT_SEPARATOR@P}${PROMPT_SEPARATOR_COLOR:+\\[\\e[0m\\]}${PROMPT_HIGHLIGHT:+\\[\\e[${PROMPT_HIGHLIGHT}m\\]}${PROMPT_COLOR:+\\[\\e[${PROMPT_COLOR}m\\]}${PROMPT_DIR_COLOR:+\\[\\e[${PROMPT_DIR_COLOR}m\\]}}${PROMPT_GIT_COLOR:+\\[\\e[${PROMPT_GIT_COLOR}m\\]}${PROMPT_GIT_BRANCH@P}}\\[\\e[0m\\]${PROMPT_END@P}\\$${PROMPT_END:+\\[\\e[0m\\]} '
      [+0.2s] setup.py:220: <module>():     PWD: '/home/cc'
      [+0.2s] setup.py:220: <module>():     PYTHONNOUSERSITE: '1'
      [+0.2s] setup.py:220: <module>():     PYTHONPATH: '/tmp/pip-build-env-ed9l0q5c/site'
      [+0.2s] setup.py:220: <module>():     QT_WAYLAND_RECONNECT: '1'
      [+0.2s] setup.py:220: <module>():     SESSION_MANAGER: 'local/unix:@/tmp/.ICE-unix/5774,unix/unix:/tmp/.ICE-unix/5774'
      [+0.2s] setup.py:220: <module>():     SHELL: '/bin/bash'
      [+0.2s] setup.py:220: <module>():     SHELL_SESSION_ID: '8e53689cb7b34d418472b4761dce4bcd'
      [+0.2s] setup.py:220: <module>():     SHLVL: '1'
      [+0.2s] setup.py:220: <module>():     SSH_ASKPASS: '/usr/bin/ksshaskpass'
      [+0.2s] setup.py:220: <module>():     SSH_AUTH_SOCK: '/run/user/1000/ssh-agent.socket'
      [+0.2s] setup.py:220: <module>():     SYSTEMD_EXEC_PID: '8955'
      [+0.2s] setup.py:220: <module>():     TERM: 'xterm-256color'
      [+0.2s] setup.py:220: <module>():     USER: 'cc'
      [+0.2s] setup.py:220: <module>():     VIRTUAL_ENV: '/home/cc/venv'
      [+0.2s] setup.py:220: <module>():     VIRTUAL_ENV_PROMPT: 'venv'
      [+0.2s] setup.py:220: <module>():     WAYLAND_DISPLAY: 'wayland-0'
      [+0.2s] setup.py:220: <module>():     WINDOWID: '94645392117200'
      [+0.2s] setup.py:220: <module>():     XAUTHORITY: '/run/user/1000/xauth_ednRGM'
      [+0.2s] setup.py:220: <module>():     XDG_CONFIG_DIRS: '/home/cc/.config/kdedefaults:/etc/xdg:/usr/share/kde-settings/kde-profile/default/xdg'
      [+0.2s] setup.py:220: <module>():     XDG_CURRENT_DESKTOP: 'KDE'
      [+0.2s] setup.py:220: <module>():     XDG_DATA_DIRS: '/home/cc/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'
      [+0.2s] setup.py:220: <module>():     XDG_MENU_PREFIX: 'plasma-'
      [+0.3s] setup.py:220: <module>():     XDG_RUNTIME_DIR: '/run/user/1000'
      [+0.3s] setup.py:220: <module>():     XDG_SEAT: 'seat0'
      [+0.3s] setup.py:220: <module>():     XDG_SEAT_PATH: '/org/freedesktop/DisplayManager/Seat0'
      [+0.3s] setup.py:220: <module>():     XDG_SESSION_CLASS: 'user'
      [+0.3s] setup.py:220: <module>():     XDG_SESSION_DESKTOP: 'KDE'
      [+0.3s] setup.py:220: <module>():     XDG_SESSION_ID: '2'
      [+0.3s] setup.py:220: <module>():     XDG_SESSION_PATH: '/org/freedesktop/DisplayManager/Session1'
      [+0.3s] setup.py:220: <module>():     XDG_SESSION_TYPE: 'wayland'
      [+0.3s] setup.py:220: <module>():     XDG_VTNR: '2'
      [+0.3s] setup.py:220: <module>():     XKB_DEFAULT_LAYOUT: 'us,il'
      [+0.3s] setup.py:220: <module>():     XKB_DEFAULT_VARIANT: ','
      [+0.3s] setup.py:220: <module>():     _: '/usr/bin/xargs'
      [+0.3s] setup.py:220: <module>():     _JAVA_AWT_WM_NONREPARENTING: '1'
      [+0.3s] setup.py:220: <module>():     _PYPROJECT_HOOKS_BACKEND_PATH: '/tmp/pip-install-ovy0eg2a/pymupdf_5ebe2c11ea894ebe9d005a9383f802b8'
      [+0.3s] setup.py:220: <module>():     _PYPROJECT_HOOKS_BUILD_BACKEND: 'setup'
      [+0.3s] setup.py:240: <module>(): PYMUPDF_SETUP_URL_WHEEL=None
      [+0.3s] setup.py:243: <module>(): PYMUPDF_SETUP_DUMMY=None
      Traceback (most recent call last):
        File "/home/cc/venv/lib64/python3.15t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/home/cc/venv/lib64/python3.15t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/cc/venv/lib64/python3.15t/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 178, in prepare_metadata_for_build_wheel
          whl_basename = backend.build_wheel(metadata_directory, config_settings)
        File "/tmp/pip-build-env-ed9l0q5c/overlay/lib/python3.15t/site-packages/pipcl/__init__.py", line 869, in build_wheel
          wheel_name = self.wheel_name()
        File "/tmp/pip-build-env-ed9l0q5c/overlay/lib/python3.15t/site-packages/pipcl/__init__.py", line 1118, in wheel_name
          ret = f'{_normalise2(self.name)}-{self.version}-{self.tag_python()}-{self.tag_abi()}-{self.tag_platform()}.whl'
                                                                               ~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-ed9l0q5c/overlay/lib/python3.15t/site-packages/pipcl/__init__.py", line 1066, in tag_abi
          assert Py_GIL_DISABLED != 1, \
                 ^^^^^^^^^^^^^^^^^^^^
      AssertionError: self.py_limited_api=True and Py_GIL_DISABLED=1 are not supported together as of 2026-02-20, e.g. see PEP 803 and PEP 809.
      [end of output]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions