Skip to content

pinned selectolax dependency results in missing wheel when targeting python 3.14 #64

@DetachHead

Description

@DetachHead

the first version with python 3.14 wheels is 0.3.34 (see https://pypi.org/project/selectolax/0.3.34/#files), which means targeting python 3.14 causes it uv to attempt to build the package

> uv sync
Using CPython 3.14.0rc3
Removed virtual environment at: .venv
Creating virtual environment at: .venv
Resolved 3 packages in 5.68s
  × Failed to build `selectolax==0.3.29`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit code: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\__init__.py -> build\lib.win-amd64-cpython-314\selectolax
      running egg_info
      writing selectolax.egg-info\PKG-INFO
      writing dependency_links to selectolax.egg-info\dependency_links.txt
      writing requirements to selectolax.egg-info\requires.txt
      writing top-level names to selectolax.egg-info\top_level.txt
      reading manifest file 'selectolax.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'selectolax.egg-info\SOURCES.txt'
      copying selectolax\base.pxi -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\lexbor.c -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\lexbor.pxd -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\lexbor.pyi -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\lexbor.pyx -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\parser.c -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\parser.pxd -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\parser.pyi -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\parser.pyx -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\py.typed -> build\lib.win-amd64-cpython-314\selectolax
      copying selectolax\utils.pxi -> build\lib.win-amd64-cpython-314\selectolax
      creating build\lib.win-amd64-cpython-314\selectolax\lexbor
      copying selectolax\lexbor\attrs.pxi -> build\lib.win-amd64-cpython-314\selectolax\lexbor
      copying selectolax\lexbor\node.pxi -> build\lib.win-amd64-cpython-314\selectolax\lexbor
      copying selectolax\lexbor\selection.pxi -> build\lib.win-amd64-cpython-314\selectolax\lexbor
      copying selectolax\lexbor\util.pxi -> build\lib.win-amd64-cpython-314\selectolax\lexbor
      creating build\lib.win-amd64-cpython-314\selectolax\modest
      copying selectolax\modest\node.pxi -> build\lib.win-amd64-cpython-314\selectolax\modest
      copying selectolax\modest\selection.pxi -> build\lib.win-amd64-cpython-314\selectolax\modest
      copying selectolax\modest\util.pxi -> build\lib.win-amd64-cpython-314\selectolax\modest
      running build_ext
      building 'selectolax.parser' extension

      [stderr]
      C:\Users\user\AppData\Local\uv\cache\builds-v0\.tmpPEySL7\Lib\site-packages\setuptools\_distutils\dist.py:289: UserWarning: Unknown distribution option:
      'test_suite'
        warnings.warn(msg)
      C:\Users\user\AppData\Local\uv\cache\builds-v0\.tmpPEySL7\Lib\site-packages\setuptools\_distutils\dist.py:289: UserWarning: Unknown distribution option:
      'tests_require'
        warnings.warn(msg)
      C:\Users\user\AppData\Local\uv\cache\builds-v0\.tmpPEySL7\Lib\site-packages\setuptools\dist.py:759: SetuptoolsDeprecationWarning: License classifiers are
      deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: MIT License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      C:\Users\user\AppData\Local\uv\cache\builds-v0\.tmpPEySL7\Lib\site-packages\setuptools\_distutils\cmd.py:135: SetuptoolsDeprecationWarning: bdist_wheel.universal     
      is deprecated
      !!

              ********************************************************************************
              With Python 2.7 end-of-life, support for building universal wheels
              (i.e., wheels that support both Python 2 and Python 3)
              is being obviated.
              Please discontinue using this option, or if you still need it,
              file an issue with pypa/setuptools describing your use case.

              This deprecation is overdue, please update your project and remove deprecated
              calls to avoid build errors in the future.
              ********************************************************************************

      !!
        self.finalize_options()
      warning: no files found matching 'CONTRIBUTING.rst'
      warning: no files found matching 'HISTORY.rst'
      warning: no files found matching 'selectolax\lexbor\*.so'
      warning: no previously-included files found matching 'selectolax\*.so'
      warning: no files found matching 'modest\include\*'
      warning: no files found matching 'modest\source\*'
      warning: no files found matching 'lexbor\source\*'
      warning: no previously-included files matching '__pycache__' found under directory '*'
      warning: no previously-included files matching '*.py[co]' found under directory '*'
      warning: no files found matching '*.jpg' under directory 'docs'
      warning: no files found matching '*.gif' under directory 'docs'
      C:\Users\user\AppData\Local\uv\cache\builds-v0\.tmpPEySL7\Lib\site-packages\setuptools\command\build_py.py:212: _Warning: Package 'selectolax.lexbor' is absent from  
      the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'selectolax.lexbor' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'selectolax.lexbor' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'selectolax.lexbor' to be distributed and are
              already explicitly excluding 'selectolax.lexbor' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      C:\Users\user\AppData\Local\uv\cache\builds-v0\.tmpPEySL7\Lib\site-packages\setuptools\command\build_py.py:212: _Warning: Package 'selectolax.modest' is absent from  
      the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'selectolax.modest' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'selectolax.modest' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'selectolax.modest' to be distributed and are
              already explicitly excluding 'selectolax.modest' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

      hint: This usually indicates a problem with the package or the build environment.
  help: `selectolax` (v0.3.29) was included because `asdf` (v0.0.1) depends on `mkdocs-glightbox` (v0.5.1) which depends on `selectolax`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions