Skip to content

Commit 56e672e

Browse files
committed
refactor: update importlib
importlib.metadata was added in 3.8. Now that we no longer support 3.7, we can use it directly, rather than using the backported implementation. (We still need to use the backported version of importlib_resources until we drop 3.8.)
1 parent e8ed31b commit 56e672e

File tree

12 files changed

+25
-21
lines changed

12 files changed

+25
-21
lines changed

_appmap/configuration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
Manage Configuration AppMap recorder for Python.
33
"""
44

5+
import importlib.metadata
56
import inspect
67
import os
78
import sys
89
from os.path import realpath
910
from pathlib import Path
1011
from textwrap import dedent
1112

12-
import importlib_metadata
1313
import yaml
1414
from yaml.parser import ParserError
1515

@@ -314,7 +314,7 @@ class DistMatcher(PathMatcher):
314314
def __init__(self, dist, *args, **kwargs):
315315
super().__init__(*args, **kwargs)
316316
self.dist = dist
317-
self.files = [str(pp.locate()) for pp in importlib_metadata.files(dist)]
317+
self.files = [str(pp.locate()) for pp in importlib.metadata.files(dist)]
318318

319319
def matches(self, filterable):
320320
try:

_appmap/test/appmap_test_base.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import platform
33
import re
4+
from importlib.metadata import version as dist_version
45
from operator import itemgetter
56

67
import pytest
@@ -60,7 +61,7 @@ def normalize_metadata(metadata):
6061
for f in frameworks:
6162
if f["name"] == "pytest":
6263
v = f.pop("version")
63-
assert v == pytest.__version__
64+
assert v == dist_version("pytest")
6465

6566
def normalize_appmap(self, generated_appmap):
6667
"""

_appmap/test/normalize.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import json
22
import platform
33
import re
4+
from importlib.metadata import version as dist_version
45
from operator import itemgetter
56
from typing import List
67

7-
import pytest
8-
98

109
def normalize_path(path):
1110
"""
@@ -45,7 +44,7 @@ def normalize_metadata(metadata):
4544
for f in frameworks:
4645
if f["name"] == "pytest":
4746
v = f.pop("version")
48-
assert v == pytest.__version__
47+
assert v == dist_version("pytest")
4948

5049

5150
def normalize_headers(dct):

_appmap/test/test_command.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import json
22
import re
33
from distutils.dir_util import copy_tree
4+
from importlib.metadata import version
45

56
import pytest
6-
from importlib_metadata import version
77

88
import _appmap
99
from appmap.command import appmap_agent_init, appmap_agent_status, appmap_agent_validate

_appmap/test/test_flask.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33

44
import importlib
55
import os
6-
from threading import Thread
6+
import socket
7+
import sys
8+
from importlib.metadata import version
9+
from pathlib import Path
10+
from types import SimpleNamespace as NS
711

812
import flask
913
import pytest
@@ -56,7 +60,7 @@ def flask_client(app):
5660
@pytest.mark.appmap_enabled(env={"APPMAP_RECORD_REQUESTS": "false"})
5761
def test_framework_metadata(client, events): # pylint: disable=unused-argument
5862
client.get("/")
59-
assert Metadata()["frameworks"] == [{"name": "flask", "version": flask.__version__}]
63+
assert Metadata()["frameworks"] == [{"name": "flask", "version": version("flask")}]
6064

6165

6266
@pytest.mark.appmap_enabled(env={"APPMAP_RECORD_REQUESTS": "false"})

_appmap/test/test_sqlalchemy.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
"""Tests for the SQLAlchemy integration."""
22

3+
from importlib.metadata import version
4+
35
import pytest
4-
import sqlalchemy
56
from sqlalchemy import (
67
Column,
78
ForeignKey,
@@ -27,9 +28,7 @@ def test_sql_capture(connection, events):
2728
{"sql": "SELECT 1", "database_type": "sqlite"}
2829
)
2930
assert events[0].sql_query["server_version"].startswith("3.")
30-
assert Metadata()["frameworks"] == [
31-
{"name": "SQLAlchemy", "version": sqlalchemy.__version__}
32-
]
31+
assert Metadata()["frameworks"] == [{"name": "SQLAlchemy", "version": version("sqlalchemy")}]
3332

3433
@staticmethod
3534
# pylint: disable=unused-argument

appmap/command/appmap_agent_status.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import json
22
import sys
33
from argparse import ArgumentParser
4-
5-
from importlib_metadata import PackageNotFoundError, distribution, version
4+
from importlib.metadata import PackageNotFoundError, distribution, version
65

76
from _appmap.configuration import Config
87
from _appmap.env import Env

appmap/command/appmap_agent_validate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22
import sys
3+
from importlib.metadata import PackageNotFoundError, version
34

4-
from importlib_metadata import PackageNotFoundError, version
55
from packaging.version import parse
66

77
from _appmap.py_version_check import AppMapPyVerException, check_py_version

appmap/flask.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import re
22
import time
3+
from importlib.metadata import version
34

45
import flask
56
import flask.cli
@@ -96,7 +97,7 @@ def request_started(self, _, **__):
9697
self.before_request_hook(request)
9798

9899
def before_request_main(self, rec, req):
99-
Metadata.add_framework("flask", flask.__version__)
100+
Metadata.add_framework("flask", version("flask"))
100101
np = None
101102
if req.url_rule:
102103
# pragma pylint: disable=line-too-long

appmap/pytest.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from importlib.metadata import version
2+
13
import pytest
24

35
from _appmap import noappmap, testing_framework, wrapt
@@ -26,7 +28,7 @@ def __call__(self, wrapped, _, args, kwargs):
2628
@pytest.hookimpl
2729
def pytest_sessionstart(session):
2830
session.appmap = testing_framework.session(
29-
name="pytest", recorder_type="tests", version=pytest.__version__
31+
name="pytest", recorder_type="tests", version=version("pytest")
3032
)
3133

3234
@pytest.hookimpl

0 commit comments

Comments
 (0)