rq/pyproject.toml

133 lines
3.3 KiB
TOML

[build-system]
build-backend = "hatchling.build"
requires = [
"hatchling",
]
[project]
name = "rq"
description = "RQ is a simple, lightweight, library for creating background jobs, and processing them."
readme = "README.md"
license = "BSD-2-Clause"
maintainers = [
{name = "Selwin Ong"},
]
authors = [
{ name = "Selwin Ong", email = "selwin.ong@gmail.com" },
{ name = "Vincent Driessen", email = "vincent@3rdcloud.com" },
]
requires-python = ">=3.7"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: BSD License",
"Operating System :: MacOS",
"Operating System :: POSIX",
"Operating System :: Unix",
"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 :: Internet",
"Topic :: Scientific/Engineering",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Distributed Computing",
"Topic :: System :: Monitoring",
"Topic :: System :: Systems Administration",
]
dynamic = [
"version",
]
dependencies = [
"click>=5",
"redis>=3.5",
]
[project.urls]
changelog = "https://github.com/rq/rq/blob/master/CHANGES.md"
documentation = "https://python-rq.org/docs/"
homepage = "https://python-rq.org/"
repository = "https://github.com/rq/rq/"
[project.scripts]
rq = "rq.cli:main"
rqinfo = "rq.cli:info" # TODO [v2]: Remove
rqworker = "rq.cli:worker" # TODO [v2]: Remove
[tool.hatch.version]
path = "rq/version.py"
[tool.hatch.build.targets.sdist]
include = [
"/docs",
"/rq",
"/tests",
"CHANGES.md",
"LICENSE",
"pyproject.toml",
"README.md",
"requirements.txt",
"tox.ini",
]
[tool.hatch.envs.test]
dependencies = [
"black",
"coverage",
"mypy",
"packaging",
"psutil",
"pytest",
"pytest-cov",
"ruff",
"tox",
"types-greenlet",
"types-redis",
]
[tool.hatch.envs.test.scripts]
cov = "pytest --cov=rq --cov-config=.coveragerc --cov-report=xml {args:tests}"
typing = "mypy --enable-incomplete-feature=Unpack rq"
[tool.black]
line-length = 120
target-version = ["py38"]
skip-string-normalization = true
[tool.mypy]
allow_redefinition = true
pretty = true
show_error_codes = true
show_error_context = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unreachable = true
[[tool.mypy.overrides]]
module = "setproctitle.*"
ignore_missing_imports = true
[tool.ruff]
# Set what ruff should check for.
# See https://beta.ruff.rs/docs/rules/ for a list of rules.
lint.select = [
"E", # pycodestyle errors
"F", # pyflakes errors
"I", # import sorting
"W", # pycodestyle warnings
]
line-length = 120 # To match black.
target-version = "py38"
[tool.ruff.lint.isort]
known-first-party = ["rq"]
section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"]
[tool.pyright]
reportOptionalMemberAccess = false
reportOptionalOperand = false