Skip to content

Replace SimpleParse to unblock Python 3.12+ #374

@jathanism

Description

@jathanism

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

  1. Port the SimpleParse EBNF grammar to pyparsing (already a dependency) — most pragmatic
  2. Fork SimpleParse and fix the C extension for 3.12+
  3. Rewrite the ACL parser with a modern parsing library (lark, parsy, etc.)
  4. 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 usage
  • pyproject.toml — dependency declaration
  • Any other files importing from simpleparse

Priority

🚨 Critical — this blocks all future Python version support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions