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 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/
@@ -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.