diff --git a/pylama/lint/__init__.py b/pylama/lint/__init__.py index c50dee3..7587224 100644 --- a/pylama/lint/__init__.py +++ b/pylama/lint/__init__.py @@ -7,7 +7,7 @@ from pkgutil import walk_packages from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type -from pkg_resources import iter_entry_points +from importlib_metadata import entry_points LINTERS: Dict[str, Type[LinterV2]] = {} @@ -58,7 +58,7 @@ def run_check(self, ctx: RunContext): pass # Import installed linters -for entry in iter_entry_points("pylama.linter"): +for entry in entry_points(group="pylama.linter"): if entry.name not in LINTERS: try: LINTERS[entry.name] = entry.load() diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 2ee8fd7..4bcde32 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -4,3 +4,4 @@ mccabe >= 0.7.0 pycodestyle >= 2.9.1 pydocstyle >= 6.1.1 pyflakes >= 2.5.0 +setuptools diff --git a/setup.py b/setup.py index 911aea6..de8dae8 100644 --- a/setup.py +++ b/setup.py @@ -4,22 +4,32 @@ import pathlib -import pkg_resources from setuptools import setup - -def parse_requirements(path: str) -> "list[str]": - with pathlib.Path(path).open(encoding='utf-8') as requirements: - return [str(req) for req in pkg_resources.parse_requirements(requirements)] - - OPTIONAL_LINTERS = ['pylint', 'eradicate', 'radon', 'mypy', 'vulture'] setup( - install_requires=parse_requirements("requirements/requirements.txt"), + install_requires=[ + 'mccabe>=0.7.0', + 'pycodestyle>=2.9.1', + 'pydocstyle>=6.1.1', + 'pyflakes>=2.5.0' + ], extras_require=dict( - tests=parse_requirements("requirements/requirements-tests.txt"), + tests=[ + 'pytest>=7.1.2', + 'pytest-mypy', + 'eradicate>=2.0.0', + 'radon>=5.1.0', + 'mypy', + 'pylint>=2.11.1', + 'pylama-quotes', + 'toml', + 'vulture', + 'types-setuptools', + 'types-toml' + ], all=OPTIONAL_LINTERS, **{linter: [linter] for linter in OPTIONAL_LINTERS}, toml="toml>=0.10.2", ),