Skip to content

1.13.1: pep517 build do not produces yarl._quoting_c DSO module #1166

@kloczek

Description

@kloczek

Please confirm the following

  • I understand this is open source software provided for free and that I might not receive a timely response.
  • I am positive I am NOT reporting a (potential) security
    vulnerability, to the best of my knowledge. (These must be shared by
    submitting this report form instead, if
    any hesitation exists.)
  • I am willing to submit a pull request with reporoducers as xfailing test cases or even entire fix. (Assign this issue to me.)

Describe the bug

After yarl 1.12.1 I cannot build correctly module because pep517 based build looks like is not building yarl._quoting_c DSO module and looking on the output cannot find any cause of that.
Result is that pytest fails because it cannot find yarl._quoting_c module.
May I ask for any hint about possible cause? 🤔

To Reproduce

Just run pip or build to perform pep517 based build.
I\m using /usr/bin/python3 -sBm build -w --no-isolation --config-setting=pure-python=false --config-setting=with-cython-tracing=true command.

Expected behavior

As long as is used --config-setting=pure-python=false my understanding is that it should be build loadable DSO module.

Logs/tracebacks

<details>
<summary>Here is pep157 based build output:</summary>


+ /usr/bin/python3 -sBm build -w --no-isolation --config-setting=pure-python=false --config-setting=with-cython-tracing=true
* Getting build dependencies for wheel...
running egg_info
creating yarl.egg-info
writing yarl.egg-info/PKG-INFO
writing dependency_links to yarl.egg-info/dependency_links.txt
writing requirements to yarl.egg-info/requires.txt
writing top-level names to yarl.egg-info/top_level.txt
writing manifest file 'yarl.egg-info/SOURCES.txt'
reading manifest file 'yarl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.cache' found anywhere in distribution
warning: no previously-included files found matching 'yarl/*.c'
warning: no previously-included files found matching 'yarl/*.html'
warning: no previously-included files found matching 'yarl/*.so'
warning: no previously-included files found matching 'yarl/*.pyd'
no previously-included directories found matching 'docs/_build'
adding license file 'LICENSE'
adding license file 'NOTICE'
writing manifest file 'yarl.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/yarl
copying yarl/__init__.py -> build/lib/yarl
copying yarl/_helpers.py -> build/lib/yarl
copying yarl/_quoting.py -> build/lib/yarl
copying yarl/_quoting_py.py -> build/lib/yarl
copying yarl/_helpers_py.py -> build/lib/yarl
copying yarl/_url.py -> build/lib/yarl
running egg_info
writing yarl.egg-info/PKG-INFO
writing dependency_links to yarl.egg-info/dependency_links.txt
writing requirements to yarl.egg-info/requires.txt
writing top-level names to yarl.egg-info/top_level.txt
reading manifest file 'yarl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.cache' found anywhere in distribution
warning: no previously-included files found matching 'yarl/*.c'
warning: no previously-included files found matching 'yarl/*.html'
warning: no previously-included files found matching 'yarl/*.so'
warning: no previously-included files found matching 'yarl/*.pyd'
no previously-included directories found matching 'docs/_build'
adding license file 'LICENSE'
adding license file 'NOTICE'
writing manifest file 'yarl.egg-info/SOURCES.txt'
copying yarl/_helpers_c.pyi -> build/lib/yarl
copying yarl/_helpers_c.pyx -> build/lib/yarl
copying yarl/_quoting_c.pyi -> build/lib/yarl
copying yarl/_quoting_c.pyx -> build/lib/yarl
copying yarl/py.typed -> build/lib/yarl
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/yarl
copying build/lib/yarl/__init__.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting_py.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers_py.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_url.py -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers_c.pyi -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_helpers_c.pyx -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting_c.pyi -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/_quoting_c.pyx -> build/bdist.linux-x86_64/wheel/./yarl
copying build/lib/yarl/py.typed -> build/bdist.linux-x86_64/wheel/./yarl
running install_egg_info
Copying yarl.egg-info to build/bdist.linux-x86_64/wheel/./yarl-1.13.1-py3.10.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/yarl-1.13.1.dist-info/WHEEL
creating '/home/tkloczko/rpmbuild/BUILD/yarl-1.13.1/dist/.tmp-r5kmgsqt/yarl-1.13.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'yarl/__init__.py'
adding 'yarl/_helpers.py'
adding 'yarl/_helpers_c.pyi'
adding 'yarl/_helpers_c.pyx'
adding 'yarl/_helpers_py.py'
adding 'yarl/_quoting.py'
adding 'yarl/_quoting_c.pyi'
adding 'yarl/_quoting_c.pyx'
adding 'yarl/_quoting_py.py'
adding 'yarl/_url.py'
adding 'yarl/py.typed'
adding 'yarl-1.13.1.dist-info/LICENSE'
adding 'yarl-1.13.1.dist-info/METADATA'
adding 'yarl-1.13.1.dist-info/NOTICE'
adding 'yarl-1.13.1.dist-info/WHEEL'
adding 'yarl-1.13.1.dist-info/top_level.txt'
adding 'yarl-1.13.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built yarl-1.13.1-py3-none-any.whl

</details>

Python Version

]$ python3 --version
Python 3.10.14

multidict Version

$ python -m pip show multidict
Name: multidict
Version: 6.1.0
Summary: multidict implementation
Home-page: https://github.com/aio-libs/multidict
Author: Andrew Svetlov
Author-email: [email protected]
License: Apache 2
Location: /usr/lib64/python3.10/site-packages
Requires: typing-extensions
Required-by:

yarl Version

1.13.1

OS

Linux x86/64

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions