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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions