diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index cca2f1d..3edcdb3 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -5,7 +5,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 diff --git a/pyproject.toml b/pyproject.toml index f26c121..9ee67de 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,48 @@ [build-system] -requires = ["setuptools >= 59.6", "setuptools-scm[toml] >= 6.4", "wheel >= 0.37.1"] +requires = ["setuptools >= 61.0", "setuptools-scm >= 7.1", "wheel >= 0.40"] build-backend = "setuptools.build_meta" +[project] +name = "pytest-mypy" +dynamic = ["version"] +description = "A Pytest Plugin for Mypy" +readme = "README.rst" +license = {file = "LICENSE"} +maintainers = [ + {name = "David Tucker", email = "david@tucker.name"} +] +classifiers = [ + "Development Status :: 4 - Beta", + "Framework :: Pytest", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Software Development :: Testing", +] +requires-python = ">=3.7" +dependencies = [ + "attrs>=19.0", + "filelock>=3.0", + "pytest>=4.6; python_version<'3.10'", + "pytest>=6.2; python_version>='3.10'", + "mypy>=0.500; python_version<'3.8'", + "mypy>=0.700; python_version>='3.8' and python_version<'3.9'", + "mypy>=0.780; python_version>='3.9' and python_version<'3.11'", + "mypy>=0.900; python_version>='3.11'", +] + +[project.entry-points.pytest11] +mypy = "pytest_mypy" + +[project.urls] +homepage = "https://github.com/realpython/pytest-mypy" + [tool.setuptools_scm] diff --git a/setup.py b/setup.py deleted file mode 100644 index 6abbd5a..0000000 --- a/setup.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import glob -import os -import codecs -from setuptools import setup, find_packages # type: ignore - - -def read(fname): - file_path = os.path.join(os.path.dirname(__file__), fname) - return codecs.open(file_path, encoding="utf-8").read() - - -setup( - name="pytest-mypy", - use_scm_version=True, - author="Daniel Bader", - author_email="mail@dbader.org", - maintainer="David Tucker", - maintainer_email="david@tucker.name", - license="MIT", - url="https://github.com/realpython/pytest-mypy", - description="Mypy static type checker plugin for Pytest", - long_description=read("README.rst"), - long_description_content_type="text/x-rst", - packages=find_packages("src"), - package_dir={"": "src"}, - py_modules=[ - os.path.splitext(os.path.basename(path))[0] for path in glob.glob("src/*.py") - ], - python_requires=">=3.6", - setup_requires=["setuptools-scm>=3.5"], - install_requires=[ - "attrs>=19.0", - "filelock>=3.0", - 'pytest>=4.6; python_version>="3.6" and python_version<"3.10"', - 'pytest>=6.2; python_version>="3.10"', - 'mypy>=0.500; python_version<"3.8"', - 'mypy>=0.700; python_version>="3.8" and python_version<"3.9"', - 'mypy>=0.780; python_version>="3.9" and python_version<"3.11"', - 'mypy>=0.900; python_version>="3.11"', - ], - classifiers=[ - "Development Status :: 4 - Beta", - "Framework :: Pytest", - "Intended Audience :: Developers", - "Topic :: Software Development :: Testing", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: Implementation :: CPython", - "Operating System :: OS Independent", - "License :: OSI Approved :: MIT License", - ], - entry_points={"pytest11": ["mypy = pytest_mypy"]}, -) diff --git a/tox.ini b/tox.ini index ff5684c..ba812fe 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,6 @@ minversion = 3.20 isolated_build = true envlist = - py36-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.50, 0.5x, 0.60, 0.6x, 0.70, 0.7x, 0.80, 0.8x, 0.90, 0.9x} py37-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.50, 0.5x, 0.60, 0.6x, 0.70, 0.7x, 0.80, 0.8x, 0.90, 0.9x} py38-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.71, 0.7x, 0.80, 0.8x, 0.90, 0.9x} py39-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.78, 0.7x, 0.80, 0.8x, 0.90, 0.9x} @@ -14,7 +13,6 @@ envlist = [gh-actions] python = - 3.6: py36-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.50, 0.5x, 0.60, 0.6x, 0.70, 0.7x, 0.80, 0.8x, 0.90, 0.9x} 3.7: py37-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.50, 0.5x, 0.60, 0.6x, 0.70, 0.7x, 0.80, 0.8x, 0.90, 0.9x} 3.8: py38-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.71, 0.7x, 0.80, 0.8x, 0.90, 0.9x}, publish, static 3.9: py39-pytest{4.6, 5.0, 5.x, 6.0, 6.x, 7.0, 7.x}-mypy{0.78, 0.7x, 0.80, 0.8x, 0.90, 0.9x} @@ -94,8 +92,8 @@ deps = build[virtualenv] ~= 0.9.0 twine ~= 4.0.0 commands = - {envpython} -m build --outdir {distdir} . - twine {posargs:check} {distdir}/* + {envpython} -m build --outdir {envtmpdir} . + twine {posargs:check} {envtmpdir}/* [testenv:static] deps = @@ -104,10 +102,10 @@ deps = flake8 ~= 4.0.0 mypy >= 0.900, < 0.910 commands = - black --check src setup.py tests - flake8 src setup.py tests - mypy src setup.py - bandit --recursive src setup.py + black --check src tests + flake8 src tests + mypy src + bandit --recursive src [flake8] max-line-length = 88