Files
wikiq/pyproject.toml
Benjamin Mako Hill 0ed0f57dbb require Python 3.11
Python 3.9 reached end of life in October 2025, and 3.11 is where the
current ecosystem sits: it unlocks pyarrow 25 (we were held at 21, the
last release supporting 3.9), more-itertools 11, and pandas 3 for the
test suite, along with the large CPython 3.11 interpreter speedups on
exactly the kind of CPU-bound work wikiq does. Nothing in the code
needed changes.

Raising the floor exposed that PyPI's yamlconf 0.2.6 (a transitive
dependency via deltas) pins pyyaml == 5.4.1, which has no wheels for
3.11+ and no longer builds from source under current setuptools. Add a
PEP 508 reference to the fork that loosens the pin; it can be dropped
when https://github.com/halfak/yamlconf/pull/10 is merged and released.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 16:17:14 -07:00

47 lines
1.1 KiB
TOML

[project]
name = "mediawiki-dump-tools"
version = "0.1.1"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"deltas>=0.7.0",
"mediawiki-utilities>=0.4.18",
"more-itertools>=10.7.0",
"mwparserfromhell>=0.6.0",
"mwpersistence>=0.2.4",
"mwreverts>=0.1.5",
"mwtypes>=0.4.0",
"mwxml>=0.3.8",
"pyarrow>=20.0.0",
"pywikidiff2 @ git+https://gitea.communitydata.science/groceryheist/pywikidiff2.git",
"sortedcontainers>=2.4.0",
# PyPI yamlconf 0.2.6 pins pyyaml == 5.4.1, which cannot build on
# Python >= 3.11; this fork loosens the pin. Drop once upstream
# releases with a fixed requirement.
"yamlconf @ git+https://github.com/groceryheist/yamlconf",
]
[project.scripts]
wikiq = "wikiq:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/wikiq"]
[tool.hatch.metadata]
allow-direct-references = true
[dependency-groups]
dev = [
"ipython>=8.18.1",
"memray>=1.17.2",
"pandas>=2.1.0",
"pytest>=8.4.1",
"pytest-asyncio>=1.0.0",
"pytest-benchmark>=5.1.0",
]