These all work as expected: ```pycon >>> Requirement('foo==1.0') <Requirement('foo==1.0')> >>> Requirement('foo===1.0') <Requirement('foo===1.0')> >>> Requirement('foo (==1.0)') <Requirement('foo==1.0')> ``` But not this: ```pycon >>> Requirement('foo (===1.0)') Traceback (most recent call last): File "packaging/requirements.py", line 98, in __init__ req = REQUIREMENT.parseString(requirement_string) File "pyparsing.py", line 1955, in parseString raise exc File "pyparsing.py", line 3814, in parseImpl raise ParseException(instring, loc, self.errmsg, self) pyparsing.ParseException: Expected stringEnd, found '(' (at char 4), (line:1, col:5) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "packaging/requirements.py", line 100, in __init__ raise InvalidRequirement( packaging.requirements.InvalidRequirement: Parse error at "'(===1.0)'": Expected stringEnd ```