Skip to content

Fix entry point parsing for plugin names containing colons - #284

Open
Shubham-Padkonde wants to merge 1 commit into
linkedin:mainfrom
Shubham-Padkonde:fix/entrypoint-colon-names
Open

Shubham-Padkonde wants to merge 1 commit into
linkedin:mainfrom
Shubham-Padkonde:fix/entrypoint-colon-names

Conversation

@Shubham-Padkonde

Copy link
Copy Markdown

Looking up a console script fails with DuplicateOptionError when another entry-point group contains names such as {:.5f} and {:2.3e}. The default ConfigParser treats the colon as a delimiter and reads both names as {.

Use only = as the delimiter, preserving colon-containing names while retaining duplicate detection. The regression test includes two formatter entries alongside an unrelated console script and verifies that the script can be resolved.

Fixes #253. The reproduction and approach were posted on the issue before this PR.

Validation on Linux with Python 3.11.15:

  • The regression test fails with DuplicateOptionError before the fix and passes after it.
  • Full suite: PYTHONPATH=src python -m pytest -o addopts= test -q — 60 passed.
  • mypy src/ — passed (12 source files).
  • flake8 src/ test/ — passed.

An initial Python 3.12 run had 57 passes and 3 failures, including two caused by an interpreter path exceeding the shebang limit. The clean supported-version run above uses a shorter interpreter path.

Prepared with Codex assistance, including the implementation, regression test, and this description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DuplicateOptionError when there is { in entry_points.txt file

1 participant