Skip to content

Drop re2 extra and require google-re2 by default #361

@stefanvanburen

Description

@stefanvanburen

The whole Config() + re2 saga was originally due to the fact that re2 was not publishing wheels for Python 3.13, which has now been remedied. We now have a set of dependency specifiers for re2 that work across the Python versions we support.

As suggested in #145, CEL requires an re2-compatible regex engine. We ought to just require re2 and drop the fallback to re with failures, as it just increases the surface area of the module and chances for strange behavior.

The only downside here is that we can't support new Python versions until google-re2 publishes wheels for them, but it does seem that re2 is now back to being maintained, and publishing wheels is trivial. (Most popular projects don't publish wheels for 3.14 yet according to https://pyreadiness.org/3.14/, but there ought to be a large uptick come the actual release in October.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions