Files
wikiq/pyproject.toml
Benjamin Mako Hill 1b55acb01f rename the project from mediawiki_dump_tools to wikiq
wikiq is what the tool is called, what people type, and what they would
search for; mediawiki_dump_tools was only ever the name of the directory
it lived in. The repository is being renamed on gitea and github to
match, so rename the distribution with it.

This also settles the name to claim on PyPI. The metadata lookup that
backs --version takes the distribution name as a literal, so it changes
here too, along with the install command wikiq prints when -p legacy is
used without its extra.

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

97 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",
"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",
]