[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