Files
wikiq/pyproject.toml
Benjamin Mako Hill 8bd6c2e129 add a CHANGELOG
Two version tags existed with no record of what was in them. Since
neither was ever released, the first entry describes 0.3.0 against what
people are actually running rather than against a previous release.

The redirect column change leads, because it is the one thing here that
will break code someone else has written.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 16:53:52 -07:00

98 lines
3.0 KiB
TOML

[project]
name = "wikiq"
version = "0.3.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"
authors = [
{ name = "Benjamin Mako Hill" },
{ name = "Nathan TeBlunthuis" },
{ name = "Will Beason" },
{ name = "Sohyeon Hwang" },
{ name = "Kaylea Champion" },
]
keywords = ["mediawiki", "wikipedia", "wiki", "dump", "xml", "revision", "research"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: POSIX",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Text Processing :: Markup",
]
dependencies = [
"deltas>=0.7.0",
"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",
"sortedcontainers>=2.4.0",
]
# Two features carry dependencies that are awkward enough to install that they
# are kept out of the base install: -p legacy needs mediawiki-utilities, a 2015
# package that also pulls in a MySQL client, and --diff and -p wikidiff2 need
# pywikidiff2, which compiles a C++ extension. Everything else, including the
# default -p sequence, works with neither.
[project.optional-dependencies]
legacy = ["mediawiki-utilities>=0.4.18"]
# A wikidiff2 extra belongs here too, but pywikidiff2 is not yet published to
# PyPI, so an extra naming it could not resolve. Until it is, wikiq reports the
# git install command when --diff or -p wikidiff2 is used without it.
# Duplicated from [dependency-groups] below, which is PEP 735 and so is visible
# only to uv. This is what makes `pip install -e '.[dev]'` work.
dev = [
"pandas>=2.1.0",
"pytest>=8.4.1",
"pytest-asyncio>=1.0.0",
"pytest-benchmark>=5.1.0",
]
[project.urls]
Homepage = "https://wiki.communitydata.science/"
Repository = "https://gitea.communitydata.science/collective/wikiq"
[project.scripts]
wikiq = "wikiq:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/wikiq"]
# Without an explicit list hatchling walks the whole working tree, which sweeps
# in any local virtualenv and editor state while still omitting the test dumps,
# since those are gitignored. Tests run from a clone of the repository rather
# than from the sdist.
[tool.hatch.build.targets.sdist]
include = [
"src/wikiq",
"README.md",
"CHANGELOG.md",
"COPYING",
"pyproject.toml",
]
[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",
]