What's New
Performance (5x faster)
- Parallel corpus generation — rules generate strings concurrently across all CPU cores
- Fork-based evaluation on Linux — workers inherit pre-compiled patterns via copy-on-write, eliminating serialization and recompilation overhead
- ~8s for 1,537 rules (down from ~38s)
- Spawn-based fallback on macOS/Windows
Optional RE2 acceleration
pip install crossfire-rules[re2]Tries google-re2 first for 10-100x faster regex compilation, falls back to stdlib re for PCRE-only patterns (backreferences, lookahead). Works transparently with fork-based workers.
Python 3.11+ minimum
- Dropped Python 3.10 support
StrEnum,datetime.UTC,tomllib(notomlifallback)
Other improvements
CROSSFIRE_WORKERSenvironment variable for worker countdequefor BFS clustering (O(1) popleft vs O(n) pop(0))- Early skip for zero-overlap pairs in classifier
lru_cacheon_pattern_complexitydiff_corporareusesevaluate_corpus(no redundant O(R×C) scan)- Direct
gen_durationtiming instead of subtraction - Worker failures raise
RuntimeErrorinstead of being silently swallowed CompiledPatternProtocol for type-safere/re2dual supportmypy --strictenforced in CI- README badges (CI, PyPI, Python, license)
Install / Upgrade
pip install --upgrade crossfire-rules