wikiq 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wikiq-0.3.0/.gitignore +17 -0
- wikiq-0.3.0/CHANGELOG.md +73 -0
- wikiq-0.3.0/COPYING +674 -0
- wikiq-0.3.0/PKG-INFO +165 -0
- wikiq-0.3.0/README.md +126 -0
- wikiq-0.3.0/pyproject.toml +96 -0
- wikiq-0.3.0/src/wikiq/__init__.py +1590 -0
- wikiq-0.3.0/src/wikiq/diff_pyarrow_schema.py +49 -0
- wikiq-0.3.0/src/wikiq/resume.py +97 -0
- wikiq-0.3.0/src/wikiq/tables.py +397 -0
- wikiq-0.3.0/src/wikiq/wiki_diff_matcher.py +432 -0
- wikiq-0.3.0/src/wikiq/wikitext_parser.py +162 -0
wikiq-0.3.0/.gitignore
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
*.xml.gz
|
|
2
|
+
*.7z
|
|
3
|
+
*.xml.bz2
|
|
4
|
+
*.xml.xz
|
|
5
|
+
*.swp
|
|
6
|
+
|
|
7
|
+
# JetBrains
|
|
8
|
+
/.idea
|
|
9
|
+
|
|
10
|
+
/.claude/settings.local.json*
|
|
11
|
+
|
|
12
|
+
# Python build and test output
|
|
13
|
+
__pycache__/
|
|
14
|
+
/test/test_output/
|
|
15
|
+
|
|
16
|
+
# Virtualenv (created with create_cdsc_venv on klone)
|
|
17
|
+
/.venv/
|
wikiq-0.3.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.3.0 (2026-11-01)
|
|
4
|
+
|
|
5
|
+
Changes relative to what people have been running. Earlier version tags
|
|
6
|
+
in this repository were internal markers rather than releases, so there
|
|
7
|
+
is no previous release to compare against.
|
|
8
|
+
|
|
9
|
+
### Incompatible changes
|
|
10
|
+
|
|
11
|
+
- **Redirect detection is now per revision.** The page-level
|
|
12
|
+
`redirect_target` column has been replaced by `revision_is_redirect`
|
|
13
|
+
and `revision_redirect_target`, which classify each revision from its
|
|
14
|
+
own text. The old column reported a page's redirect status as of the
|
|
15
|
+
time the dump was exported and applied that single value to every
|
|
16
|
+
revision in the page's history, which is wrong for any page that was
|
|
17
|
+
turned into a redirect, or turned back, at some point in its life.
|
|
18
|
+
Revisions with deleted text report null in both columns rather than
|
|
19
|
+
false. Wikis using a localized redirect keyword can add it with
|
|
20
|
+
`--redirect-aliases`; `#REDIRECT` is always recognized.
|
|
21
|
+
|
|
22
|
+
Code reading `redirect_target` needs updating.
|
|
23
|
+
|
|
24
|
+
- **Parquet output has been removed**, along with the
|
|
25
|
+
`--partition-namespaces` and `--max-revisions-per-file` options that
|
|
26
|
+
only applied to it. Use JSONL, which supports `--resume`.
|
|
27
|
+
|
|
28
|
+
- **pyspark is no longer a dependency** and the `wikiq-spark` entry point
|
|
29
|
+
is gone. The second pass of that pipeline was never in this
|
|
30
|
+
repository.
|
|
31
|
+
|
|
32
|
+
- **Python 3.11 or later is required.** Python 3.9 reached end of life in
|
|
33
|
+
October 2025, and the floor unlocks current pyarrow, more-itertools and
|
|
34
|
+
pandas, along with the CPython 3.11 speedups on the CPU-bound work
|
|
35
|
+
wikiq does.
|
|
36
|
+
|
|
37
|
+
- **The project is now called wikiq**, rather than mediawiki_dump_tools.
|
|
38
|
+
|
|
39
|
+
### Installation
|
|
40
|
+
|
|
41
|
+
- **wikiq installs with plain `pip` and needs no C++ compiler.**
|
|
42
|
+
Previously every install required pywikidiff2, built from an ssh-only
|
|
43
|
+
git URL, so anyone outside the collective could not install the tool at
|
|
44
|
+
all. It is now optional and needed only for `--diff` and
|
|
45
|
+
`-p wikidiff2`.
|
|
46
|
+
|
|
47
|
+
- **`-p legacy` needs the new `legacy` extra.** It was the only user of
|
|
48
|
+
`mediawiki-utilities`, a 2015 package that also pulls in a MySQL client
|
|
49
|
+
and six other packages. Everyone was paying for that to support one
|
|
50
|
+
flag.
|
|
51
|
+
|
|
52
|
+
- **Dependencies resolve from PyPI** rather than from pinned forks under
|
|
53
|
+
personal accounts. Requires mwxml >= 0.3.8, which fixes eleven upstream
|
|
54
|
+
issues; note that mwxml 0.3.7 changed namespace handling to trust the
|
|
55
|
+
dump's embedded `<ns>` tag.
|
|
56
|
+
|
|
57
|
+
### Added
|
|
58
|
+
|
|
59
|
+
- `--version`, and the version is printed to stderr on every run so it
|
|
60
|
+
lands in job logs beside the output.
|
|
61
|
+
- Licensing: wikiq is GPL-3.0-or-later. See `COPYING`.
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- Regex matching (`-RP`/`-CP`) crashed with a `TypeError` on revisions
|
|
66
|
+
whose text or comment was deleted or suppressed. Deleted content now
|
|
67
|
+
reports null.
|
|
68
|
+
- Page titles in non-main namespaces were prefixed twice under mwxml
|
|
69
|
+
0.3.7 and later, producing titles like `Category:Category:Alaska`.
|
|
70
|
+
- The test suite had 16 failing tests, and `pytest test/` silently
|
|
71
|
+
collected only half of it because the main test file matched neither of
|
|
72
|
+
pytest's discovery patterns. It is now `test_wikiq.py` and the suite
|
|
73
|
+
runs green.
|