importlib-metadata 8.2.0__tar.gz → 8.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/NEWS.rst +9 -0
  2. {importlib_metadata-8.2.0/importlib_metadata.egg-info → importlib_metadata-8.3.0}/PKG-INFO +1 -1
  3. importlib_metadata-8.3.0/conftest.py +30 -0
  4. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/__init__.py +28 -0
  5. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0/importlib_metadata.egg-info}/PKG-INFO +1 -1
  6. importlib_metadata-8.2.0/conftest.py +0 -25
  7. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.coveragerc +0 -0
  8. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.editorconfig +0 -0
  9. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.github/FUNDING.yml +0 -0
  10. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.github/dependabot.yml +0 -0
  11. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.github/workflows/main.yml +0 -0
  12. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.gitignore +0 -0
  13. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.pre-commit-config.yaml +0 -0
  14. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/.readthedocs.yaml +0 -0
  15. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/LICENSE +0 -0
  16. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/README.rst +0 -0
  17. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/SECURITY.md +0 -0
  18. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/docs/__init__.py +0 -0
  19. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/docs/api.rst +0 -0
  20. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/docs/conf.py +0 -0
  21. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/docs/history.rst +0 -0
  22. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/docs/index.rst +0 -0
  23. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/docs/migration.rst +0 -0
  24. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/exercises.py +0 -0
  25. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_adapters.py +0 -0
  26. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_collections.py +0 -0
  27. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_compat.py +0 -0
  28. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_functools.py +0 -0
  29. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_itertools.py +0 -0
  30. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_meta.py +0 -0
  31. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/_text.py +0 -0
  32. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/compat/__init__.py +0 -0
  33. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/compat/py311.py +0 -0
  34. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/compat/py39.py +0 -0
  35. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/diagnose.py +0 -0
  36. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata/py.typed +0 -0
  37. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata.egg-info/SOURCES.txt +0 -0
  38. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata.egg-info/dependency_links.txt +0 -0
  39. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata.egg-info/requires.txt +0 -0
  40. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/importlib_metadata.egg-info/top_level.txt +0 -0
  41. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/mypy.ini +0 -0
  42. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/pyproject.toml +0 -0
  43. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/pytest.ini +0 -0
  44. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/ruff.toml +0 -0
  45. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/setup.cfg +0 -0
  46. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/__init__.py +0 -0
  47. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/_context.py +0 -0
  48. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/_path.py +0 -0
  49. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/compat/__init__.py +0 -0
  50. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/compat/py312.py +0 -0
  51. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/compat/py39.py +0 -0
  52. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/compat/test_py39_compat.py +0 -0
  53. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/__init__.py +0 -0
  54. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/example-21.12-py3-none-any.whl +0 -0
  55. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/example-21.12-py3.6.egg +0 -0
  56. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/example2-1.0.0-py3-none-any.whl +0 -0
  57. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/sources/example/example/__init__.py +0 -0
  58. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/sources/example/setup.py +0 -0
  59. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/sources/example2/example2/__init__.py +0 -0
  60. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/data/sources/example2/pyproject.toml +0 -0
  61. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/fixtures.py +0 -0
  62. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/test_api.py +0 -0
  63. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/test_integration.py +0 -0
  64. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/test_main.py +0 -0
  65. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tests/test_zip.py +0 -0
  66. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/towncrier.toml +0 -0
  67. {importlib_metadata-8.2.0 → importlib_metadata-8.3.0}/tox.ini +0 -0
@@ -1,3 +1,12 @@
1
+ v8.3.0
2
+ ======
3
+
4
+ Features
5
+ --------
6
+
7
+ - Disallow passing of 'dist' to EntryPoints.select.
8
+
9
+
1
10
  v8.2.0
2
11
  ======
3
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: importlib_metadata
3
- Version: 8.2.0
3
+ Version: 8.3.0
4
4
  Summary: Read metadata from Python packages
5
5
  Author-email: "Jason R. Coombs" <jaraco@jaraco.com>
6
6
  Project-URL: Source, https://github.com/python/importlib_metadata
@@ -0,0 +1,30 @@
1
+ import sys
2
+
3
+
4
+ collect_ignore = [
5
+ # this module fails mypy tests because 'setup.py' matches './setup.py'
6
+ 'tests/data/sources/example/setup.py',
7
+ ]
8
+
9
+
10
+ def pytest_configure():
11
+ remove_importlib_metadata()
12
+
13
+
14
+ def remove_importlib_metadata():
15
+ """
16
+ Ensure importlib_metadata is not imported yet.
17
+
18
+ Because pytest or other modules might import
19
+ importlib_metadata, the coverage reports are broken (#322).
20
+ Work around the issue by undoing the changes made by a
21
+ previous import of importlib_metadata (if any).
22
+ """
23
+ sys.meta_path[:] = [
24
+ item
25
+ for item in sys.meta_path
26
+ if item.__class__.__name__ != 'MetadataPathFinder'
27
+ ]
28
+ for mod in list(sys.modules):
29
+ if mod.startswith('importlib_metadata'):
30
+ del sys.modules[mod]
@@ -227,9 +227,26 @@ class EntryPoint:
227
227
  >>> ep.matches(attr='bong')
228
228
  True
229
229
  """
230
+ self._disallow_dist(params)
230
231
  attrs = (getattr(self, param) for param in params)
231
232
  return all(map(operator.eq, params.values(), attrs))
232
233
 
234
+ @staticmethod
235
+ def _disallow_dist(params):
236
+ """
237
+ Querying by dist is not allowed (dist objects are not comparable).
238
+ >>> EntryPoint(name='fan', value='fav', group='fag').matches(dist='foo')
239
+ Traceback (most recent call last):
240
+ ...
241
+ ValueError: "dist" is not suitable for matching...
242
+ """
243
+ if "dist" in params:
244
+ raise ValueError(
245
+ '"dist" is not suitable for matching. '
246
+ "Instead, use Distribution.entry_points.select() on a "
247
+ "located distribution."
248
+ )
249
+
233
250
  def _key(self):
234
251
  return self.name, self.value, self.group
235
252
 
@@ -373,6 +390,17 @@ class Distribution(metaclass=abc.ABCMeta):
373
390
  """
374
391
  Given a path to a file in this distribution, return a SimplePath
375
392
  to it.
393
+
394
+ This method is used by callers of ``Distribution.files()`` to
395
+ locate files within the distribution. If it's possible for a
396
+ Distribution to represent files in the distribution as
397
+ ``SimplePath`` objects, it should implement this method
398
+ to resolve such objects.
399
+
400
+ Some Distribution providers may elect not to resolve SimplePath
401
+ objects within the distribution by raising a
402
+ NotImplementedError, but consumers of such a Distribution would
403
+ be unable to invoke ``Distribution.files()``.
376
404
  """
377
405
 
378
406
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: importlib_metadata
3
- Version: 8.2.0
3
+ Version: 8.3.0
4
4
  Summary: Read metadata from Python packages
5
5
  Author-email: "Jason R. Coombs" <jaraco@jaraco.com>
6
6
  Project-URL: Source, https://github.com/python/importlib_metadata
@@ -1,25 +0,0 @@
1
- import sys
2
-
3
-
4
- collect_ignore = [
5
- # this module fails mypy tests because 'setup.py' matches './setup.py'
6
- 'tests/data/sources/example/setup.py',
7
- ]
8
-
9
-
10
- def pytest_configure():
11
- remove_importlib_metadata()
12
-
13
-
14
- def remove_importlib_metadata():
15
- """
16
- Because pytest imports importlib_metadata, the coverage
17
- reports are broken (#322). So work around the issue by
18
- undoing the changes made by pytest's import of
19
- importlib_metadata (if any).
20
- """
21
- if sys.meta_path[-1].__class__.__name__ == 'MetadataPathFinder':
22
- del sys.meta_path[-1]
23
- for mod in list(sys.modules):
24
- if mod.startswith('importlib_metadata'):
25
- del sys.modules[mod]