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>
97 lines
3.0 KiB
TOML
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",
|
|
]
|