<NME> setup.cfg
<BEF> [metadata]
name = itsdangerous
version = attr: itsdangerous.__version__
url = https://palletsprojects.com/p/itsdangerous/
project_urls =
    Donate = https://palletsprojects.com/donate
    Documentation = https://itsdangerous.palletsprojects.com/
    Changes = https://itsdangerous.palletsprojects.com/changes/
    Source Code = https://github.com/pallets/itsdangerous/
    Issue Tracker = https://github.com/pallets/itsdangerous/issues/
    Twitter = https://twitter.com/PalletsTeam
    Chat = https://discord.gg/pallets
license = BSD-3-Clause
license_files = LICENSE.rst
author = Armin Ronacher
author_email = armin.ronacher@active-4.com
maintainer = Pallets
maintainer_email = contact@palletsprojects.com
description = Safely pass data to untrusted environments and back.
long_description = file: README.rst
long_description_content_type = text/x-rst
classifiers =
    Development Status :: 5 - Production/Stable
    Intended Audience :: Developers
    License :: OSI Approved :: BSD License
    Operating System :: OS Independent
    Programming Language :: Python

[options]
packages = find:
package_dir = = src
include_package_data = true
python_requires = >= 3.7

[options.packages.find]
where = src

[tool:pytest]
testpaths = tests
filterwarnings =
    error

[coverage:run]
branch = true
source =
    itsdangerous
    tests

[coverage:paths]
source =
    src
    */site-packages

[flake8]
# B = bugbear
# E = pycodestyle errors
# F = flake8 pyflakes
# W = pycodestyle warnings
# B9 = bugbear opinions
# ISC = implicit-str-concat
select = B, E, F, W, B9, ISC
ignore =
    # slice notation whitespace, invalid
    E203
    # line length, handled by bugbear B950
    E501
    # bare except, handled by bugbear B001
    E722
    # bin op line break, invalid
    W503
# up to 88 allowed by bugbear B950
max-line-length = 80
per-file-ignores =
    # __init__ export names
    src/itsdangerous/__init__.py: F401

[mypy]
files = src/itsdangerous
python_version = 3.7
disallow_subclassing_any = True
disallow_untyped_calls = True
disallow_untyped_defs = True
disallow_incomplete_defs = True
no_implicit_optional = True
local_partial_types = True
no_implicit_reexport = True
strict_equality = True
warn_redundant_casts = True
warn_unused_configs = True
warn_unused_ignores = True
warn_return_any = True
warn_unreachable = True

[mypy-itsdangerous.jws]
disallow_untyped_defs = False

<MSG> Merge branch '2.0.x'

<DFF> @@ -29,7 +29,7 @@ classifiers =
 [options]
 packages = find:
 package_dir = = src
-include_package_data = true
+include_package_data = True
 python_requires = >= 3.7
 
 [options.packages.find]
@@ -41,7 +41,7 @@ filterwarnings =
     error
 
 [coverage:run]
-branch = true
+branch = True
 source =
     itsdangerous
     tests
@@ -57,7 +57,7 @@ source =
 # F = flake8 pyflakes
 # W = pycodestyle warnings
 # B9 = bugbear opinions
-# ISC = implicit-str-concat
+# ISC = implicit str concat
 select = B, E, F, W, B9, ISC
 ignore =
     # slice notation whitespace, invalid
@@ -71,12 +71,13 @@ ignore =
 # up to 88 allowed by bugbear B950
 max-line-length = 80
 per-file-ignores =
-    # __init__ export names
+    # __init__ exports names
     src/itsdangerous/__init__.py: F401
 
 [mypy]
 files = src/itsdangerous
 python_version = 3.7
+show_error_codes = True
 disallow_subclassing_any = True
 disallow_untyped_calls = True
 disallow_untyped_defs = True

Merge branch '2.0.x'