[project]
name = "mediawiki-dump-tools"
version = "0.2.0"
description = "Convert MediaWiki XML database dumps into tabular datasets for research"
readme = "README.md"
license = "GPL-3.0-or-later"
license-files = ["COPYING"]
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",
]
