-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Describe the bug
The sly
library that scim2-filter-parser relies on will no longer be updated and is currently pinned at ==0.4
in pyproject.toml. Unfortunately the sly
library also behaves poorly when being dynamically imported (such as by celery in a django application, or by ddtrace-run from datadog).
I don't think the whole problem needs to be solved by scim2-filter-parser, but I wanted to raise an issue to understand whether or not the as-of-recently unmaintained sly library would/could be replaced in future versions of scim2-filter-parser
.
Others may encounter this issue, which surfaces as local variable 'pattern' referenced before assignment
in sly.lex.Lexer._build
. This happens when including django_scim.views
in your application, since one of the imports of django_scim.views
is scim2_filter_parser.parser.SCIMParserError
, which in turn imports from sly import Parser
, which causes the __init__.py
in sly
to run, which does from .lex import *
, which then causes class Lexer(metaclass=LexerMeta):
to be evaluated.
Again, I don't necessarily think this whole bug chain is the responsibility of scim2-filter-parser, but the issue has to be opened somewhere and since sly
is a direct dependency of this repo and is no longer going to be maintained, I figured it would be a good place to call attention to potential problems that result from it. I captured more details on the sly
bug in ticket dabeaz/sly#106, but expect no release to be made to fix it as the project is explicitly no longer maintained.