Skip to content

Commit 72c7a6c

Browse files
authored
Merge pull request #2580 from melissa-kun-li/fix-entry-points-name-case-sensitivity
Fix case sensitivity of entry point names and keys in setup.cfg. Fixes #1937 and fixes #2480.
2 parents e46a4f1 + 898a0b5 commit 72c7a6c

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

changelog.d/1937.change.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Preserved case-sensitivity of keys in setup.cfg so that entry point names are case-sensitive. Changed sensitivity of configparser. NOTE: Any projects relying on case-insensitivity will need to adapt to accept the original case as published. -- by :user:`melissa-kun-li`

setuptools/dist.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,7 @@ def _parse_config_files(self, filenames=None): # noqa: C901
583583
self.announce("Distribution.parse_config_files():")
584584

585585
parser = ConfigParser()
586+
parser.optionxform = str
586587
for filename in filenames:
587588
with io.open(filename, encoding='utf-8') as reader:
588589
if DEBUG:

setuptools/tests/test_config.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,24 @@ def test_entry_points(self, tmpdir):
802802
with get_dist(tmpdir) as dist:
803803
assert dist.entry_points == expected
804804

805+
def test_case_sensitive_entry_points(self, tmpdir):
806+
_, config = fake_env(
807+
tmpdir,
808+
'[options.entry_points]\n'
809+
'GROUP1 = point1 = pack.module:func, '
810+
'.point2 = pack.module2:func_rest [rest]\n'
811+
'group2 = point3 = pack.module:func2\n'
812+
)
813+
814+
with get_dist(tmpdir) as dist:
815+
assert dist.entry_points == {
816+
'GROUP1': [
817+
'point1 = pack.module:func',
818+
'.point2 = pack.module2:func_rest [rest]',
819+
],
820+
'group2': ['point3 = pack.module:func2']
821+
}
822+
805823
def test_data_files(self, tmpdir):
806824
fake_env(
807825
tmpdir,

0 commit comments

Comments
 (0)