Skip to content

pyproject.toml: fix missing package i wheel #105

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Cynerd
Copy link

@Cynerd Cynerd commented May 14, 2025

The wheel was missing package due to it not being packaged. The hatchling documentation specifies that packages should be set this way.

The testing of this change in virtual environment:

  nobody@host:pytest-tap$ python3 -m venv env                                                                                                         wheelfix+
  nobody@host:pytest-tap$ . ./env/bin/activate                                                                                                        wheelfix+
  ((env) ) nobody@host:pytest-tap$ pip install .                                                                                                      wheelfix+
  Processing /home/cynerd/src/pytest-tap
    Installing build dependencies ... done
    Getting requirements to build wheel ... done
    Preparing metadata (pyproject.toml) ... done
  Requirement already satisfied: pytest>=3.0 in /nix/store/094gpcj7d1z8wdvymhxvi2rns757vb2p-python3.12-pytest-8.3.5/lib/python3.12/site-packages (from pytest-tap==3.5) (8.3.5)
  Requirement already satisfied: tap-py<4.0,>=3.2 in /nix/store/bmvj5dimxkphyrzwl0jyvi6blz8imqpn-python3.12-tap.py-3.2.1/lib/python3.12/site-packages (from pytest-tap==3.5) (3.2.1)
  Requirement already satisfied: iniconfig in /nix/store/8bcr5c5m8d1359k52mwjdbqjw2rzwdgq-python3.12-iniconfig-2.1.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (2.1.0)
  Requirement already satisfied: packaging in /nix/store/wr2lp9ziysxbjbf5ww09a4k7ivvnxbc4-python3.12-packaging-24.2/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (24.2)
  Requirement already satisfied: pluggy<2,>=1.5 in /nix/store/fbbyfni2ccjw8r7rh7ww3x8ky1yk4hi7-python3.12-pluggy-1.5.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (1.5.0)
  Building wheels for collected packages: pytest-tap
    Building wheel for pytest-tap (pyproject.toml) ... done
    Created wheel for pytest-tap: filename=pytest_tap-3.5-py3-none-any.whl size=6543 sha256=6733459ec7272402507031361355d4820fd799659e4102568790d9e53b2863c0
    Stored in directory: /home/cynerd/.cache/pip/wheels/e4/ea/6f/0c79e4850b81f185670c0a561a2ebc457c7a0b4ee105c88476
  Successfully built pytest-tap
  Installing collected packages: pytest-tap
  Successfully installed pytest-tap-3.5

  [notice] A new release of pip is available: 25.0.1 -> 25.1.1
  [notice] To update, run: pip install --upgrade pip
  ((env) ) nobody@host:pytest-tap$ ls env/lib/python3.12/site-packages/pytest_tap/                                                                    wheelfix+
  __init__.py  plugin.py

The listed directory wasn't present before this change.

To accept your contribution, please complete the checklist below.

  • Is your name/identity in the AUTHORS file alphabetically?
  • Did you write a test to verify your code change? does not apply
  • Is CI passing?

The wheel was missing package due to it not being packaged. The
hatchling documentation specifies that packages should be set this way.

The testing of this change in virtual environment:

  nobody@host:pytest-tap$ python3 -m venv env                                                                                                         wheelfix+
  nobody@host:pytest-tap$ . ./env/bin/activate                                                                                                        wheelfix+
  ((env) ) nobody@host:pytest-tap$ pip install .                                                                                                      wheelfix+
  Processing /home/cynerd/src/pytest-tap
    Installing build dependencies ... done
    Getting requirements to build wheel ... done
    Preparing metadata (pyproject.toml) ... done
  Requirement already satisfied: pytest>=3.0 in /nix/store/094gpcj7d1z8wdvymhxvi2rns757vb2p-python3.12-pytest-8.3.5/lib/python3.12/site-packages (from pytest-tap==3.5) (8.3.5)
  Requirement already satisfied: tap-py<4.0,>=3.2 in /nix/store/bmvj5dimxkphyrzwl0jyvi6blz8imqpn-python3.12-tap.py-3.2.1/lib/python3.12/site-packages (from pytest-tap==3.5) (3.2.1)
  Requirement already satisfied: iniconfig in /nix/store/8bcr5c5m8d1359k52mwjdbqjw2rzwdgq-python3.12-iniconfig-2.1.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (2.1.0)
  Requirement already satisfied: packaging in /nix/store/wr2lp9ziysxbjbf5ww09a4k7ivvnxbc4-python3.12-packaging-24.2/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (24.2)
  Requirement already satisfied: pluggy<2,>=1.5 in /nix/store/fbbyfni2ccjw8r7rh7ww3x8ky1yk4hi7-python3.12-pluggy-1.5.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (1.5.0)
  Building wheels for collected packages: pytest-tap
    Building wheel for pytest-tap (pyproject.toml) ... done
    Created wheel for pytest-tap: filename=pytest_tap-3.5-py3-none-any.whl size=6543 sha256=6733459ec7272402507031361355d4820fd799659e4102568790d9e53b2863c0
    Stored in directory: /home/cynerd/.cache/pip/wheels/e4/ea/6f/0c79e4850b81f185670c0a561a2ebc457c7a0b4ee105c88476
  Successfully built pytest-tap
  Installing collected packages: pytest-tap
  Successfully installed pytest-tap-3.5

  [notice] A new release of pip is available: 25.0.1 -> 25.1.1
  [notice] To update, run: pip install --upgrade pip
  ((env) ) nobody@host:pytest-tap$ ls env/lib/python3.12/site-packages/pytest_tap/                                                                    wheelfix+
  __init__.py  plugin.py

The listed directory wasn't present before this change.
@mblayman
Copy link
Member

Can you explain more? I tested this just now and can't replicate what you are referring to. When I install the package, I see a standard package directory in my virtual environment. Here's the output from a fresh install of pytest-tap.

pytest-tap on  main is 📦 v3.5 via 🐍 v3.12.7
❯ python3 -m venv venv
pytest-tap on  main is 📦 v3.5 via 🐍 v3.12.7
❯ source venv/bin/activate
pytest-tap on  main is 📦 v3.5 via 🐍 v3.12.7 (venv)
❯ ls venv/lib/python3.12/site-packages
pip  pip-24.2.dist-info
pytest-tap on  main is 📦 v3.5 via 🐍 v3.12.7 (venv)
❯ pip install pytest-tap
Collecting pytest-tap
  Downloading pytest_tap-3.5-py3-none-any.whl.metadata (4.6 kB)
Collecting pytest>=3.0 (from pytest-tap)
  Downloading pytest-8.3.5-py3-none-any.whl.metadata (7.6 kB)
Collecting tap-py<4.0,>=3.2 (from pytest-tap)
  Using cached tap_py-3.2.1-py3-none-any.whl.metadata (7.8 kB)
Collecting iniconfig (from pytest>=3.0->pytest-tap)
  Downloading iniconfig-2.1.0-py3-none-any.whl.metadata (2.7 kB)
Collecting packaging (from pytest>=3.0->pytest-tap)
  Downloading packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting pluggy<2,>=1.5 (from pytest>=3.0->pytest-tap)
  Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Downloading pytest_tap-3.5-py3-none-any.whl (6.5 kB)
Downloading pytest-8.3.5-py3-none-any.whl (343 kB)
Using cached tap_py-3.2.1-py3-none-any.whl (19 kB)
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Downloading iniconfig-2.1.0-py3-none-any.whl (6.0 kB)
Downloading packaging-25.0-py3-none-any.whl (66 kB)
Installing collected packages: tap-py, pluggy, packaging, iniconfig, pytest, pytest-tap
Successfully installed iniconfig-2.1.0 packaging-25.0 pluggy-1.5.0 pytest-8.3.5 pytest-tap-3.5 tap-py-3.2.1
pytest-tap on  main is 📦 v3.5 via 🐍 v3.12.7 (venv)
❯ ls venv/lib/python3.12/site-packages
iniconfig                  packaging-25.0.dist-info  pluggy                  py.py    pytest-8.3.5.dist-info    tap
iniconfig-2.1.0.dist-info  pip                       pluggy-1.5.0.dist-info  _pytest  pytest_tap                tap_py-3.2.1.dist-info
packaging                  pip-24.2.dist-info        __pycache__             pytest   pytest_tap-3.5.dist-info
pytest-tap on  main is 📦 v3.5 via 🐍 v3.12.7 (venv)
❯ ls venv/lib/python3.12/site-packages/pytest_tap
__init__.py  plugin.py  __pycache__

@Cynerd
Copy link
Author

Cynerd commented May 15, 2025

It might have something to do with versions of the software. I do not see a version of you hatchling, but mine is the latest 1.27.0.

cynerd@errol:pytest-tap$ python3 -m venv nenv                                                                                                                                                                                                                                                                                                                                                                                       main=
cynerd@errol:pytest-tap$ . ./nenv/bin/activate                                                                                                                                                                                                                                                                                                                                                                                     main%=
(nenv) cynerd@errol:pytest-tap$ pip install .                                                                                                                                                                                                                                                                                                                                                                                      main%=
Processing /home/cynerd/src/pytest-tap
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pytest>=3.0 (from pytest-tap==3.5)
  Downloading pytest-8.3.5-py3-none-any.whl.metadata (7.6 kB)
Collecting tap-py<4.0,>=3.2 (from pytest-tap==3.5)
  Downloading tap_py-3.2.1-py3-none-any.whl.metadata (7.8 kB)
Collecting iniconfig (from pytest>=3.0->pytest-tap==3.5)
  Downloading iniconfig-2.1.0-py3-none-any.whl.metadata (2.7 kB)
Collecting packaging (from pytest>=3.0->pytest-tap==3.5)
  Using cached packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting pluggy<2,>=1.5 (from pytest>=3.0->pytest-tap==3.5)
  Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Downloading pytest-8.3.5-py3-none-any.whl (343 kB)
Downloading tap_py-3.2.1-py3-none-any.whl (19 kB)
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Downloading iniconfig-2.1.0-py3-none-any.whl (6.0 kB)
Using cached packaging-25.0-py3-none-any.whl (66 kB)
Building wheels for collected packages: pytest-tap
  Building wheel for pytest-tap (pyproject.toml) ... done
  Created wheel for pytest-tap: filename=pytest_tap-3.5-py3-none-any.whl size=3983 sha256=dde01682cb28a87c9f5609d65859a1a5b5e21c6ae23f9b9e1375888eb13cc659
  Stored in directory: /home/cynerd/.cache/pip/wheels/e4/ea/6f/0c79e4850b81f185670c0a561a2ebc457c7a0b4ee105c88476
Successfully built pytest-tap
Installing collected packages: tap-py, pluggy, packaging, iniconfig, pytest, pytest-tap
Successfully installed iniconfig-2.1.0 packaging-25.0 pluggy-1.5.0 pytest-8.3.5 pytest-tap-3.5 tap-py-3.2.1

[notice] A new release of pip is available: 24.3.1 -> 25.1.1
[notice] To update, run: pip install --upgrade pip
(nenv) cynerd@errol:pytest-tap$ ls nenv/lib/python3.12/site-packages                                                                                                                                                                                                                                                                                                                                                               main%=
iniconfig  iniconfig-2.1.0.dist-info  packaging  packaging-25.0.dist-info  pip  pip-24.3.1.dist-info  pluggy  pluggy-1.5.0.dist-info  py.py  _pytest  pytest  pytest-8.3.5.dist-info  pytest_tap-3.5.dist-info  tap  tap_py-3.2.1.dist-info
(nenv) cynerd@errol:pytest-tap$ python3 --version                                                                                                                                                                                                                                                                                                                                                                                  main%=
Python 3.12.9

I have newer Python, newer hatchling, newer pip. I suspect that something changed between those versions.

The change matches suggested usage from the hatchling documentation, and thus, I think that it is a good way forward. I am not knowledgeable enough in hatchling to know why you don't see the same result as I do.

@mblayman
Copy link
Member

One difference I see is that the method you showed is installing from a local clone while I'm installing from PyPI. Speculating, that might be because the tools expect someone to be editing the local install so code from the package is not put in the virtual environment. If you install from PyPI, do you see different behavior from what I do?

Until I can observe that something is wrong with the official package available on PyPI, I'm not inclined to take this change (even though I respect your intentions).

@Cynerd
Copy link
Author

Cynerd commented May 15, 2025

One difference I see is that the method you showed is installing from a local clone while I'm installing from PyPI. Speculating, that might be because the tools expect someone to be editing the local install so code from the package is not put in the virtual environment. If you install from PyPI, do you see different behavior from what I do?

Yes, the wheel downloaded from pypi is correct. The issue is if you generate a wheel with pip install. I tried to use python3 -m build and it seems to include it and I can even do pip install --force-reinstall dist/pytest_tap-3.5-py3-none-any.whl and it will include it. That gives me a hint that there is something wrong with the usage of hatchling or hantchling itself.

pip won't automatically install package in editable mode, so that is not the case. I can even show you that I can't import pytest_tap . Trust me, the package is not included without this change for my combination of tools.

Until I can observe that something is wrong with the official package available on PyPI, I'm not inclined to take this change (even though I respect your intentions).

That is not the only distribution. You can also install from source, and in the case of Nixpkgs, it is even the preferred way. Honestly, I have no idea why this fixes the issue. I just copied the following section https://hatch.pypa.io/latest/config/build/#packages. As I stated, I do not have experience with hatchling. If you think that it is rather a hatchling error instead of an error in your usage of hantchling, then feel free to not merge this, but trust me, there is some issue there.

((env) ) cynerd@errol:pytest-tap$ pip install .                                                                                                                                                               main=
Processing /home/cynerd/src/pytest-tap
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: pytest>=3.0 in /nix/store/094gpcj7d1z8wdvymhxvi2rns757vb2p-python3.12-pytest-8.3.5/lib/python3.12/site-packages (from pytest-tap==3.5) (8.3.5)
Requirement already satisfied: tap-py<4.0,>=3.2 in /nix/store/bmvj5dimxkphyrzwl0jyvi6blz8imqpn-python3.12-tap.py-3.2.1/lib/python3.12/site-packages (from pytest-tap==3.5) (3.2.1)
Requirement already satisfied: iniconfig in /nix/store/8bcr5c5m8d1359k52mwjdbqjw2rzwdgq-python3.12-iniconfig-2.1.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (2.1.0)
Requirement already satisfied: packaging in /nix/store/wr2lp9ziysxbjbf5ww09a4k7ivvnxbc4-python3.12-packaging-24.2/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (24.2)
Requirement already satisfied: pluggy<2,>=1.5 in /nix/store/fbbyfni2ccjw8r7rh7ww3x8ky1yk4hi7-python3.12-pluggy-1.5.0/lib/python3.12/site-packages (from pytest>=3.0->pytest-tap==3.5) (1.5.0)
Building wheels for collected packages: pytest-tap
  Building wheel for pytest-tap (pyproject.toml) ... done
  Created wheel for pytest-tap: filename=pytest_tap-3.5-py3-none-any.whl size=3983 sha256=c5cd4c756dd98bc67d4c33d9438fa2be9c68583e836f06753e7e534a22489c7b
  Stored in directory: /home/cynerd/.cache/pip/wheels/e4/ea/6f/0c79e4850b81f185670c0a561a2ebc457c7a0b4ee105c88476
Successfully built pytest-tap
Installing collected packages: pytest-tap
Successfully installed pytest-tap-3.5

[notice] A new release of pip is available: 25.0.1 -> 25.1.1
[notice] To update, run: pip install --upgrade pip
((env) ) cynerd@errol:pytest-tap$ python3                                                                                                                                                                     main=
Python 3.12.10 (main, Apr  8 2025, 11:35:47) [GCC 14.2.1 20250322] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pytest_tap
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pytest_tap'
>>>
((env) ) cynerd@errol:pytest-tap$ ls                                                                                                                                                                          main=
AUTHORS  CODE_OF_CONDUCT.md  LICENSE  Makefile  README.rst  conftest.py  dist  docs  env  pyproject.toml  src  tests  tox.ini  uv.lock
((env) ) cynerd@errol:pytest-tap$ ls env/lib/python3.12/site-packages                                                                                                                                         main=
build  build-1.2.2.post1.dist-info  pip  pip-25.0.1.dist-info  pyproject_hooks  pyproject_hooks-1.2.0.dist-info  pytest_tap-3.5.dist-info

@Cynerd
Copy link
Author

Cynerd commented May 15, 2025

I did some digging and found this: pypa/hatch#1947. It is about an editable package, but it states some special rules for the src directory for tool.hatch.build.targets.wheel. I really don't know much about hatchling, so I am out of my depth, and I can't invest more time learning it right now, so I am shelving this for now.

@solidbird
Copy link

solidbird commented May 23, 2025

Hi, I have been trying to package pytest-tap for debian bookworm (a couple of backports from debian trixie were required for hatchling, etc.) and have encountered the issue that the buildsystem is producing an empty wheel file.

The change introduced by @Cynerd would fix this issue. This package from what I have understood so far can not be packaged to debian without this change being introduced. Would be nice to introduce this change.

@mblayman
Copy link
Member

I gave this another look. Running against the test suite, this change fails. Sorry for not having CI set up to run on PRs (that's corrected now and you can see the results in #106 ).

Here's what happens with that change. With this change, the package includes no files. Until this can be reconciled, I can't accept this change as is.

pytest-tap on  wheel-fix is 📦 v3.5 via 🐍 v3.12.7
❯ make test
uv run tox -e py312
   Built pytest-tap @ file:///home/matt/projects/pytest-tap
Uninstalled 1 package in 0.75ms
Installed 1 package in 1ms
.pkg: _optional_hooks> python /home/matt/projects/pytest-tap/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True hatchling.build
.pkg: get_requires_for_build_sdist> python /home/matt/projects/pytest-tap/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True hatchling.build
.pkg: build_sdist> python /home/matt/projects/pytest-tap/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True hatchling.build
py312: install_package> python -I -m pip install --force-reinstall --no-deps /home/matt/projects/pytest-tap/.tox/.tmp/package/6/pytest_tap-3.5.tar.gz
py312: commands[0]> pytest --tap-combined
Traceback (most recent call last):
  File "/home/matt/projects/pytest-tap/.tox/py312/bin/pytest", line 8, in <module>
    sys.exit(console_main())
             ^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201, in console_main
    code = main()
           ^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/config/__init__.py", line 156, in main
    config = _prepareconfig(args, plugins)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/config/__init__.py", line 341, in _prepareconfig
    config = pluginmanager.hook.pytest_cmdline_parse(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/helpconfig.py", line 105, in pytest_cmdline_parse
    config = yield
             ^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1140, in pytest_cmdline_parse
    self.parse(args)
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1494, in parse
    self._preparse(args, addopts=addopts)
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/_pytest/config/__init__.py", line 1381, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "/home/matt/projects/pytest-tap/.tox/py312/lib/python3.12/site-packages/pluggy/_manager.py", line 421, in load_setuptools_entrypoints
    plugin = ep.load()
             ^^^^^^^^^
  File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'pytest_tap.plugin'
py312: exit 1 (0.13 seconds) /home/matt/projects/pytest-tap> pytest --tap-combined pid=37625
.pkg: _exit> python /home/matt/projects/pytest-tap/.venv/lib/python3.12/site-packages/pyproject_api/_backend.py True hatchling.build
  py312: FAIL code 1 (2.23=setup[2.10]+cmd[0.13] seconds)
  evaluation failed :( (2.31 seconds)
make: *** [Makefile:2: test] Error 1
pytest-tap on  wheel-fix [!] is 📦 v3.5 via 🐍 v3.12.7 took 3s
❯ ls .tox/py312/lib/python3.12/site-packages/pytest_tap
__pycache__

@solidbird
Copy link

Hi, I have been trying to package pytest-tap for debian bookworm (a couple of backports from debian trixie were required for hatchling, etc.) and have encountered the issue that the buildsystem is producing an empty wheel file.

The change introduced by @Cynerd would fix this issue. This package from what I have understood so far can not be packaged to debian without this change being introduced. Would be nice to introduce this change.

I ended up just introducing an patch to my debian packaging.

If anyone struggles to build a local wheel with pybuild I applied the changes of this pull request as a patch + set the env variable HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1 (because see here: pypa/hatch#1368).

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.

3 participants