v0.3.0: Hardening pass
·
292 commits
to main
since this release
Added
- Documentation site (MkDocs Material), deployed to GitHub Pages
docs/filtered-sampling.mdanddocs/recipes.md, replacing the old standalone guide and example scripts- GitHub Actions CI: Ruff + Pyright, tests on Python 3.10 and 3.12, and a package-build check on every push/PR to
main - Pre-commit hooks: Ruff on every commit, Pyright and pytest on every push
- Unit test coverage for
filter.py,samplers.py,indexer.py, andrng.py, including the reservoir-sampling and filter AND/OR DSL logic, which previously had none - Community health files: Code of Conduct, Contributing guide, Security policy (private vulnerability reporting), issue templates, pull request template
- World-on-anvil emblem as the project's brand mark
- PyPI-readiness metadata in
pyproject.toml(authors, keywords, classifiers, project URLs) hatch-vcs-based versioning
Changed
- Relicensed from MIT to Apache License 2.0
- README's "Known Limitations" and "Roadmap" sections consolidated into a single docs-site page instead of two independently-drifting copies
scrape,convert, andfilternow exit non-zero and report failed files instead of silently discarding partial failures
Removed
filtered_sampling_guide.md,sample.example.sh,sample.example.cmd(content moved into the docs site)
Fixed
- CI silently installed the wrong Python version, since
setup-uvhas nopython-versioninput (now passed viauv sync --python) - Various Ruff and Pyright findings across the codebase
_is_gdelt_dataset_filematched same-length non-ZIP files (e.g.2020.csv) as monthly/yearly GDELT archives, since it only checked the digit-prefix length and never verified the.zipsuffix- Sample output (
gdeltforge sample) was written directly to its destination path, so a process killed mid-write could leave a corrupt or empty file there with no indication anything was wrong; sample output and scraped downloads now write atomically via a temp file, and warn instead of silently overwriting a leftover incomplete file from a previous interrupted run
Full Changelog: v0.2.0...v0.3.0