diff --git a/CHANGELOG.md b/CHANGELOG.md index 601cdab211..be50852276 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +### 38.0.2 [#1178](https://github.com/openfisca/openfisca-core/pull/1178) + +#### Technical changes + +- Remove use of `importlib_metadata`. + # 38.0.0 [#989](https://github.com/openfisca/openfisca-core/pull/989) #### New Features diff --git a/openfisca_core/taxbenefitsystems/tax_benefit_system.py b/openfisca_core/taxbenefitsystems/tax_benefit_system.py index 9a8831269d..10b22f68c4 100644 --- a/openfisca_core/taxbenefitsystems/tax_benefit_system.py +++ b/openfisca_core/taxbenefitsystems/tax_benefit_system.py @@ -6,10 +6,10 @@ import functools import glob import importlib -import importlib_metadata import inspect import logging import os +import pkg_resources import sys import traceback import typing @@ -457,9 +457,8 @@ def get_package_metadata(self) -> Dict[str, str]: package_name = module.__package__.split('.')[0] try: - distribution = importlib_metadata.distribution(package_name) - - except importlib_metadata.PackageNotFoundError: + distribution = pkg_resources.get_distribution(package_name) + except pkg_resources.DistributionNotFound: return fallback_metadata source_file = inspect.getsourcefile(module) @@ -470,12 +469,17 @@ def get_package_metadata(self) -> Dict[str, str]: else: location = "" - metadata = distribution.metadata + home_page_metadatas = [ + metadata.split(':', 1)[1].strip(' ') + for metadata in distribution._get_metadata(distribution.PKG_INFO) # type: ignore + if 'Home-page' in metadata + ] + repository_url = home_page_metadatas[0] if home_page_metadatas else '' return { - 'name': metadata["Name"].lower(), + 'name': distribution.key, 'version': distribution.version, - 'repository_url': metadata["Home-page"], + 'repository_url': repository_url, 'location': location, } diff --git a/setup.py b/setup.py index 2543121ac8..a05a4ebed9 100644 --- a/setup.py +++ b/setup.py @@ -63,7 +63,7 @@ setup( name = 'OpenFisca-Core', - version = '38.0.0', + version = '38.0.2', author = 'OpenFisca Team', author_email = 'contact@openfisca.org', classifiers = [