Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,6 @@ repos:
hooks:
- id: black

- repo: https://github.com/asottile/setup-cfg-fmt
rev: v3.1.0
hooks:
- id: setup-cfg-fmt
args: [--include-version-classifiers, --max-py-version=3.13]

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.0
hooks:
Expand Down
15 changes: 9 additions & 6 deletions MANIFEST.in
Copy link
Member Author

Choose a reason for hiding this comment

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

As we're migrating the project files, I've made the sdist definition more explicit.

This now produces

$ rm -rf ./dist && uvx --from build pyproject-build --installer uv .
$ python -m tarfile --list ./dist/*.tar.gz
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/ 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/CITATION.cff 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/LICENSE 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/MANIFEST.in 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/PKG-INFO 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/README.md 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/pyproject.toml 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/setup.cfg 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/setup.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/ 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/ 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/PKG-INFO 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/SOURCES.txt 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/dependency_links.txt 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/entry_points.txt 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/requires.txt 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/scikit_hep_testdata.egg-info/top_level.txt 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/ 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/__init__.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/__main__.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/ 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/__init__.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/file_list.txt 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/pyhf-ins1748602-probability-models.doi 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/pylhe-testfile-madgraph-2.0.0-wbj.lhe.readme 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/pylhe-testfile-madgraph-2.2.1-Z-ckkwl.lhe.gz.readme 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/pylhe-testfile-madgraph-2.2.1-Z-fxfx.lhe.gz.readme 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/pylhe-testfile-madgraph-2.2.1-Z-mlm.lhe.gz.readme 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/data/pylhe-testfile-pythia-6.413-ttbar.lhe.readme 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/local_files.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/py.typed 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/remote_datasets.yml 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/remote_files.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/src/skhep_testdata/version.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/tests/ 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/tests/__init__.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/tests/test_local_files.py 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/tests/test_remote_datasets.yml 
scikit_hep_testdata-0.5.10.dev4+gcddd5bb0a/tests/test_remote_files.py

compared to

$ curl -sLO https://files.pythonhosted.org/packages/75/1f/7e0acd189f16cdee82ae3dc0bf6979b7506af7a84ee8907a978dc1a83b6f/scikit_hep_testdata-0.5.8.tar.gz
$ python -m tarfile --list ./scikit_hep_testdata-0.5.8.tar.gz 
scikit_hep_testdata-0.5.8/ 
scikit_hep_testdata-0.5.8/.all-contributorsrc 
scikit_hep_testdata-0.5.8/.github/ 
scikit_hep_testdata-0.5.8/.github/dependabot.yml 
scikit_hep_testdata-0.5.8/.github/workflows/ 
scikit_hep_testdata-0.5.8/.github/workflows/ci.yml 
scikit_hep_testdata-0.5.8/.gitignore 
scikit_hep_testdata-0.5.8/.pre-commit-config.yaml 
scikit_hep_testdata-0.5.8/CITATION.cff 
scikit_hep_testdata-0.5.8/LICENSE 
scikit_hep_testdata-0.5.8/MANIFEST.in 
scikit_hep_testdata-0.5.8/PKG-INFO 
scikit_hep_testdata-0.5.8/README.md 
scikit_hep_testdata-0.5.8/dev/ 
scikit_hep_testdata-0.5.8/dev/make-root/ 
scikit_hep_testdata-0.5.8/dev/make-root/double32_float16.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_1jag_int_float.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_Run2012BC_DoubleMuParked_Muons_1000evts.md 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_atomic_bitset.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_bit.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_emptystruct_invalidvar.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_extension_columns.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_float_types.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_imported_NanoAOD.md 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_index_multicluster.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_int_5e4.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_int_float.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_int_multicluster.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_int_vfloat_tlv_vtlv.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_multiple_cluster_groups.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_multiple_representations.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_nested_structs.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_split_3e4.C 
scikit_hep_testdata-0.5.8/dev/make-root/rntuple_stl_containers.C 
scikit_hep_testdata-0.5.8/dev/make-root/sample4version.C 
scikit_hep_testdata-0.5.8/dev/make-root/stl_containers.C 
scikit_hep_testdata-0.5.8/dev/make-root/uproot-issue-1043.C 
scikit_hep_testdata-0.5.8/dev/make-root/uproot-issue38c.py 
scikit_hep_testdata-0.5.8/dev/make-root/uproot_issue_1229.C 
scikit_hep_testdata-0.5.8/dev/make-root/uproot_issue_407.C 
scikit_hep_testdata-0.5.8/pyproject.toml 
scikit_hep_testdata-0.5.8/setup.cfg 
scikit_hep_testdata-0.5.8/setup.py 
scikit_hep_testdata-0.5.8/src/ 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/ 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/PKG-INFO 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/SOURCES.txt 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/dependency_links.txt 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/entry_points.txt 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/requires.txt 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/top_level.txt 
scikit_hep_testdata-0.5.8/src/scikit_hep_testdata.egg-info/zip-safe 
scikit_hep_testdata-0.5.8/src/skhep_testdata/ 
scikit_hep_testdata-0.5.8/src/skhep_testdata/__init__.py 
scikit_hep_testdata-0.5.8/src/skhep_testdata/__main__.py 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/ 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/__init__.py 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/file_list.txt 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/pyhf-ins1748602-probability-models.doi 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/pylhe-testfile-madgraph-2.0.0-wbj.lhe.readme 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/pylhe-testfile-madgraph-2.2.1-Z-ckkwl.lhe.gz.readme 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/pylhe-testfile-madgraph-2.2.1-Z-fxfx.lhe.gz.readme 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/pylhe-testfile-madgraph-2.2.1-Z-mlm.lhe.gz.readme 
scikit_hep_testdata-0.5.8/src/skhep_testdata/data/pylhe-testfile-pythia-6.413-ttbar.lhe.readme 
scikit_hep_testdata-0.5.8/src/skhep_testdata/local_files.py 
scikit_hep_testdata-0.5.8/src/skhep_testdata/py.typed 
scikit_hep_testdata-0.5.8/src/skhep_testdata/remote_datasets.yml 
scikit_hep_testdata-0.5.8/src/skhep_testdata/remote_files.py 
scikit_hep_testdata-0.5.8/src/skhep_testdata/version.py 
scikit_hep_testdata-0.5.8/tests/ 
scikit_hep_testdata-0.5.8/tests/__init__.py 
scikit_hep_testdata-0.5.8/tests/test_local_files.py 
scikit_hep_testdata-0.5.8/tests/test_remote_datasets.yml 
scikit_hep_testdata-0.5.8/tests/test_remote_files.py

which distributes files it doesn't need to.

Copy link
Member

Choose a reason for hiding this comment

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

Oh yeah, that's much better

Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
prune **
graft src
graft tests

include setup.py
include pyproject.toml
include LICENSE
include README.md
include src/skhep_testdata/remote_datasets.yml
include src/skhep_testdata/py.typed
include pyproject.toml

recursive-include src/skhep_testdata/data *
include MANIFEST.in
include CITATION.cff

exclude codecov.yml
global-exclude __pycache__ *.py[cod]
86 changes: 86 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,61 @@ requires = [
]
build-backend = "setuptools.build_meta"

[project]
name = "scikit-hep-testdata"
dynamic = ["version"]
description = "Example HEP files for testing and demonstrating"
readme = "README.md"
license = "BSD-3-Clause"
requires-python = ">=3.10"
authors = [
{ name = "Ben Krikler", email = "[email protected]" },
{ name = "Henry Schreiner", email = "[email protected]" }
]
maintainers = [ {name = "The Scikit-HEP admins", email = "[email protected]"} ]
keywords = [
"HEP",
"ROOT",
"testing",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Typing :: Typed",
]
dependencies = [
"pyyaml",
"requests",
]

[project.optional-dependencies]
test = [
"pytest-cov",
"pytest>=6.0.0",
]

[project.scripts]
scikit-hep-testdata = "skhep_testdata.__main__:main"
skhep-testdata = "skhep_testdata.__main__:main"

[project.urls]
Homepage = "https://github.com/scikit-hep/scikit-hep-testdata"

[tool.setuptools_scm]
write_to = "src/skhep_testdata/version.py"

Copy link

Copilot AI Dec 7, 2025

Choose a reason for hiding this comment

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

Missing setuptools package discovery configuration. The original setup.cfg specified packages = find: with where = src to find packages in the src-layout directory. Add the following configuration after this line:

[tool.setuptools.packages.find]
where = ["src"]

Without this, setuptools may fail to find and include the package in the distribution.

Suggested change
[tool.setuptools.packages.find]
where = ["src"]

Copilot uses AI. Check for mistakes.
[tool.setuptools.packages.find]
where = ["src"]


[tool.ruff]
lint.select = [
Expand Down Expand Up @@ -52,3 +104,37 @@ lint.isort.required-imports = ["from __future__ import annotations"]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["T20", "ARG001"]
"__main__.py" = ["T20"]

[tool.pytest.ini_options]
addopts = "-v -ra"
norecursedirs = ["src"]

[tool.mypy]
files = "src"
python_version = "3.13"
warn_unused_configs = true
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
no_implicit_reexport = true
strict_equality = true

[[tool.mypy.overrides]]
module = "skhep_testdata.version.*"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "importlib_resources.*"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "contextlib2.*"
ignore_missing_imports = true
82 changes: 0 additions & 82 deletions setup.cfg

This file was deleted.