-
Notifications
You must be signed in to change notification settings - Fork 112
Replace SimpleParse to unblock Python 3.12+ #374
Copy link
Copy link
Open
Labels
Description
Problem
SimpleParse uses a C extension (mxTextTools) that relies on CPython C API calls removed in Python 3.12+. This means Trigger cannot run on Python 3.12 or later — the single biggest blocker for the project's future.
The ACL parser (trigger/acl/parser.py) imports directly from simpleparse.
Current Impact
- Trigger is stuck on Python 3.10-3.11
- Python 3.11 reaches EOL in October 2027
- This is a ticking clock
Options
- Port the SimpleParse EBNF grammar to
pyparsing(already a dependency) — most pragmatic - Fork SimpleParse and fix the C extension for 3.12+
- Rewrite the ACL parser with a modern parsing library (lark, parsy, etc.)
- Factor out the ACL parser into its own package (see Fork ACL parser into distinct project. #63) and solve it there
Option 1 seems like the best path — pyparsing is already used elsewhere in the ACL module, so this keeps the dependency tree clean.
Files Affected
trigger/acl/parser.py— main SimpleParse usagepyproject.toml— dependency declaration- Any other files importing from
simpleparse
Priority
🚨 Critical — this blocks all future Python version support.
Reactions are currently unavailable