Let us walk on the 3-isogeny graph
|
Data Structures | |
class | InvalidRequirement |
class | Requirement |
Variables | |
ALPHANUM = Word(string.ascii_letters + string.digits) | |
LBRACKET = L("[").suppress() | |
RBRACKET = L("]").suppress() | |
LPAREN = L("(").suppress() | |
RPAREN = L(")").suppress() | |
COMMA = L(",").suppress() | |
SEMICOLON = L(";").suppress() | |
AT = L("@").suppress() | |
PUNCTUATION = Word("-_.") | |
IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) | |
IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) | |
NAME = IDENTIFIER("name") | |
EXTRA = IDENTIFIER | |
URI = Regex(r"[^ ]+")("url") | |
URL = AT + URI | |
EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) | |
tuple | EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") |
VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) | |
VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) | |
VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY | |
VERSION_MANY | |
_VERSION_SPEC = Optional((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY) | |
VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") | |
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") | |
MARKER_SEPARATOR = SEMICOLON | |
MARKER = MARKER_SEPARATOR + MARKER_EXPR | |
VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) | |
URL_AND_MARKER = URL + Optional(MARKER) | |
NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) | |
REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd | |
|
protected |
Definition at line 63 of file requirements.py.
ALPHANUM = Word(string.ascii_letters + string.digits) |
Definition at line 33 of file requirements.py.
AT = L("@").suppress() |
Definition at line 41 of file requirements.py.
COMMA = L(",").suppress() |
Definition at line 39 of file requirements.py.
EXTRA = IDENTIFIER |
Definition at line 48 of file requirements.py.
tuple EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") |
Definition at line 54 of file requirements.py.
Definition at line 53 of file requirements.py.
IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) |
Definition at line 45 of file requirements.py.
IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) |
Definition at line 44 of file requirements.py.
LBRACKET = L("[").suppress() |
Definition at line 35 of file requirements.py.
LPAREN = L("(").suppress() |
Definition at line 37 of file requirements.py.
MARKER = MARKER_SEPARATOR + MARKER_EXPR |
Definition at line 74 of file requirements.py.
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") |
Definition at line 69 of file requirements.py.
MARKER_SEPARATOR = SEMICOLON |
Definition at line 73 of file requirements.py.
NAME = IDENTIFIER("name") |
Definition at line 47 of file requirements.py.
NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) |
Definition at line 79 of file requirements.py.
PUNCTUATION = Word("-_.") |
Definition at line 43 of file requirements.py.
RBRACKET = L("]").suppress() |
Definition at line 36 of file requirements.py.
REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd |
Definition at line 81 of file requirements.py.
RPAREN = L(")").suppress() |
Definition at line 38 of file requirements.py.
SEMICOLON = L(";").suppress() |
Definition at line 40 of file requirements.py.
Definition at line 50 of file requirements.py.
Definition at line 51 of file requirements.py.
Definition at line 77 of file requirements.py.
VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) |
Definition at line 76 of file requirements.py.
VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) |
Definition at line 57 of file requirements.py.
VERSION_MANY |
Definition at line 60 of file requirements.py.
VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY |
Definition at line 59 of file requirements.py.
VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) |
Definition at line 56 of file requirements.py.
VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") |
Definition at line 66 of file requirements.py.