diff --git a/src/poetry/core/version/grammars/pep508.lark b/src/poetry/core/version/grammars/pep508.lark index 0f32ff368..1b10d6ce0 100644 --- a/src/poetry/core/version/grammars/pep508.lark +++ b/src/poetry/core/version/grammars/pep508.lark @@ -10,7 +10,7 @@ _single_version: LEGACY_VERSION_CONSTRAINT _url: _AT URI marker_spec: marker -NAME: /[a-zA-Z][a-zA-Z0-9-_.]*/ +NAME: /[a-zA-Z0-9][a-zA-Z0-9-_.]*/ FULL_NAME: NAME EXTRA: NAME VERSION_CONSTRAINT: /(~=|==|!=|<=|>=|<|>|===)((?:(?<====)\s*[^\s]*)|(?:(?<===|!=)\s*v?(?:[0-9]+!)?[0-9]+(?:\.[0-9]+)*(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?[0-9]*)?(?:(?:-[0-9]+)|(?:[-_.]?(post|rev|r)[-_.]?[0-9]*))?(?:(?:[-_.]?dev[-_.]?[0-9]*)?(?:\+[a-z0-9]+(?:[-_.][a-z0-9]+)*)? # local|\.\*)?)|(?:(?<=~=)\s*v?(?:[0-9]+!)?[0-9]+(?:\.[0-9]+)+(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?[0-9]*)?(?:(?:-[0-9]+)|(?:[-_.]?(post|rev|r)[-_.]?[0-9]*))?(?:[-_.]?dev[-_.]?[0-9]*)?)|(?:(? None: assert dependency.extras == {"fred", "bar"} +def test_create_from_pep_508_starting_with_digit() -> None: + dependency = Dependency.create_from_pep_508("2captcha-python") + assert dependency.name == "2captcha-python" + + @pytest.mark.parametrize( "dependency1, dependency2, expected", [