summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2020-11-20 14:56:29 -0800
committerDylan Baker <dylan@pnwbakers.com>2020-11-20 15:08:40 -0800
commitf6672c7a1923c3e052af3ad223d6075b86378bfc (patch)
tree2f5a00744c247fa37044cb2a584cc6defa68cf50
parentcef406b3a5d502cde58cdad9fc9b978efb413327 (diff)
downloadmeson-f6672c7a1923c3e052af3ad223d6075b86378bfc.tar.gz
use real pathlib module
We added the _pathlib module to work around defeciencies in python 3.5's implementation, since we now rely on 3.6 lets drop this
-rwxr-xr-xmeson.py2
-rw-r--r--mesonbuild/_pathlib.py49
-rw-r--r--mesonbuild/backend/backends.py2
-rw-r--r--mesonbuild/backend/ninjabackend.py2
-rw-r--r--mesonbuild/backend/vs2010backend.py2
-rw-r--r--mesonbuild/cmake/client.py2
-rw-r--r--mesonbuild/cmake/common.py2
-rw-r--r--mesonbuild/cmake/executor.py2
-rw-r--r--mesonbuild/cmake/fileapi.py2
-rw-r--r--mesonbuild/cmake/interpreter.py2
-rw-r--r--mesonbuild/cmake/toolchain.py2
-rw-r--r--mesonbuild/cmake/traceparser.py2
-rw-r--r--mesonbuild/compilers/fortran.py2
-rw-r--r--mesonbuild/compilers/mixins/clike.py2
-rw-r--r--mesonbuild/compilers/mixins/pgi.py2
-rw-r--r--mesonbuild/coredata.py2
-rw-r--r--mesonbuild/dependencies/base.py2
-rw-r--r--mesonbuild/dependencies/boost.py2
-rw-r--r--mesonbuild/dependencies/cuda.py2
-rw-r--r--mesonbuild/dependencies/hdf5.py2
-rw-r--r--mesonbuild/dependencies/misc.py2
-rw-r--r--mesonbuild/dependencies/scalapack.py2
-rw-r--r--mesonbuild/envconfig.py2
-rw-r--r--mesonbuild/interpreter.py2
-rw-r--r--mesonbuild/mcompile.py2
-rw-r--r--mesonbuild/mdist.py2
-rw-r--r--mesonbuild/mesondata.py2
-rw-r--r--mesonbuild/mesonlib.py2
-rw-r--r--mesonbuild/minit.py2
-rw-r--r--mesonbuild/mintro.py2
-rw-r--r--mesonbuild/mlog.py2
-rw-r--r--mesonbuild/modules/fs.py2
-rw-r--r--mesonbuild/modules/pkgconfig.py2
-rw-r--r--mesonbuild/modules/python.py2
-rw-r--r--mesonbuild/modules/unstable_external_project.py2
-rwxr-xr-xmesonbuild/msubprojects.py2
-rw-r--r--mesonbuild/mtest.py2
-rw-r--r--mesonbuild/wrap/wrap.py2
-rwxr-xr-xrun_meson_command_tests.py2
-rwxr-xr-xrun_mypy.py1
-rwxr-xr-xrun_project_tests.py2
-rwxr-xr-xrun_tests.py2
-rwxr-xr-xrun_unittests.py2
-rwxr-xr-xtools/gen_data.py2
44 files changed, 42 insertions, 92 deletions
diff --git a/meson.py b/meson.py
index 484e81ef4..dab08d3a8 100755
--- a/meson.py
+++ b/meson.py
@@ -15,7 +15,7 @@
# limitations under the License.
import sys
-from mesonbuild._pathlib import Path
+from pathlib import Path
# If we're run uninstalled, add the script directory to sys.path to ensure that
# we always import the correct mesonbuild modules even if PYTHONPATH is mangled
diff --git a/mesonbuild/_pathlib.py b/mesonbuild/_pathlib.py
deleted file mode 100644
index aac2a1bc6..000000000
--- a/mesonbuild/_pathlib.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020 The Meson development team
-
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import sys
-import typing as T
-
-# Python 3.5 does not have the strict kwarg for resolve and always
-# behaves like calling resolve with strict=True in Python 3.6+
-#
-# This module emulates the behavior of Python 3.6+ by in Python 3.5 by
-# overriding the resolve method with a bit of custom logic
-#
-# TODO: Drop this module as soon as Python 3.5 support is dropped
-
-if T.TYPE_CHECKING:
- from pathlib import Path
-else:
- if sys.version_info.major <= 3 and sys.version_info.minor <= 5:
-
- # Inspired by https://codereview.stackexchange.com/questions/162426/subclassing-pathlib-path
- import pathlib
- import os
-
- # Can not directly inherit from pathlib.Path because the __new__
- # operator of pathlib.Path() returns a {Posix,Windows}Path object.
- class Path(type(pathlib.Path())):
- def resolve(self, strict: bool = False) -> 'Path':
- try:
- return super().resolve()
- except FileNotFoundError:
- if strict:
- raise
- return Path(os.path.normpath(str(self)))
-
- else:
- from pathlib import Path
-
-from pathlib import PurePath, PureWindowsPath, PurePosixPath
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index a322d5f16..b9f175a0b 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -14,7 +14,7 @@
from collections import OrderedDict
from functools import lru_cache
-from .._pathlib import Path
+from pathlib import Path
import enum
import json
import os
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 15218c165..f79e1f0bf 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -20,7 +20,7 @@ import subprocess
from collections import OrderedDict
from enum import Enum, unique
import itertools
-from .._pathlib import PurePath, Path
+from pathlib import PurePath, Path
from functools import lru_cache
from . import backends
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index 6edf36a26..6d81e6904 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -19,7 +19,7 @@ import xml.dom.minidom
import xml.etree.ElementTree as ET
import uuid
import typing as T
-from .._pathlib import Path, PurePath
+from pathlib import Path, PurePath
from . import backends
from .. import build
diff --git a/mesonbuild/cmake/client.py b/mesonbuild/cmake/client.py
index 8f9456b56..eeaab57df 100644
--- a/mesonbuild/cmake/client.py
+++ b/mesonbuild/cmake/client.py
@@ -19,7 +19,7 @@ from .common import CMakeException, CMakeConfiguration, CMakeBuildFile
from .. import mlog
from contextlib import contextmanager
from subprocess import Popen, PIPE, TimeoutExpired
-from .._pathlib import Path
+from pathlib import Path
import typing as T
import json
diff --git a/mesonbuild/cmake/common.py b/mesonbuild/cmake/common.py
index 4bcc4d956..0ec1698c5 100644
--- a/mesonbuild/cmake/common.py
+++ b/mesonbuild/cmake/common.py
@@ -17,7 +17,7 @@
from ..mesonlib import MesonException
from .. import mlog
-from .._pathlib import Path
+from pathlib import Path
import typing as T
language_map = {
diff --git a/mesonbuild/cmake/executor.py b/mesonbuild/cmake/executor.py
index e11dbe996..19971e37a 100644
--- a/mesonbuild/cmake/executor.py
+++ b/mesonbuild/cmake/executor.py
@@ -16,7 +16,7 @@
# or an interpreter-based tool.
import subprocess as S
-from .._pathlib import Path
+from pathlib import Path
from threading import Thread
import typing as T
import re
diff --git a/mesonbuild/cmake/fileapi.py b/mesonbuild/cmake/fileapi.py
index 1b6c30d0b..ce63219c8 100644
--- a/mesonbuild/cmake/fileapi.py
+++ b/mesonbuild/cmake/fileapi.py
@@ -15,7 +15,7 @@
from .common import CMakeException, CMakeBuildFile, CMakeConfiguration
import typing as T
from .. import mlog
-from .._pathlib import Path
+from pathlib import Path
import json
import re
diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py
index e2f11a0cd..5797c0dda 100644
--- a/mesonbuild/cmake/interpreter.py
+++ b/mesonbuild/cmake/interpreter.py
@@ -27,7 +27,7 @@ from ..mesondata import mesondata
from ..compilers.compilers import lang_suffixes, header_suffixes, obj_suffixes, lib_suffixes, is_header
from enum import Enum
from functools import lru_cache
-from .._pathlib import Path
+from pathlib import Path
import typing as T
import re
from os import environ
diff --git a/mesonbuild/cmake/toolchain.py b/mesonbuild/cmake/toolchain.py
index 52d1f10b8..187044510 100644
--- a/mesonbuild/cmake/toolchain.py
+++ b/mesonbuild/cmake/toolchain.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from .._pathlib import Path
+from pathlib import Path
from ..envconfig import CMakeSkipCompilerTest
from ..mesonlib import MachineChoice
from .common import language_map
diff --git a/mesonbuild/cmake/traceparser.py b/mesonbuild/cmake/traceparser.py
index c6f2b9d97..613b4b2d9 100644
--- a/mesonbuild/cmake/traceparser.py
+++ b/mesonbuild/cmake/traceparser.py
@@ -21,7 +21,7 @@ from .. import mlog
from ..mesonlib import version_compare
import typing as T
-from .._pathlib import Path
+from pathlib import Path
import re
import json
import textwrap
diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py
index 036369a73..db52951da 100644
--- a/mesonbuild/compilers/fortran.py
+++ b/mesonbuild/compilers/fortran.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from .._pathlib import Path
+from pathlib import Path
import typing as T
import subprocess, os
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index 3c2c53c7f..dca09ea78 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -28,7 +28,7 @@ import os
import re
import subprocess
import typing as T
-from ..._pathlib import Path
+from pathlib import Path
from ... import arglist
from ... import mesonlib
diff --git a/mesonbuild/compilers/mixins/pgi.py b/mesonbuild/compilers/mixins/pgi.py
index bc16cac44..61dee8d5a 100644
--- a/mesonbuild/compilers/mixins/pgi.py
+++ b/mesonbuild/compilers/mixins/pgi.py
@@ -16,7 +16,7 @@
import typing as T
import os
-from ..._pathlib import Path
+from pathlib import Path
from ..compilers import clike_debug_args, clike_optimization_args
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 4dae12efd..310174f48 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -16,7 +16,7 @@ from . import mlog, mparser
import pickle, os, uuid
import sys
from itertools import chain
-from ._pathlib import PurePath
+from pathlib import PurePath
from collections import OrderedDict, defaultdict
from .mesonlib import (
MesonException, EnvironmentException, MachineChoice, PerMachine,
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 87518e1df..d13c3ac98 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -27,7 +27,7 @@ import textwrap
import platform
import typing as T
from enum import Enum
-from .._pathlib import Path, PurePath
+from pathlib import Path, PurePath
from .. import mlog
from .. import mesonlib
diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
index 404c279b1..370fa72d1 100644
--- a/mesonbuild/dependencies/boost.py
+++ b/mesonbuild/dependencies/boost.py
@@ -16,7 +16,7 @@ import os
import re
import functools
import typing as T
-from .._pathlib import Path
+from pathlib import Path
from .. import mlog
from .. import mesonlib
diff --git a/mesonbuild/dependencies/cuda.py b/mesonbuild/dependencies/cuda.py
index 3b2612bd1..c04e2fcb4 100644
--- a/mesonbuild/dependencies/cuda.py
+++ b/mesonbuild/dependencies/cuda.py
@@ -16,7 +16,7 @@ import glob
import re
import os
import typing as T
-from .._pathlib import Path
+from pathlib import Path
from .. import mlog
from .. import mesonlib
diff --git a/mesonbuild/dependencies/hdf5.py b/mesonbuild/dependencies/hdf5.py
index 0d3db3916..21f4e71f5 100644
--- a/mesonbuild/dependencies/hdf5.py
+++ b/mesonbuild/dependencies/hdf5.py
@@ -19,7 +19,7 @@ import os
import re
import shutil
import subprocess
-from .._pathlib import Path
+from pathlib import Path
from ..mesonlib import OrderedSet, join_args
from .base import (
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
index f41abc852..15055aaf9 100644
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -14,7 +14,7 @@
# This file contains the detection logic for miscellaneous external dependencies.
-from .._pathlib import Path
+from pathlib import Path
import functools
import re
import sysconfig
diff --git a/mesonbuild/dependencies/scalapack.py b/mesonbuild/dependencies/scalapack.py
index f8b1ee150..0147e0b62 100644
--- a/mesonbuild/dependencies/scalapack.py
+++ b/mesonbuild/dependencies/scalapack.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from .._pathlib import Path
+from pathlib import Path
import functools
import os
import typing as T
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
index 13d0ba507..95364cdd2 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
@@ -19,7 +19,7 @@ from enum import Enum
from . import mesonlib
from .mesonlib import EnvironmentException, MachineChoice, PerMachine, split_args
from . import mlog
-from ._pathlib import Path
+from pathlib import Path
_T = T.TypeVar('_T')
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 6896a4d3e..ebf3bffc8 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -36,7 +36,7 @@ from .modules import ModuleReturnValue, ExtensionModule
from .cmake import CMakeInterpreter
from .backend.backends import TestProtocol, Backend
-from ._pathlib import Path, PurePath
+from pathlib import Path, PurePath
import os
import shutil
import uuid
diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py
index aa6afb933..1e582070a 100644
--- a/mesonbuild/mcompile.py
+++ b/mesonbuild/mcompile.py
@@ -21,7 +21,7 @@ import sys
import shutil
import typing as T
from collections import defaultdict
-from ._pathlib import Path
+from pathlib import Path
from . import mlog
from . import mesonlib
diff --git a/mesonbuild/mdist.py b/mesonbuild/mdist.py
index f6ca0c001..6985ca950 100644
--- a/mesonbuild/mdist.py
+++ b/mesonbuild/mdist.py
@@ -21,7 +21,7 @@ import subprocess
import hashlib
import json
from glob import glob
-from ._pathlib import Path
+from pathlib import Path
from mesonbuild.environment import detect_ninja
from mesonbuild.mesonlib import windows_proof_rmtree, MesonException
from mesonbuild.wrap import wrap
diff --git a/mesonbuild/mesondata.py b/mesonbuild/mesondata.py
index b0515c0e0..d6fb10e23 100644
--- a/mesonbuild/mesondata.py
+++ b/mesonbuild/mesondata.py
@@ -20,7 +20,7 @@
# TODO: Remember to remove this also from tools/gen_data.py
-from ._pathlib import Path
+from pathlib import Path
import typing as T
if T.TYPE_CHECKING:
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 352c5ca8b..0b614ba20 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -13,7 +13,7 @@
# limitations under the License.
"""A library of random helper functionality."""
-from ._pathlib import Path
+from pathlib import Path
import sys
import stat
import time
diff --git a/mesonbuild/minit.py b/mesonbuild/minit.py
index 38954fa66..4a38313a1 100644
--- a/mesonbuild/minit.py
+++ b/mesonbuild/minit.py
@@ -14,7 +14,7 @@
"""Code that creates simple startup projects."""
-from ._pathlib import Path
+from pathlib import Path
from enum import Enum
import subprocess
import shutil
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py
index 924a10356..d36927f79 100644
--- a/mesonbuild/mintro.py
+++ b/mesonbuild/mintro.py
@@ -28,7 +28,7 @@ from . import mlog
from .backend import backends
from .mparser import BaseNode, FunctionNode, ArrayNode, ArgumentNode, StringNode
from .interpreter import Interpreter
-from ._pathlib import Path, PurePath
+from pathlib import Path, PurePath
import typing as T
import os
import argparse
diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py
index 46e2de1f6..4369148b7 100644
--- a/mesonbuild/mlog.py
+++ b/mesonbuild/mlog.py
@@ -19,7 +19,7 @@ import time
import platform
import typing as T
from contextlib import contextmanager
-from ._pathlib import Path
+from pathlib import Path
"""This is (mostly) a standalone module used to write logging
information about Meson runs. Some output goes to screen,
diff --git a/mesonbuild/modules/fs.py b/mesonbuild/modules/fs.py
index 85088b762..5ba1e3819 100644
--- a/mesonbuild/modules/fs.py
+++ b/mesonbuild/modules/fs.py
@@ -14,7 +14,7 @@
import typing as T
import hashlib
-from .._pathlib import Path, PurePath, PureWindowsPath
+from pathlib import Path, PurePath, PureWindowsPath
from .. import mlog
from . import ExtensionModule
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 62e1c1595..7e19d7177 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -13,7 +13,7 @@
# limitations under the License.
import os, types
-from .._pathlib import PurePath
+from pathlib import PurePath
from .. import build
from .. import dependencies
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index bb6147545..ff0df2f9d 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -17,7 +17,7 @@ import json
import shutil
import typing as T
-from .._pathlib import Path
+from pathlib import Path
from .. import mesonlib
from ..mesonlib import MachineChoice, MesonException
from . import ExtensionModule
diff --git a/mesonbuild/modules/unstable_external_project.py b/mesonbuild/modules/unstable_external_project.py
index fdc5cbfc8..7bb761f7d 100644
--- a/mesonbuild/modules/unstable_external_project.py
+++ b/mesonbuild/modules/unstable_external_project.py
@@ -13,7 +13,7 @@
# limitations under the License.
import os, subprocess, shlex
-from .._pathlib import Path
+from pathlib import Path
import typing as T
from . import ExtensionModule, ModuleReturnValue
diff --git a/mesonbuild/msubprojects.py b/mesonbuild/msubprojects.py
index 20639cb7f..4ab24d9b8 100755
--- a/mesonbuild/msubprojects.py
+++ b/mesonbuild/msubprojects.py
@@ -1,6 +1,6 @@
import os, subprocess
import argparse
-from ._pathlib import Path
+from pathlib import Path
from . import mlog
from .mesonlib import quiet_git, verbose_git, GitException, Popen_safe, MesonException, windows_proof_rmtree
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
index 5804303dd..04c1a57c7 100644
--- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py
@@ -14,7 +14,7 @@
# A tool to run tests in many different ways.
-from ._pathlib import Path
+from pathlib import Path
from collections import deque, namedtuple
from copy import deepcopy
import argparse
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py
index 1eeb73853..6d2b91a5a 100644
--- a/mesonbuild/wrap/wrap.py
+++ b/mesonbuild/wrap/wrap.py
@@ -28,7 +28,7 @@ import configparser
import typing as T
import textwrap
-from .._pathlib import Path
+from pathlib import Path
from . import WrapMode
from .. import coredata
from ..mesonlib import quiet_git, GIT, ProgressBar, MesonException
diff --git a/run_meson_command_tests.py b/run_meson_command_tests.py
index 137598874..7bc6185f1 100755
--- a/run_meson_command_tests.py
+++ b/run_meson_command_tests.py
@@ -19,7 +19,7 @@ import tempfile
import unittest
import subprocess
import zipapp
-from mesonbuild._pathlib import Path
+from pathlib import Path
from mesonbuild.mesonlib import windows_proof_rmtree, python_command, is_windows
from mesonbuild.coredata import version as meson_version
diff --git a/run_mypy.py b/run_mypy.py
index 51b74df57..db578be74 100755
--- a/run_mypy.py
+++ b/run_mypy.py
@@ -15,7 +15,6 @@ modules = [
'mesonbuild/wrap',
# specific files
- 'mesonbuild/_pathlib.py',
'mesonbuild/arglist.py',
# 'mesonbuild/coredata.py',
'mesonbuild/dependencies/boost.py',
diff --git a/run_project_tests.py b/run_project_tests.py
index 8bf64375d..37d07cb41 100755
--- a/run_project_tests.py
+++ b/run_project_tests.py
@@ -17,7 +17,7 @@
from concurrent.futures import ProcessPoolExecutor, CancelledError
from enum import Enum
from io import StringIO
-from mesonbuild._pathlib import Path, PurePath
+from pathlib import Path, PurePath
import argparse
import functools
import itertools
diff --git a/run_tests.py b/run_tests.py
index eae7033de..0f02636f5 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -25,7 +25,7 @@ import argparse
from io import StringIO
from enum import Enum
from glob import glob
-from mesonbuild._pathlib import Path
+from pathlib import Path
from unittest import mock
from mesonbuild import compilers
from mesonbuild import dependencies
diff --git a/run_unittests.py b/run_unittests.py
index d5f7f0291..9a3659a39 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -40,7 +40,7 @@ from unittest import mock
from configparser import ConfigParser
from contextlib import contextmanager
from glob import glob
-from mesonbuild._pathlib import (PurePath, Path)
+from pathlib import (PurePath, Path)
from distutils.dir_util import copy_tree
import typing as T
diff --git a/tools/gen_data.py b/tools/gen_data.py
index 32a534749..2b84e9c05 100755
--- a/tools/gen_data.py
+++ b/tools/gen_data.py
@@ -79,7 +79,7 @@ def main() -> int:
# TODO: Remember to remove this also from tools/gen_data.py
- from ._pathlib import Path
+ from pathlib import Path
import typing as T
if T.TYPE_CHECKING: