From 06571844f11a4c52570b1e46a7f11c36b24d56f1 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 10 May 2021 06:37:57 +0000 Subject: [PATCH 1/3] Updated files with 'repo_helper'. --- .bumpversion.cfg | 3 + .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/actions_build_conda.sh | 2 +- .github/workflows/conda_ci.yml | 4 +- .github/workflows/docs_test_action.yml | 19 ++++- .github/workflows/flake8.yml | 21 ++++- .github/workflows/mypy.yml | 20 ++++- .github/workflows/python_ci.yml | 28 +++++-- .github/workflows/python_ci_linux.yml | 33 +++++--- .github/workflows/python_ci_macos.yml | 28 +++++-- .pre-commit-config.yaml | 8 +- .readthedocs.yml | 2 + README.rst | 10 +-- __pkginfo__.py | 12 --- doc-source/Source.rst | 25 +++--- doc-source/conf.py | 105 ++++--------------------- doc-source/index.rst | 9 +-- doc-source/requirements.txt | 3 +- formate.toml | 1 + pyproject.toml | 88 ++++++++++++++++++++- setup.cfg | 47 ----------- tests/requirements.txt | 5 +- tox.ini | 23 +++--- 23 files changed, 274 insertions(+), 224 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index dc70959..3650dc0 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -11,6 +11,9 @@ tag = True [bumpversion:file:enum_tools/__init__.py] +search = : str = "{current_version}" +replace = : str = "{new_version}" + [bumpversion:file:repo_helper.yml] [bumpversion:file:pyproject.toml] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index fb0735d..cd328d2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -44,7 +44,7 @@ If possible, please include a small, self-contained reproduction. * enum_tools: ## Installation source - + ## Other Additional Information: diff --git a/.github/actions_build_conda.sh b/.github/actions_build_conda.sh index 1acebbe..01676e9 100755 --- a/.github/actions_build_conda.sh +++ b/.github/actions_build_conda.sh @@ -3,7 +3,7 @@ set -e -x -python -m repo_helper make-recipe || exit 1 +python -m mkrecipe --type wheel || exit 1 # Switch to miniconda source "/home/runner/miniconda/etc/profile.d/conda.sh" diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 59178cf..42865cb 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -4,9 +4,11 @@ name: Conda Tests on: push: - pull_request: branches: ["master"] +permissions: + contents: read + jobs: tests: name: "Conda" diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 01232d5..720ef13 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -2,18 +2,31 @@ --- name: "Docs Check" on: - - pull_request - push +permissions: + contents: read + jobs: docs: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ uses: "actions/checkout@v1" + + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!tests/**' + - name: Install and Build 🔧 - uses: ammaraskar/sphinx-action@master + uses: sphinx-toolbox/sphinx-action@sphinx-3.3.1 + if: steps.changes.outputs.code == 'true' with: - pre-build-command: apt-get update && apt-get install gcc python3-dev git pandoc -y && python -m pip install tox + pre-build-command: python -m pip install tox docs-folder: "doc-source/" build-command: "tox -e docs -- " diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 177294b..116e13f 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -4,8 +4,9 @@ name: Flake8 on: push: - pull_request: - branches: ["master"] + +permissions: + contents: read jobs: Run: @@ -16,12 +17,23 @@ jobs: - name: Checkout 🛎️ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: - python-version: "3.8" + python-version: "3.6" - name: Install dependencies 🔧 + if: steps.changes.outputs.code == 'true' run: | python -VV python -m site @@ -29,4 +41,5 @@ jobs: python -m pip install tox - name: "Run Flake8" - run: "python -m tox -e lint -- --format github" + if: steps.changes.outputs.code == 'true' + run: "python -m tox -e lint -s false -- --format github" diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index afee01e..5fb5285 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -4,8 +4,9 @@ name: mypy on: push: - pull_request: - branches: ["master"] + +permissions: + contents: read jobs: Run: @@ -14,14 +15,24 @@ jobs: strategy: matrix: - os: ['windows-2019', 'macos-latest', 'ubuntu-20.04'] + os: ['ubuntu-20.04', 'windows-2019'] fail-fast: false steps: - name: Checkout 🛎️ uses: "actions/checkout@v2" + - name: Check for changed files + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + if: steps.changes.outputs.code == 'true' uses: "actions/setup-python@v2" with: python-version: "3.6" @@ -34,4 +45,5 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run mypy" - run: "python -m tox -e mypy" + if: steps.changes.outputs.code == 'true' + run: "python -m tox -e mypy -s false" diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 839ba25..fb6e497 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -4,8 +4,10 @@ name: Windows on: push: - pull_request: - branches: ["master"] + +permissions: + actions: write + contents: read jobs: tests: @@ -13,7 +15,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.6,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,7 +25,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10.0-beta.1", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} @@ -31,12 +33,25 @@ jobs: - name: Checkout 🛎️ uses: "actions/checkout@v2" + - name: Check for changed files + if: startsWith(github.ref, 'refs/tags/') != true + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + id: setup-python + if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies 🔧 + if: steps.setup-python.outcome == 'success' run: | python -VV python -m site @@ -44,11 +59,12 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run Tests for Python ${{ matrix.config.python-version }}" - run: python -m tox -e "${{ matrix.config.testenvs }}" + if: steps.setup-python.outcome == 'success' + run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" uses: actions/upload-artifact@v2 - if: ${{ always() }} + if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index c902e68..0474e63 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -4,8 +4,10 @@ name: Linux on: push: - pull_request: - branches: ["master"] + +permissions: + actions: write + contents: read jobs: tests: @@ -13,7 +15,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.6,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,7 +25,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10.0-beta.1", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} @@ -31,12 +33,25 @@ jobs: - name: Checkout 🛎️ uses: "actions/checkout@v2" + - name: Check for changed files + if: startsWith(github.ref, 'refs/tags/') != true + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + id: setup-python + if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies 🔧 + if: steps.setup-python.outcome == 'success' run: | python -VV python -m site @@ -45,11 +60,12 @@ jobs: python -m pip install --upgrade coverage_pyver_pragma - name: "Run Tests for Python ${{ matrix.config.python-version }}" - run: python -m tox -e "${{ matrix.config.testenvs }}" + if: steps.setup-python.outcome == 'success' + run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" uses: actions/upload-artifact@v2 - if: ${{ always() }} + if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage @@ -127,14 +143,13 @@ jobs: - name: Upload distribution to PyPI 🚀 if: startsWith(github.ref, 'refs/tags/') - uses: pypa/gh-action-pypi-publish@master + uses: pypa/gh-action-pypi-publish@v1.4.2 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} skip_existing: true - Conda: needs: deploy runs-on: "ubuntu-20.04" @@ -151,7 +166,7 @@ jobs: - name: Install dependencies 🔧 run: | python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade repo_helper + python -m pip install --upgrade mkrecipe wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh bash miniconda.sh -b -p $HOME/miniconda diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 0e6d80c..0e0af29 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -4,8 +4,10 @@ name: macOS on: push: - pull_request: - branches: ["master"] + +permissions: + actions: write + contents: read jobs: tests: @@ -13,7 +15,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-alpha.6,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -23,7 +25,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-alpha.6", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10.0-beta.1", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} @@ -31,12 +33,25 @@ jobs: - name: Checkout 🛎️ uses: "actions/checkout@v2" + - name: Check for changed files + if: startsWith(github.ref, 'refs/tags/') != true + uses: dorny/paths-filter@v2 + id: changes + with: + list-files: "json" + filters: | + code: + - '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)' + - name: Setup Python 🐍 + id: setup-python + if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }} uses: "actions/setup-python@v2" with: python-version: "${{ matrix.config.python-version }}" - name: Install dependencies 🔧 + if: steps.setup-python.outcome == 'success' run: | python -VV python -m site @@ -44,11 +59,12 @@ jobs: python -m pip install --upgrade tox virtualenv - name: "Run Tests for Python ${{ matrix.config.python-version }}" - run: python -m tox -e "${{ matrix.config.testenvs }}" + if: steps.setup-python.outcome == 'success' + run: python -m tox -e "${{ matrix.config.testenvs }}" -s false - name: "Upload Coverage 🚀" uses: actions/upload-artifact@v2 - if: ${{ always() }} + if: ${{ always() && steps.setup-python.outcome == 'success' }} with: name: "coverage-${{ matrix.config.python-version }}" path: .coverage diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 713c9b4..ce55fb8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -31,7 +31,7 @@ repos: args: - --allow-git - id: check-docstring-first - exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup|tests/.*)\.py$ + exclude: ^(doc-source/conf|__pkginfo__|setup|tests/.*)\.py$ - id: bind-requirements - repo: https://github.com/domdfcoding/flake8-dunder-all @@ -62,16 +62,16 @@ repos: - --keep-runtime-typing - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: v1.1.9 + rev: v1.1.10 hooks: - id: remove-crlf - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.4.3 + rev: v0.4.4 hooks: - id: formate - exclude: ^(doc-source/conf|__pkginfo__|make_conda_recipe|setup)\.(_)?py$ + exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ - repo: https://github.com/domdfcoding/dep_checker rev: v0.6.2 diff --git a/.readthedocs.yml b/.readthedocs.yml index 41d2e57..6dfba21 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -15,3 +15,5 @@ python: - requirements: doc-source/requirements.txt - method: pip path: . + extra_requirements: + - all diff --git a/README.rst b/README.rst index 0933519..21382b1 100644 --- a/README.rst +++ b/README.rst @@ -26,7 +26,7 @@ Enum Tools * - Activity - |commits-latest| |commits-since| |maintained| |pypi-downloads| * - QA - - |codefactor| |actions_flake8| |actions_mypy| |pre_commit_ci| + - |codefactor| |actions_flake8| |actions_mypy| * - Other - |license| |language| |requires| @@ -116,10 +116,6 @@ Enum Tools :target: https://pypi.org/project/enum_tools/ :alt: PyPI - Downloads -.. |pre_commit_ci| image:: https://results.pre-commit.ci/badge/github/domdfcoding/enum_tools/master.svg - :target: https://results.pre-commit.ci/latest/github/domdfcoding/enum_tools/master - :alt: pre-commit.ci status - .. end shields | @@ -150,8 +146,8 @@ To install with ``conda``: .. code-block:: bash - $ conda config --add channels http://conda.anaconda.org/conda-forge - $ conda config --add channels http://conda.anaconda.org/domdfcoding + $ conda config --add channels https://conda.anaconda.org/conda-forge + $ conda config --add channels https://conda.anaconda.org/domdfcoding * Then install diff --git a/__pkginfo__.py b/__pkginfo__.py index 4994278..f89051c 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -11,24 +11,12 @@ # This script based on https://github.com/rocky/python-uncompyle6/blob/master/__pkginfo__.py # -# stdlib -import pathlib - __all__ = [ - "__copyright__", "__version__", - "repo_root", - "install_requires", "extras_require", ] -__copyright__ = """ -2020-2021 Dominic Davis-Foster -""" - __version__ = "0.6.4" -repo_root = pathlib.Path(__file__).parent -install_requires = (repo_root / "requirements.txt").read_text(encoding="utf-8").split('\n') extras_require = { "sphinx": ["sphinx<3.4.0,>=3.0.3", "sphinx-toolbox>=1.2.0"], "all": ["sphinx<3.4.0,>=3.0.3", "sphinx-toolbox>=1.2.0"] diff --git a/doc-source/Source.rst b/doc-source/Source.rst index 7251137..3b7df73 100644 --- a/doc-source/Source.rst +++ b/doc-source/Source.rst @@ -7,24 +7,27 @@ and can be accessed from the following URL: https://github.com/domdfcoding/enum_ If you have ``git`` installed, you can clone the repository with the following command: -.. code-block:: bash +.. prompt:: bash + + git clone https://github.com/domdfcoding/enum_tools + +.. parsed-literal:: - $ git clone https://github.com/domdfcoding/enum_tools" - > Cloning into 'enum_tools'... - > remote: Enumerating objects: 47, done. - > remote: Counting objects: 100% (47/47), done. - > remote: Compressing objects: 100% (41/41), done. - > remote: Total 173 (delta 16), reused 17 (delta 6), pack-reused 126 - > Receiving objects: 100% (173/173), 126.56 KiB | 678.00 KiB/s, done. - > Resolving deltas: 100% (66/66), done. + Cloning into 'enum_tools'... + remote: Enumerating objects: 47, done. + remote: Counting objects: 100% (47/47), done. + remote: Compressing objects: 100% (41/41), done. + remote: Total 173 (delta 16), reused 17 (delta 6), pack-reused 126 + Receiving objects: 100% (173/173), 126.56 KiB | 678.00 KiB/s, done. + Resolving deltas: 100% (66/66), done. | Alternatively, the code can be downloaded in a 'zip' file by clicking: | :guilabel:`Clone or download` --> :guilabel:`Download Zip` .. figure:: git_download.png - :alt: Downloading a 'zip' file of the source code. + :alt: Downloading a 'zip' file of the source code. - Downloading a 'zip' file of the source code + Downloading a 'zip' file of the source code Building from source diff --git a/doc-source/conf.py b/doc-source/conf.py index 40c0a18..0d3a254 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -7,70 +7,34 @@ import re import sys -sys.path.append(os.path.abspath('.')) -sys.path.append(os.path.abspath("..")) +# 3rd party +from sphinx_pyproject import SphinxConfig -# this package -from __pkginfo__ import __version__ +sys.path.append('.') -github_username = "domdfcoding" -github_repository = "enum_tools" -github_url = f"https://github.com/{github_username}/{github_repository}" +config = SphinxConfig(globalns=globals()) +project = config["project"] +author = config["author"] +documentation_summary = config.description + +github_url = "https://github.com/{github_username}/{github_repository}".format_map(config) rst_prolog = f""".. |pkgname| replace:: enum_tools .. |pkgname2| replace:: ``enum_tools`` .. |browse_github| replace:: `Browse the GitHub Repository <{github_url}>`__ """ -author = "Dominic Davis-Foster" -project = "enum_tools".replace('_', '-') slug = re.sub(r'\W+', '-', project.lower()) -release = version = __version__ -copyright = "2020-2021 Dominic Davis-Foster" # pylint: disable=redefined-builtin -language = "en" -package_root = "enum_tools" - -extensions = [ - "sphinx_toolbox", - "sphinx_toolbox.more_autodoc", - "sphinx_toolbox.more_autosummary", - "sphinx_toolbox.tweaks.param_dash", - "sphinx_toolbox.tweaks.latex_toc", - "sphinx.ext.intersphinx", - "sphinx.ext.mathjax", - "sphinxcontrib.httpdomain", - "sphinxcontrib.extras_require", - "sphinx.ext.todo", - "sphinxemoji.sphinxemoji", - "notfound.extension", - "sphinx_copybutton", - "sphinxcontrib.default_values", - "sphinxcontrib.toctree_plus", - "sphinx_debuginfo", - "seed_intersphinx_mapping", - "enum_tools.autoenum", - ] - -sphinxemoji_style = "twemoji" -todo_include_todos = bool(os.environ.get("SHOW_TODOS", 0)) -gitstamp_fmt = "%d %b %Y" +release = version = config.version -templates_path = ["_templates"] -html_static_path = ["_static"] -source_suffix = ".rst" -master_doc = "index" -suppress_warnings = ["image.nonlocal_uri"] -pygments_style = "default" +todo_include_todos = bool(os.environ.get("SHOW_TODOS", 0)) intersphinx_mapping = { "python": ("https://docs.python.org/3/", None), "sphinx": ("https://www.sphinx-doc.org/en/stable/", None), } -html_theme = "domdf_sphinx_theme" html_theme_options = {"logo_only": False} -html_theme_path = ["../.."] -html_show_sourcelink = True # True will show link to source html_context = { "display_github": True, @@ -85,53 +49,18 @@ man_pages = [("index", slug, project, [author], 1)] texinfo_documents = [("index", slug, project, author, slug, project, "Miscellaneous")] -toctree_plus_types = { - "class", - "function", - "method", - "data", - "enum", - "flag", - "confval", - "directive", - "role", - "confval", - "protocol", - "typeddict", - "namedtuple", - "exception", - } +toctree_plus_types = set(config["toctree_plus_types"]) -add_module_names = False -hide_none_rtype = True -all_typevars = True -overloads_location = "bottom" - - -autodoc_exclude_members = [ # Exclude "standard" methods. - "__dict__", - "__class__", - "__dir__", - "__weakref__", - "__module__", - "__annotations__", - "__orig_bases__", - "__parameters__", - "__subclasshook__", - "__init_subclass__", - "__attrs_attrs__", - "__init__", - "__new__", - "__getnewargs__", - "__abstractmethods__", - "__hash__", - ] autodoc_default_options = { "members": None, # Include all members (methods). "special-members": None, "autosummary": None, "show-inheritance": None, - "exclude-members": ','.join(autodoc_exclude_members), + "exclude-members": ','.join(config["autodoc_exclude_members"]), + } + +latex_elements = { + "fncychap": "\\usepackage[Bjarne]{fncychap}\n\\ChNameAsIs\n\\ChTitleAsIs\n", } html_logo = "../enum_tools.png" diff --git a/doc-source/index.rst b/doc-source/index.rst index bf8bfd8..6f9d84a 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -4,7 +4,7 @@ Enum Tools .. start short_desc -**Tools to expand Python's enum module.** +.. documentation-summary:: .. end short_desc @@ -36,7 +36,7 @@ Enum Tools * - Activity - |commits-latest| |commits-since| |maintained| |pypi-downloads| * - QA - - |codefactor| |actions_flake8| |actions_mypy| |pre_commit_ci| + - |codefactor| |actions_flake8| |actions_mypy| * - Other - |license| |language| |requires| @@ -129,9 +129,6 @@ Enum Tools :downloads: month :alt: PyPI - Downloads - .. |pre_commit_ci| pre-commit-ci-shield:: - :alt: pre-commit.ci status - .. end shields @@ -188,7 +185,7 @@ Installation View the :ref:`Function Index ` or browse the `Source Code <_modules/index.html>`__. - `Browse the GitHub Repository `__ + :github:repo:`Browse the GitHub Repository ` .. end links diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index 8c5408f..c424a75 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -8,8 +8,9 @@ sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.1.0 sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 +sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=2.1.0 +sphinx-toolbox>=2.9.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 toctree-plus>=0.1.0 diff --git a/formate.toml b/formate.toml index cdfc555..c2f88c4 100644 --- a/formate.toml +++ b/formate.toml @@ -42,6 +42,7 @@ known_third_party = [ "extras_require", "github", "html5lib", + "importlib_metadata", "pygments", "pytest", "pytest_cov", diff --git a/pyproject.toml b/pyproject.toml index c464e7f..99bd501 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,11 +7,13 @@ name = "enum_tools" version = "0.6.4" description = "Tools to expand Python's enum module." readme = "README.rst" -keywords = [ "enum", "documentation", "sphinx", "sphinx-extension",] +keywords = [ "documentation", "enum", "sphinx", "sphinx-extension",] dynamic = [ "requires-python", "classifiers", "dependencies",] + [[project.authors]] -email = "dominic@davis-foster.co.uk" name = "Dominic Davis-Foster" +email = "dominic@davis-foster.co.uk" + [project.license] file = "LICENSE" @@ -44,3 +46,85 @@ python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "LGPL-3.0-or-later" additional-files = [ "recursive-include enum_tools/ requirements.txt", "recursive-exclude tests/ *", "prune tests*",] + +[tool.mkrecipe] +conda-channels = [ "conda-forge", "domdfcoding",] +extras = "all" + +[tool.sphinx-pyproject] +github_username = "domdfcoding" +github_repository = "enum_tools" +author = "Dominic Davis-Foster" +project = "enum-tools" +copyright = "2020-2021 Dominic Davis-Foster" +language = "en" +package_root = "enum_tools" +extensions = [ + "sphinx_toolbox", + "sphinx_toolbox.more_autodoc", + "sphinx_toolbox.more_autosummary", + "sphinx_toolbox.documentation_summary", + "sphinx_toolbox.tweaks.param_dash", + "sphinx_toolbox.tweaks.latex_toc", + "sphinx.ext.intersphinx", + "sphinx.ext.mathjax", + "sphinxcontrib.httpdomain", + "sphinxcontrib.extras_require", + "sphinx.ext.todo", + "sphinxemoji.sphinxemoji", + "notfound.extension", + "sphinx_copybutton", + "sphinxcontrib.default_values", + "sphinxcontrib.toctree_plus", + "sphinx_debuginfo", + "seed_intersphinx_mapping", + "enum_tools.autoenum", +] +sphinxemoji_style = "twemoji" +gitstamp_fmt = "%d %b %Y" +templates_path = [ "_templates",] +html_static_path = [ "_static",] +source_suffix = ".rst" +master_doc = "index" +suppress_warnings = [ "image.nonlocal_uri",] +pygments_style = "default" +html_theme = "domdf_sphinx_theme" +html_theme_path = [ "../..",] +html_show_sourcelink = true +toctree_plus_types = [ + "class", + "confval", + "data", + "directive", + "enum", + "exception", + "flag", + "function", + "method", + "namedtuple", + "protocol", + "role", + "typeddict", +] +add_module_names = false +hide_none_rtype = true +all_typevars = true +overloads_location = "bottom" +autodoc_exclude_members = [ + "__dict__", + "__class__", + "__dir__", + "__weakref__", + "__module__", + "__annotations__", + "__orig_bases__", + "__parameters__", + "__subclasshook__", + "__init_subclass__", + "__attrs_attrs__", + "__init__", + "__new__", + "__getnewargs__", + "__abstractmethods__", + "__hash__", +] diff --git a/setup.cfg b/setup.cfg index 94a71c9..a6dfbb7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,53 +6,6 @@ # * mypy # * options.entry_points -[metadata] -name = enum_tools -author = Dominic Davis-Foster -author_email = dominic@davis-foster.co.uk -license = GNU Lesser General Public License v3 or later (LGPLv3+) -keywords = enum, documentation, sphinx, sphinx-extension -long_description = file: README.rst -long_description_content_type = text/x-rst -platforms = Windows, macOS, Linux -url = https://github.com/domdfcoding/enum_tools -project_urls = - Documentation = https://enum_tools.readthedocs.io/en/latest - Issue Tracker = https://github.com/domdfcoding/enum_tools/issues - Source Code = https://github.com/domdfcoding/enum_tools -classifiers = - Development Status :: 4 - Beta - Framework :: Sphinx :: Extension - Intended Audience :: Developers - License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) - Operating System :: OS Independent - Programming Language :: Python - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: Implementation :: CPython - Programming Language :: Python :: Implementation :: PyPy - Topic :: Documentation - Topic :: Documentation :: Sphinx - Topic :: Software Development :: Documentation - Topic :: Software Development :: Libraries :: Python Modules - Topic :: Utilities - Typing :: Typed - -[options] -python_requires = >=3.6.1 -zip_safe = False -include_package_data = True -packages = find: - -[options.packages.find] -exclude = - doc-source - tests - tests.* - [mypy] python_version = 3.6 namespace_packages = True diff --git a/tests/requirements.txt b/tests/requirements.txt index 7c31d49..4931db3 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,13 +1,14 @@ beautifulsoup4>=4.9.1 -coincidence>=0.1.0 +coincidence>=0.2.0 coverage>=5.1 coverage-pyver-pragma>=0.2.1 domdf-python-tools[testing]>=2.0.1 html5lib>=1.1 +importlib-metadata>=3.6.0 iniconfig!=1.1.0,>=1.0.1 pytest>=6.0.0 pytest-cov>=2.8.1 -pytest-randomly>=3.3.1 +pytest-randomly>=3.7.0 pytest-regressions>=2.0.1 pytest-rerunfailures>=9.0 pytest-timeout>=1.4.2 diff --git a/tox.ini b/tox.ini index 265b170..119e1b9 100644 --- a/tox.ini +++ b/tox.ini @@ -44,7 +44,7 @@ pip_version = pip>=21 changedir = {toxinidir}/doc-source extras = all deps = -r{toxinidir}/doc-source/requirements.txt -commands = sphinx-build -M html . ./build {posargs} +commands = sphinx-build -M {env:SPHINX_BUILDER:html} . ./build {posargs} [testenv:build] skip_install = True @@ -64,23 +64,23 @@ changedir = {toxinidir} ignore_errors = True skip_install = True deps = - flake8 >=3.8.2 - flake8-2020 >= 1.6.0 + flake8>=3.8.2 + flake8-2020>=1.6.0 flake8-builtins>=1.5.3 flake8-docstrings>=1.5.0 flake8-dunder-all>=0.1.1 + flake8-encodings>=0.1.0 flake8-github-actions>=0.1.0 flake8-pyi>=20.10.0 flake8-pytest-style>=1.3.0 + flake8-slots>=0.1.0 flake8-sphinx-links>=0.0.4 flake8-strftime>=0.1.1 flake8-typing-imports>=1.10.0 - flake8-encodings>=0.1.0 - flake8-slots>=0.1.0 - git+https://github.com/PyCQA/pydocstyle@5118faa7173b0e5bbc230c4adf628758e13605bf git+https://github.com/domdfcoding/flake8-quotes.git - git+https://github.com/domdfcoding/flake8-rst-docstrings.git git+https://github.com/domdfcoding/flake8-rst-docstrings-sphinx.git + git+https://github.com/domdfcoding/flake8-rst-docstrings.git + pydocstyle>=6.0.0 pygments>=2.7.1 commands = python3 -m flake8_rst_docstrings_sphinx enum_tools tests --allow-toolbox {posargs} @@ -90,7 +90,7 @@ ignore_errors = True changedir = {toxinidir} extras = all deps = - mypy==0.800 + mypy==0.812 -r{toxinidir}/tests/requirements.txt commands = mypy enum_tools tests {posargs} @@ -108,6 +108,10 @@ basepython = python3.6 skip_install = True ignore_errors = True whitelist_externals = /bin/bash +passenv = + COV_PYTHON_VERSION + COV_PLATFORM + COV_PYTHON_IMPLEMENTATION changedir = {toxinidir} deps = coverage>=5 @@ -119,7 +123,7 @@ commands = [flake8] max-line-length = 120 -select = E111 E112 E113 E121 E122 E125 E127 E128 E129 E131 E133 E201 E202 E203 E211 E222 E223 E224 E225 E225 E226 E227 E228 E231 E241 E242 E251 E261 E262 E265 E271 E272 E303 E304 E306 E402 E502 E703 E711 E712 E713 E714 E721 W291 W292 W293 W391 W504 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 STRFTIME001 STRFTIME002 SXL001 PT001 PT002 PT003 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 RST201 RST202 RST203 RST204 RST205 RST206 RST207 RST208 RST210 RST211 RST212 RST213 RST214 RST215 RST216 RST217 RST218 RST219 RST299 RST301 RST302 RST303 RST304 RST305 RST306 RST399 RST401 RST499 RST900 RST901 RST902 RST903 Q001 Q002 Q003 A001 A002 A003 TYP001 TYP002 TYP003 TYP004 TYP005 TYP006 ENC001 ENC002 ENC003 ENC004 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 +select = E111 E112 E113 E121 E122 E125 E127 E128 E129 E131 E133 E201 E202 E203 E211 E222 E223 E224 E225 E225 E226 E227 E228 E231 E241 E242 E251 E261 E262 E265 E271 E272 E303 E304 E306 E402 E502 E703 E711 E712 E713 E714 E721 W291 W292 W293 W391 W504 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 STRFTIME001 STRFTIME002 SXL001 PT001 PT002 PT003 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 RST201 RST202 RST203 RST204 RST205 RST206 RST207 RST208 RST210 RST211 RST212 RST213 RST214 RST215 RST216 RST217 RST218 RST219 RST299 RST301 RST302 RST303 RST304 RST305 RST306 RST399 RST401 RST499 RST900 RST901 RST902 RST903 Q001 Q002 Q003 A001 A002 A003 TYP001 TYP002 TYP003 TYP004 TYP005 TYP006 ENC001 ENC002 ENC003 ENC004 ENC011 ENC012 ENC021 ENC022 ENC023 ENC024 ENC025 ENC026 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 extend-exclude = doc-source,old,build,dist,__pkginfo__.py,setup.py,venv rst-directives = TODO @@ -133,6 +137,7 @@ inline-quotes = " multiline-quotes = """ docstring-quotes = """ count = True +min_python_version = 3.6.1 [coverage:run] plugins = coverage_pyver_pragma From 23e5dbab54d16b75c41ea733de8f90d97f788f01 Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Mon, 12 Jul 2021 17:03:18 +0000 Subject: [PATCH 2/3] Updated files with 'repo_helper'. --- .bumpversion.cfg | 6 ++++-- .github/stale.yml | 2 +- .github/workflows/conda_ci.yml | 25 ++++++++++++++++++------- .github/workflows/docs_test_action.yml | 3 ++- .github/workflows/flake8.yml | 1 + .github/workflows/mypy.yml | 1 + .github/workflows/python_ci.yml | 5 +++-- .github/workflows/python_ci_linux.yml | 5 +++-- .github/workflows/python_ci_macos.yml | 5 +++-- .pre-commit-config.yaml | 9 +++++++-- __pkginfo__.py | 6 +----- doc-source/conf.py | 11 ++++++++++- doc-source/index.rst | 7 +++++++ doc-source/requirements.txt | 2 +- pyproject.toml | 3 +-- tox.ini | 1 + 16 files changed, 64 insertions(+), 28 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 3650dc0..b416f76 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -3,8 +3,6 @@ current_version = 0.6.4 commit = True tag = True -[bumpversion:file:__pkginfo__.py] - [bumpversion:file:README.rst] [bumpversion:file:doc-source/index.rst] @@ -17,3 +15,7 @@ replace = : str = "{new_version}" [bumpversion:file:repo_helper.yml] [bumpversion:file:pyproject.toml] +search = version = "{current_version}" +replace = version = "{new_version}" + +[bumpversion:file:.github/workflows/conda_ci.yml] diff --git a/.github/stale.yml b/.github/stale.yml index bb7ca3f..e5625b7 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -28,7 +28,7 @@ exemptMilestones: false exemptAssignees: false # Label to use when marking as stale -staleLabel: wontfix +staleLabel: stale # Comment to post when marking as stale. Set to `false` to disable markComment: > diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 42865cb..3540881 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -28,7 +28,7 @@ jobs: python -VV python -m site python -m pip install --upgrade pip setuptools wheel - python -m pip install --upgrade repo_helper + python -m pip install --upgrade whey-conda # $CONDA is an environment variable pointing to the root of the miniconda directory $CONDA/bin/conda update -q conda $CONDA/bin/conda install conda-build=3.21.0 @@ -36,11 +36,22 @@ jobs: $CONDA/bin/conda config --add channels conda-forge $CONDA/bin/conda config --add channels domdfcoding - - name: "Build and install package" + - name: "Build and index channel" run: | - # This mess is only necessary because conda won't fix it themselves - # https://github.com/conda/conda/issues/1884 - - python -m repo_helper build --conda --out-dir conda-bld/noarch + python -m whey --builder whey_conda --out-dir conda-bld/noarch $CONDA/bin/conda index ./conda-bld || exit 1 - $CONDA/bin/conda install -c file://$(pwd)/conda-bld enum_tools -y || exit 1 + + - name: "Search for package" + run: | + $CONDA/bin/conda search -c file://$(pwd)/conda-bld enum_tools + $CONDA/bin/conda search -c file://$(pwd)/conda-bld --override-channels enum_tools + + - name: "Install package" + run: | + $CONDA/bin/conda install -c file://$(pwd)/conda-bld enum_tools=0.6.4=py_1 -y || exit 1 + + - name: "Run Tests" + run: | + rm -rf enum_tools + $CONDA/bin/pip install -r tests/requirements.txt + $CONDA/bin/pytest tests/ diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 720ef13..49e2cc1 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -2,7 +2,8 @@ --- name: "Docs Check" on: - - push + push: + pull_request: permissions: contents: read diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 116e13f..a2d81e9 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -4,6 +4,7 @@ name: Flake8 on: push: + pull_request: permissions: contents: read diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 5fb5285..a463c30 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -4,6 +4,7 @@ name: mypy on: push: + pull_request: permissions: contents: read diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index fb6e497..ff15f8c 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -4,6 +4,7 @@ name: Windows on: push: + pull_request: permissions: actions: write @@ -15,7 +16,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.3,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -25,7 +26,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-beta.1", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10.0-beta.3", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 0474e63..547cbd6 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -4,6 +4,7 @@ name: Linux on: push: + pull_request: permissions: actions: write @@ -15,7 +16,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.3,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -25,7 +26,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-beta.1", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10.0-beta.3", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 0e0af29..4f031d7 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -4,6 +4,7 @@ name: macOS on: push: + pull_request: permissions: actions: write @@ -15,7 +16,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.1,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.3,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -25,7 +26,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-beta.1", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10.0-beta.3", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ce55fb8..f907846 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,6 +4,11 @@ exclude: ^$ repos: + - repo: https://github.com/repo-helper/pyproject-parser + rev: v0.3.0 + hooks: + - id: reformat-pyproject + - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.4.0 hooks: @@ -41,7 +46,7 @@ repos: files: ^enum_tools/.*\.py$ - repo: https://github.com/domdfcoding/flake2lint - rev: v0.4.0 + rev: v0.4.1 hooks: - id: flake2lint @@ -68,7 +73,7 @@ repos: - id: forbid-crlf - repo: https://github.com/repo-helper/formate - rev: v0.4.4 + rev: v0.4.9 hooks: - id: formate exclude: ^(doc-source/conf|__pkginfo__|setup)\.(_)?py$ diff --git a/__pkginfo__.py b/__pkginfo__.py index f89051c..dc5ef44 100644 --- a/__pkginfo__.py +++ b/__pkginfo__.py @@ -11,12 +11,8 @@ # This script based on https://github.com/rocky/python-uncompyle6/blob/master/__pkginfo__.py # -__all__ = [ - "__version__", - "extras_require", - ] +__all__ = ["extras_require"] -__version__ = "0.6.4" extras_require = { "sphinx": ["sphinx<3.4.0,>=3.0.3", "sphinx-toolbox>=1.2.0"], "all": ["sphinx<3.4.0,>=3.0.3", "sphinx-toolbox>=1.2.0"] diff --git a/doc-source/conf.py b/doc-source/conf.py index 0d3a254..535be51 100644 --- a/doc-source/conf.py +++ b/doc-source/conf.py @@ -60,7 +60,16 @@ } latex_elements = { - "fncychap": "\\usepackage[Bjarne]{fncychap}\n\\ChNameAsIs\n\\ChTitleAsIs\n", + "printindex": "\\begin{flushleft}\n\\printindex\n\\end{flushleft}", + "tableofcontents": "\\pdfbookmark[0]{\\contentsname}{toc}\\sphinxtableofcontents", } + +def setup(app): + # 3rd party + from sphinx_toolbox.latex import better_header_layout + + app.connect("config-inited", lambda app, config: better_header_layout(config)) + + html_logo = "../enum_tools.png" diff --git a/doc-source/index.rst b/doc-source/index.rst index 6f9d84a..2a0ff24 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -5,6 +5,7 @@ Enum Tools .. start short_desc .. documentation-summary:: + :meta: .. end short_desc @@ -179,6 +180,12 @@ Installation contributing Source +.. sidebar-links:: + :caption: Links + :github: + :pypi: enum_tools + + .. start links .. only:: html diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index c424a75..f3eb136 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -10,7 +10,7 @@ sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=2.9.0 +sphinx-toolbox>=2.10.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 toctree-plus>=0.1.0 diff --git a/pyproject.toml b/pyproject.toml index 99bd501..f774fee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,10 +65,10 @@ extensions = [ "sphinx_toolbox.more_autosummary", "sphinx_toolbox.documentation_summary", "sphinx_toolbox.tweaks.param_dash", + "sphinx_toolbox.tweaks.latex_layout", "sphinx_toolbox.tweaks.latex_toc", "sphinx.ext.intersphinx", "sphinx.ext.mathjax", - "sphinxcontrib.httpdomain", "sphinxcontrib.extras_require", "sphinx.ext.todo", "sphinxemoji.sphinxemoji", @@ -100,7 +100,6 @@ toctree_plus_types = [ "exception", "flag", "function", - "method", "namedtuple", "protocol", "role", diff --git a/tox.ini b/tox.ini index 119e1b9..3d0230d 100644 --- a/tox.ini +++ b/tox.ini @@ -82,6 +82,7 @@ deps = git+https://github.com/domdfcoding/flake8-rst-docstrings.git pydocstyle>=6.0.0 pygments>=2.7.1 + importlib_metadata<4.5.0; python_version<'3.8' commands = python3 -m flake8_rst_docstrings_sphinx enum_tools tests --allow-toolbox {posargs} [testenv:mypy] From 6cf75e44e2de7e3e8695a181144fe8f6869164fd Mon Sep 17 00:00:00 2001 From: "repo-helper[bot]" <74742576+repo-helper[bot]@users.noreply.github.com> Date: Fri, 5 Nov 2021 22:25:53 +0000 Subject: [PATCH 3/3] Updated files with 'repo_helper'. --- .github/actions_build_conda.sh | 5 ++-- .github/actions_deploy_conda.sh | 3 +-- .github/workflows/conda_ci.yml | 2 +- .github/workflows/docs_test_action.yml | 4 +++ .github/workflows/flake8.yml | 4 +++ .github/workflows/mypy.yml | 4 +++ .github/workflows/octocheese.yml | 4 +-- .github/workflows/python_ci.yml | 9 +++++-- .github/workflows/python_ci_linux.yml | 19 +++++++++++--- .github/workflows/python_ci_macos.yml | 9 +++++-- .pre-commit-config.yaml | 11 ++++++--- .pylintrc | 2 +- README.rst | 4 +-- doc-source/index.rst | 3 ++- doc-source/license.rst | 10 ++++++++ doc-source/requirements.txt | 8 +++--- pyproject.toml | 34 ++++++++++++++++++++++++++ setup.cfg | 14 ----------- tox.ini | 15 +++++++++--- 19 files changed, 119 insertions(+), 45 deletions(-) create mode 100644 doc-source/license.rst delete mode 100644 setup.cfg diff --git a/.github/actions_build_conda.sh b/.github/actions_build_conda.sh index 01676e9..1c8409e 100755 --- a/.github/actions_build_conda.sh +++ b/.github/actions_build_conda.sh @@ -10,13 +10,12 @@ source "/home/runner/miniconda/etc/profile.d/conda.sh" hash -r conda activate base conda config --set always_yes yes --set changeps1 no -conda update -q conda -conda install conda-build -conda install anaconda-client +conda install conda=4.8.5 conda-build=3.18.11 conda info -a conda config --add channels conda-forge || exit 1 conda config --add channels domdfcoding || exit 1 +conda config --remove channels defaults conda build conda -c conda-forge -c domdfcoding --output-folder conda/dist --skip-existing diff --git a/.github/actions_deploy_conda.sh b/.github/actions_deploy_conda.sh index 0724264..3f62a25 100755 --- a/.github/actions_deploy_conda.sh +++ b/.github/actions_deploy_conda.sh @@ -8,8 +8,7 @@ source "/home/runner/miniconda/etc/profile.d/conda.sh" hash -r conda activate base conda config --set always_yes yes --set changeps1 no -conda update -q conda -conda install anaconda-client +conda install conda=4.8.5 anaconda-client conda info -a for f in conda/dist/noarch/enum_tools-*.tar.bz2; do diff --git a/.github/workflows/conda_ci.yml b/.github/workflows/conda_ci.yml index 3540881..8cf313d 100644 --- a/.github/workflows/conda_ci.yml +++ b/.github/workflows/conda_ci.yml @@ -12,7 +12,7 @@ permissions: jobs: tests: name: "Conda" - runs-on: ubuntu-latest + runs-on: ubuntu-18.04 steps: - name: Checkout 🛎️ diff --git a/.github/workflows/docs_test_action.yml b/.github/workflows/docs_test_action.yml index 49e2cc1..0e68472 100644 --- a/.github/workflows/docs_test_action.yml +++ b/.github/workflows/docs_test_action.yml @@ -3,6 +3,10 @@ name: "Docs Check" on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index a2d81e9..84e9436 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -4,6 +4,10 @@ name: Flake8 on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index a463c30..5a7324b 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -4,6 +4,10 @@ name: mypy on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + - 'imgbot' pull_request: permissions: diff --git a/.github/workflows/octocheese.yml b/.github/workflows/octocheese.yml index 0932816..188d339 100644 --- a/.github/workflows/octocheese.yml +++ b/.github/workflows/octocheese.yml @@ -3,10 +3,8 @@ name: "GitHub Releases" on: - push: - branches: ["master"] schedule: - - cron: 0 12 * * 2,4,6 + - cron: 0 12 * * * jobs: Run: diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index ff15f8c..469f90a 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -4,6 +4,11 @@ name: Windows on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + - 'imgbot' + pull_request: permissions: @@ -16,7 +21,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.3,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -26,7 +31,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-beta.3", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 547cbd6..4b38cfd 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -4,6 +4,12 @@ name: Linux on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + - 'imgbot' + tags: + - '*' pull_request: permissions: @@ -16,7 +22,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.3,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -26,7 +32,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-beta.3", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} @@ -95,21 +101,26 @@ jobs: path: coverage - name: Display structure of downloaded files + id: show run: ls -R working-directory: coverage + continue-on-error: true - name: Combine Coverage 👷 + if: ${{ steps.show.outcome != 'failure' }} run: | shopt -s globstar python -m coverage combine coverage/**/.coverage - name: "Upload Combined Coverage Artefact 🚀" + if: ${{ steps.show.outcome != 'failure' }} uses: actions/upload-artifact@v2 with: name: "combined-coverage" path: .coverage - name: "Upload Combined Coverage to Coveralls" + if: ${{ steps.show.outcome != 'failure' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | @@ -153,7 +164,7 @@ jobs: Conda: needs: deploy - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-18.04" if: startsWith(github.ref, 'refs/tags/') || (startsWith(github.event.head_commit.message, 'Bump version') != true) steps: - name: Checkout 🛎️ @@ -169,7 +180,7 @@ jobs: python -m pip install --upgrade pip setuptools wheel python -m pip install --upgrade mkrecipe - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.sh -O miniconda.sh bash miniconda.sh -b -p $HOME/miniconda - name: Build Conda 📦 diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 4f031d7..54945b1 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -4,6 +4,11 @@ name: macOS on: push: + branches-ignore: + - 'repo-helper-update' + - 'pre-commit-ci-update-config' + - 'imgbot' + pull_request: permissions: @@ -16,7 +21,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10.0-beta.3,pypy-3.6,pypy-3.7' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,pypy-3.6,pypy-3.7' strategy: fail-fast: False @@ -26,7 +31,7 @@ jobs: - {python-version: "3.7", testenvs: "py37,build", experimental: False} - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - - {python-version: "3.10.0-beta.3", testenvs: "py310-dev,build", experimental: True} + - {python-version: "3.10", testenvs: "py310-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f907846..ff1daee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ exclude: ^$ repos: - repo: https://github.com/repo-helper/pyproject-parser - rev: v0.3.0 + rev: v0.4.2 hooks: - id: reformat-pyproject @@ -51,7 +51,7 @@ repos: - id: flake2lint - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.8.0 + rev: v1.9.0 hooks: - id: python-no-eval - id: rst-backticks @@ -72,7 +72,12 @@ repos: - id: remove-crlf - id: forbid-crlf - - repo: https://github.com/repo-helper/formate + - repo: https://github.com/python-formate/snippet-fmt + rev: v0.1.3 + hooks: + - id: snippet-fmt + + - repo: https://github.com/python-formate/formate rev: v0.4.9 hooks: - id: formate diff --git a/.pylintrc b/.pylintrc index a21206a..81ecba0 100644 --- a/.pylintrc +++ b/.pylintrc @@ -66,7 +66,7 @@ confidence= # no Warning level messages displayed, use"--disable=all --enable=classes # --disable=W" disable=all -enable=assert-on-tuple,astroid-error,bad-except-order,bad-inline-option,bad-option-value,bad-reversed-sequence,bare-except,binary-op-exception,boolean-datetime,catching-non-exception,cell-var-from-loop,confusing-with-statement,consider-merging-isinstance,consider-using-enumerate,consider-using-ternary,continue-in-finally,cyclic-import,deprecated-pragma,django-not-available,duplicate-except,duplicate-key,eval-used,exec-used,expression-not-assigned,fatal,file-ignored,fixme,global-at-module-level,global-statement,global-variable-not-assigned,global-variable-undefined,http-response-with-content-type-json,http-response-with-json-dumps,invalid-all-object,invalid-characters-in-docstring,len-as-condition,literal-comparison,locally-disabled,locally-enabled,lost-exception,lowercase-l-suffix,misplaced-bare-raise,missing-kwoa,mixed-line-endings,model-has-unicode,model-missing-unicode,model-no-explicit-unicode,model-unicode-not-callable,multiple-imports,new-db-field-with-default,non-ascii-bytes-literals,nonexistent-operator,not-in-loop,notimplemented-raised,overlapping-except,parse-error,pointless-statement,pointless-string-statement,raising-bad-type,raising-non-exception,raw-checker-failed,redefine-in-handler,redefined-argument-from-local,redefined-builtin,redundant-content-type-for-json-response,reimported,relative-import,return-outside-function,simplifiable-if-statement,singleton-comparison,syntax-error,trailing-comma-tuple,trailing-newlines,unbalanced-tuple-unpacking,undefined-all-variable,undefined-loop-variable,unexpected-line-ending-format,unidiomatic-typecheck,unnecessary-lambda,unnecessary-pass,unnecessary-semicolon,unneeded-not,unpacking-non-sequence,unreachable,unrecognized-inline-option,used-before-assignment,useless-else-on-loop,using-constant-test,wildcard-import,yield-outside-function,useless-return +enable=assert-on-tuple,astroid-error,bad-except-order,bad-inline-option,bad-option-value,bad-reversed-sequence,bare-except,binary-op-exception,boolean-datetime,catching-non-exception,cell-var-from-loop,confusing-with-statement,consider-merging-isinstance,consider-using-enumerate,consider-using-ternary,continue-in-finally,deprecated-pragma,django-not-available,duplicate-except,duplicate-key,eval-used,exec-used,expression-not-assigned,fatal,file-ignored,fixme,global-at-module-level,global-statement,global-variable-not-assigned,global-variable-undefined,http-response-with-content-type-json,http-response-with-json-dumps,invalid-all-object,invalid-characters-in-docstring,len-as-condition,literal-comparison,locally-disabled,locally-enabled,lost-exception,lowercase-l-suffix,misplaced-bare-raise,missing-kwoa,mixed-line-endings,model-has-unicode,model-missing-unicode,model-no-explicit-unicode,model-unicode-not-callable,multiple-imports,new-db-field-with-default,non-ascii-bytes-literals,nonexistent-operator,not-in-loop,notimplemented-raised,overlapping-except,parse-error,pointless-statement,pointless-string-statement,raising-bad-type,raising-non-exception,raw-checker-failed,redefine-in-handler,redefined-argument-from-local,redefined-builtin,redundant-content-type-for-json-response,reimported,relative-import,return-outside-function,simplifiable-if-statement,singleton-comparison,syntax-error,trailing-comma-tuple,trailing-newlines,unbalanced-tuple-unpacking,undefined-all-variable,undefined-loop-variable,unexpected-line-ending-format,unidiomatic-typecheck,unnecessary-lambda,unnecessary-pass,unnecessary-semicolon,unneeded-not,unpacking-non-sequence,unreachable,unrecognized-inline-option,used-before-assignment,useless-else-on-loop,using-constant-test,wildcard-import,yield-outside-function,useless-return [REPORTS] diff --git a/README.rst b/README.rst index 21382b1..9b14f52 100644 --- a/README.rst +++ b/README.rst @@ -58,8 +58,8 @@ Enum Tools :target: https://github.com/domdfcoding/enum_tools/actions?query=workflow%3A%22mypy%22 :alt: mypy status -.. |requires| image:: https://requires.io/github/domdfcoding/enum_tools/requirements.svg?branch=master - :target: https://requires.io/github/domdfcoding/enum_tools/requirements/?branch=master +.. |requires| image:: https://dependency-dash.herokuapp.com/github/domdfcoding/enum_tools/badge.svg + :target: https://dependency-dash.herokuapp.com/github/domdfcoding/enum_tools/ :alt: Requirements Status .. |coveralls| image:: https://img.shields.io/coveralls/github/domdfcoding/enum_tools/master?logo=coveralls diff --git a/doc-source/index.rst b/doc-source/index.rst index 2a0ff24..d3b83bf 100644 --- a/doc-source/index.rst +++ b/doc-source/index.rst @@ -69,7 +69,8 @@ Enum Tools :workflow: mypy :alt: mypy status - .. |requires| requires-io-shield:: + .. |requires| image:: https://dependency-dash.herokuapp.com/github/domdfcoding/enum_tools/badge.svg + :target: https://dependency-dash.herokuapp.com/github/domdfcoding/enum_tools/ :alt: Requirements Status .. |coveralls| coveralls-shield:: diff --git a/doc-source/license.rst b/doc-source/license.rst new file mode 100644 index 0000000..9fc4006 --- /dev/null +++ b/doc-source/license.rst @@ -0,0 +1,10 @@ +========= +License +========= + +``enum_tools`` is licensed under the :choosealicense:`LGPL-3.0` + +.. license-info:: LGPL-3.0 + +.. license:: + :py: enum_tools diff --git a/doc-source/requirements.txt b/doc-source/requirements.txt index f3eb136..bdd6a47 100644 --- a/doc-source/requirements.txt +++ b/doc-source/requirements.txt @@ -1,16 +1,16 @@ -autodocsumm>=0.2.0 -default-values>=0.4.2 +default-values>=0.5.0 domdf-sphinx-theme>=0.3.0 extras-require>=0.2.0 seed-intersphinx-mapping>=0.3.1 sphinx<3.4.0,>=3.0.3 sphinx-copybutton>=0.2.12 sphinx-debuginfo>=0.1.0 +sphinx-licenseinfo>=0.1.1 sphinx-notfound-page>=0.5 sphinx-prompt>=1.1.0 sphinx-pyproject>=0.1.0 sphinx-tabs>=1.1.13 -sphinx-toolbox>=2.10.0 +sphinx-toolbox>=2.13.0 sphinxcontrib-httpdomain>=1.7.0 sphinxemoji>=0.1.6 -toctree-plus>=0.1.0 +toctree-plus>=0.5.0 diff --git a/pyproject.toml b/pyproject.toml index f774fee..4318062 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,6 +77,7 @@ extensions = [ "sphinxcontrib.default_values", "sphinxcontrib.toctree_plus", "sphinx_debuginfo", + "sphinx_licenseinfo", "seed_intersphinx_mapping", "enum_tools.autoenum", ] @@ -109,6 +110,7 @@ add_module_names = false hide_none_rtype = true all_typevars = true overloads_location = "bottom" +html_codeblock_linenos_style = "table" autodoc_exclude_members = [ "__dict__", "__class__", @@ -127,3 +129,35 @@ autodoc_exclude_members = [ "__abstractmethods__", "__hash__", ] + +[tool.mypy] +python_version = "3.6" +namespace_packages = true +check_untyped_defs = true +warn_unused_ignores = true +no_implicit_optional = true +show_error_codes = true + +[tool.snippet-fmt] +directives = [ "code-block",] + +[tool.dependency-dash."requirements.txt"] +order = 10 + +[tool.dependency-dash."tests/requirements.txt"] +order = 20 +include = false + +[tool.dependency-dash."doc-source/requirements.txt"] +order = 30 +include = false + +[tool.snippet-fmt.languages.python] +reformat = true + +[tool.snippet-fmt.languages.TOML] +reformat = true + +[tool.snippet-fmt.languages.ini] + +[tool.snippet-fmt.languages.json] diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index a6dfbb7..0000000 --- a/setup.cfg +++ /dev/null @@ -1,14 +0,0 @@ -# This file is managed by 'repo_helper'. -# You may add new sections, but any changes made to the following sections will be lost: -# * metadata -# * options -# * options.packages.find -# * mypy -# * options.entry_points - -[mypy] -python_version = 3.6 -namespace_packages = True -check_untyped_defs = True -warn_unused_ignores = True -incremental = False diff --git a/tox.ini b/tox.ini index 3d0230d..fffeb9e 100644 --- a/tox.ini +++ b/tox.ini @@ -71,15 +71,17 @@ deps = flake8-dunder-all>=0.1.1 flake8-encodings>=0.1.0 flake8-github-actions>=0.1.0 + flake8-noqa>=1.1.0 flake8-pyi>=20.10.0 flake8-pytest-style>=1.3.0 + flake8-quotes>=3.3.0 flake8-slots>=0.1.0 flake8-sphinx-links>=0.0.4 flake8-strftime>=0.1.1 flake8-typing-imports>=1.10.0 - git+https://github.com/domdfcoding/flake8-quotes.git git+https://github.com/domdfcoding/flake8-rst-docstrings-sphinx.git git+https://github.com/domdfcoding/flake8-rst-docstrings.git + git+https://github.com/python-formate/flake8-unused-arguments.git@magic-methods pydocstyle>=6.0.0 pygments>=2.7.1 importlib_metadata<4.5.0; python_version<'3.8' @@ -91,7 +93,7 @@ ignore_errors = True changedir = {toxinidir} extras = all deps = - mypy==0.812 + mypy==0.910 -r{toxinidir}/tests/requirements.txt commands = mypy enum_tools tests {posargs} @@ -124,12 +126,15 @@ commands = [flake8] max-line-length = 120 -select = E111 E112 E113 E121 E122 E125 E127 E128 E129 E131 E133 E201 E202 E203 E211 E222 E223 E224 E225 E225 E226 E227 E228 E231 E241 E242 E251 E261 E262 E265 E271 E272 E303 E304 E306 E402 E502 E703 E711 E712 E713 E714 E721 W291 W292 W293 W391 W504 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 STRFTIME001 STRFTIME002 SXL001 PT001 PT002 PT003 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 RST201 RST202 RST203 RST204 RST205 RST206 RST207 RST208 RST210 RST211 RST212 RST213 RST214 RST215 RST216 RST217 RST218 RST219 RST299 RST301 RST302 RST303 RST304 RST305 RST306 RST399 RST401 RST499 RST900 RST901 RST902 RST903 Q001 Q002 Q003 A001 A002 A003 TYP001 TYP002 TYP003 TYP004 TYP005 TYP006 ENC001 ENC002 ENC003 ENC004 ENC011 ENC012 ENC021 ENC022 ENC023 ENC024 ENC025 ENC026 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 +select = E111 E112 E113 E121 E122 E125 E127 E128 E129 E131 E133 E201 E202 E203 E211 E222 E223 E224 E225 E225 E226 E227 E228 E231 E241 E242 E251 E261 E262 E265 E271 E272 E303 E304 E306 E402 E502 E703 E711 E712 E713 E714 E721 W291 W292 W293 W391 W504 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 STRFTIME001 STRFTIME002 SXL001 PT001 PT002 PT003 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 RST201 RST202 RST203 RST204 RST205 RST206 RST207 RST208 RST210 RST211 RST212 RST213 RST214 RST215 RST216 RST217 RST218 RST219 RST299 RST301 RST302 RST303 RST304 RST305 RST306 RST399 RST401 RST499 RST900 RST901 RST902 RST903 Q001 Q002 Q003 A001 A002 A003 TYP001 TYP002 TYP003 TYP004 TYP005 TYP006 ENC001 ENC002 ENC003 ENC004 ENC011 ENC012 ENC021 ENC022 ENC023 ENC024 ENC025 ENC026 Y001,Y002 Y003 Y004 Y005 Y006 Y007 Y008 Y009 Y010 Y011 Y012 Y013 Y014 Y015 Y090 Y091 NQA001 NQA002 NQA003 NQA004 NQA005 NQA102 NQA103 E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 extend-exclude = doc-source,old,build,dist,__pkginfo__.py,setup.py,venv rst-directives = TODO envvar extras-require + license + license-info +rst-roles = choosealicense per-file-ignores = tests/*: D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 */*.pyi: E301 E302 E305 D100 D101 D102 D103 D104 D106 D201 D204 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D402 D403 D404 D415 D417 DALL000 SLOT000 SLOT001 SLOT002 @@ -139,6 +144,10 @@ multiline-quotes = """ docstring-quotes = """ count = True min_python_version = 3.6.1 +unused-arguments-ignore-abstract-functions = True +unused-arguments-ignore-overload-functions = True +unused-arguments-ignore-magic-methods = True +unused-arguments-ignore-variadic-names = True [coverage:run] plugins = coverage_pyver_pragma