extend-exclude = '''
/(
# The following are specific to Black, you probably don't want those.
- | blib2to3
- | tests/data
+ tests/data
| profiling
)/
'''
[project]
name = "black"
description = "The uncompromising code formatter."
-license = "MIT"
-requires-python = ">=3.7"
+license = { text = "MIT" }
+requires-python = ">=3.8"
authors = [
{ name = "Łukasz Langa", email = "lukasz@langa.pl" },
]
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
- "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 :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Software Development :: Quality Assurance",
]
dependencies = [
"click>=8.0.0",
"mypy_extensions>=0.4.3",
+ "packaging>=22.0",
"pathspec>=0.9.0",
"platformdirs>=2",
- "tomli>=1.1.0; python_full_version < '3.11.0a7'",
- "typed-ast>=1.4.2; python_version < '3.8' and implementation_name == 'cpython'",
- "typing_extensions>=3.10.0.0; python_version < '3.10'",
+ "tomli>=1.1.0; python_version < '3.11'",
+ "typing_extensions>=4.0.1; python_version < '3.11'",
]
dynamic = ["readme", "version"]
[tool.hatch.build.targets.wheel.hooks.mypyc]
enable-by-default = false
dependencies = [
- "hatch-mypyc>=0.13.0",
- "mypy==0.971",
- # Required stubs to be removed when the packages support PEP 561 themselves
- "types-typed-ast>=1.4.2",
+ "hatch-mypyc>=0.16.0",
+ "mypy==1.5.1",
+ "click==8.1.3", # avoid https://github.com/pallets/click/issues/2558
]
require-runtime-dependencies = true
exclude = [
[tool.cibuildwheel]
build-verbosity = 1
# So these are the environments we target:
-# - Python: CPython 3.7+ only
+# - Python: CPython 3.8+ only
# - Architecture (64-bit only): amd64 / x86_64, universal2, and arm64
# - OS: Linux (no musl), Windows, and macOS
-build = "cp3*-*"
-skip = ["*-manylinux_i686", "*-musllinux_*", "*-win32", "pp-*"]
+build = "cp3*"
+skip = ["*-manylinux_i686", "*-musllinux_*", "*-win32", "pp*", "cp312-*"]
# This is the bare minimum needed to run the test suite. Pulling in the full
# test_requirements.txt would download a bunch of other packages not necessary
# here and would slow down the testing step a fair bit.
HATCH_BUILD_HOOKS_ENABLE = "1"
MYPYC_OPT_LEVEL = "3"
MYPYC_DEBUG_LEVEL = "0"
-# The dependencies required to build wheels with mypyc aren't specified in
-# [build-system].requires so we'll have to manage the build environment ourselves.
-PIP_NO_BUILD_ISOLATION = "no"
# CPython 3.11 wheels aren't available for aiohttp and building a Cython extension
# from source also doesn't work.
AIOHTTP_NO_EXTENSIONS = "1"
profile = "black"
line_length = 88
skip_gitignore = true
-skip_glob = ["src/blib2to3", "tests/data", "profiling"]
+skip_glob = ["tests/data", "profiling"]
known_first_party = ["black", "blib2to3", "blackd", "_black_version"]
[tool.pytest.ini_options]
# this is mitigated by a try/catch in https://github.com/psf/black/pull/3198/
# this ignore can be removed when support for aiohttp 3.x is dropped.
'''ignore:Middleware decorator is deprecated since 4\.0 and its behaviour is default, you can simply remove this decorator:DeprecationWarning''',
- # this is mitigated by https://github.com/python/cpython/issues/79071 in python 3.8+
- # this ignore can be removed when support for 3.7 is dropped.
- '''ignore:Bare functions are deprecated, use async ones:DeprecationWarning''',
# aiohttp is using deprecated cgi modules - Safe to remove when fixed:
# https://github.com/aio-libs/aiohttp/issues/6905
'''ignore:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning''',
+ # Work around https://github.com/pytest-dev/pytest/issues/10977 for Python 3.12
+ '''ignore:(Attribute s|Attribute n|ast.Str|ast.Bytes|ast.NameConstant|ast.Num) is deprecated and will be removed in Python 3.14:DeprecationWarning''',
+ # Will be fixed with aiohttp 3.9.0
+ # https://github.com/aio-libs/aiohttp/pull/7302
+ "ignore:datetime.*utcfromtimestamp\\(\\) is deprecated and scheduled for removal:DeprecationWarning",
]
+[tool.coverage.report]
+omit = [
+ "src/blib2to3/*",
+ "tests/data/*",
+ "*/site-packages/*",
+ ".tox/*"
+]
+[tool.coverage.run]
+relative_files = true