blob: 7b2c6e218df8de14de88b7db56c4af61ae846e86 [file] [log] [blame] [edit]
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "b4"
version = "0.15-dev"
description = "A tool to work with public-inbox and patch archives"
readme = "README.rst"
keywords = ["git", "public-inbox", "lore.kernel.org", "patch", "email", "workflow"]
license = {file = "COPYING"}
authors = [
{name = "Konstantin Ryabitsev", email="konstantin@linuxfoundation.org"},
]
requires-python = ">=3.8"
classifiers = [
"Environment :: Console",
"Operating System :: POSIX :: Linux",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Topic :: Communications :: Email",
"Topic :: Software Development",
"Topic :: Utilities",
]
dependencies = [
"requests>=2.24,<3.0",
"git-filter-repo>=2.30,<3.0",
"dkimpy>=1.0,<2.0",
"patatt>=0.6,<2.0",
]
[dependency-groups]
dev = [
"mypy",
"pip-tools",
"pytest",
"ruff",
"types-requests",
]
[project.optional-dependencies]
completion = [
"shtab>=1.7",
]
[tool.setuptools.packages.find]
where = ['src']
exclude = ['tests*']
[tool.pip-tools]
generate_hashes = true
[project.urls]
Homepage = "https://git.kernel.org/pub/scm/utils/b4/b4.git/"
Repository = "https://git.kernel.org/pub/scm/utils/b4/b4.git"
Documentation = "https://b4.docs.kernel.org/"
[project.scripts]
b4 = "b4.command:cmd"
[tool.pytest.ini_options]
filterwarnings = "ignore:.*(pyopenssl|invalid escape sequence).*:DeprecationWarning"
norecursedirs = ["tests/helpers", "patatt"]
log_file = "pytest.log"
log_file_level = "DEBUG"
log_file_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
log_file_date_format = "%Y-%m-%d %H:%M:%S"
[tool.bumpversion]
current_version = "0.15-dev"
files = [
{filename = "src/b4/__init__.py"},
{filename = "src/b4/man/b4.5.rst"},
{filename = "src/b4/man/b4.5"},
]
[tool.ruff.lint]
select = [
"PGH004", # https://docs.astral.sh/ruff/rules/blanket-noqa/
]
flake8-quotes.inline-quotes = "single"
[tool.pyright]
typeCheckingMode = "off"
# Configure mypy in strict mode
[tool.mypy]
strict = true