From 149131609403a223a2554f74f7fb14af1d90fec2 Mon Sep 17 00:00:00 2001 From: Iain Samuel McLean Elder Date: Mon, 19 Jun 2023 11:09:38 +0200 Subject: [PATCH 1/2] Allow leading digit in PEP 508 dependency --- src/poetry/core/version/grammars/pep508.lark | 2 +- tests/packages/test_dependency.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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", [ From 3ea6c8562c905e2d6221819e3b1253c4e8ca4920 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 09:21:24 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/packages/test_dependency.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/packages/test_dependency.py b/tests/packages/test_dependency.py index 960688731..4f86f01c7 100644 --- a/tests/packages/test_dependency.py +++ b/tests/packages/test_dependency.py @@ -360,6 +360,7 @@ 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", [