Skip to content

Conversation

@jameslamb
Copy link
Owner

The v0.11.1 sdists were not installable. #359 tried to fix that but... the v0.11.2 sdists aren't installable either (https://github.com/conda-forge/pydistcheck-feedstock/pull/20/files#r2696726737).

All of these are my failed attempts to switch the build backend to hatchling 😭

This PR tries to fix it for good, and adds even stricter testing.

  • uses the sdists in some of the unit test CI jobs
  • updates path re-mapping so that wheels built from the sdist are installable

@jameslamb jameslamb added the fix Pull request fixes a bug. label Jan 16, 2026

[tool.hatch.build.targets.wheel]
ignore-vcs = true
packages = ["src/pydistcheck"]
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this was the problem. The sdist didn't have src/ paths, so this didn't exist when building a wheel from the sdist.

Might be able to get away without any configuration in [tool.hatch.build.targets.wheel], based on https://hatch.pypa.io/latest/plugins/builder/wheel/#default-file-selection

__all__ = []

__version__ = "0.11.2"
__version__ = "0.11.3"
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Planning to immediately release this as v0.11.3

@jameslamb
Copy link
Owner Author

Ok I think this is working? Let's try it again 😅

@jameslamb jameslamb enabled auto-merge (squash) January 16, 2026 04:44
@jameslamb jameslamb disabled auto-merge January 16, 2026 04:44
@jameslamb jameslamb merged commit 3bf39fd into main Jan 16, 2026
24 checks passed
@jameslamb jameslamb deleted the fix-sdists-again branch January 16, 2026 04:44
@jameslamb
Copy link
Owner Author

jameslamb commented Jan 16, 2026

I think this worked! The conda-forge builds (which build from the sdist) passed: conda-forge/pydistcheck-feedstock#22

And I tried installing the newly-published sdist in a totally clean image and saw it work.

$ docker run --rm -it python:3.13 bash
$ pip install --no-binary 'pydistcheck' 'pydistcheck==0.11.3'
Collecting pydistcheck==0.11.3
  Downloading pydistcheck-0.11.3.tar.gz (18 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting click>=8.0 (from pydistcheck==0.11.3)
  Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
Downloading click-8.3.1-py3-none-any.whl (108 kB)
Building wheels for collected packages: pydistcheck
  Building wheel for pydistcheck (pyproject.toml) ... done
  Created wheel for pydistcheck: filename=pydistcheck-0.11.3-py3-none-any.whl size=22212 sha256=9b3a92b414aeb171a2c5e2928c5591a01a05681358072194a929813fe6529dc2
  Stored in directory: /root/.cache/pip/wheels/18/f2/d7/c838d958317657e38f714670ef4150cda6ce905520bd94f94c
Successfully built pydistcheck
Installing collected packages: click, pydistcheck
Successfully installed click-8.3.1 pydistcheck-0.11.3

$ pip download --no-deps pandas
$ pydistcheck --inspect pandas*.whl
checking 'pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl'
----- package inspection summary -----
file size
  * compressed size: 11.167M
  * uncompressed size: 42.646M
  * compression space saving: 73.8%
contents
  * directories: 155
  * files: 1513 (44 compiled)
size by extension
  * .so - 22.639M (53.1%)
  * .py - 19.586M (45.9%)
  * no-extension - 0.287M (0.7%)
  * .pyi - 0.101M (0.2%)
  * .toml - 24.088K (0.1%)
  * .tpl - 8.287K (0.0%)
  * .txt - 69.0B (0.0%)
largest files
  * (1.962M) pandas/_libs/groupby.cpython-313-aarch64-linux-gnu.so
  * (1.925M) pandas/_libs/hashtable.cpython-313-aarch64-linux-gnu.so
  * (1.767M) pandas/_libs/algos.cpython-313-aarch64-linux-gnu.so
  * (1.199M) pandas/_libs/join.cpython-313-aarch64-linux-gnu.so
  * (1.153M) pandas/_libs/interval.cpython-313-aarch64-linux-gnu.so
------------ check results -----------
errors found while checking: 0

==================== done running pydistcheck ===============

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix Pull request fixes a bug.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants