[build-system] requires = ['hatchling'] build-backend = 'hatchling.build' [tool.hatch.version] path = 'arq/version.py' [project] name = 'arq' description = 'Job queues in python with asyncio and redis' authors = [{name = 'Samuel Colvin', email = '[email protected]'}] license = { text = 'MIT' } readme = 'README.md' classifiers = [ 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Framework :: AsyncIO', 'Intended Audience :: Developers', 'Intended Audience :: Information Technology', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', '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 :: Software Development :: Libraries :: Python Modules', 'Topic :: System :: Clustering', 'Topic :: System :: Distributed Computing', 'Topic :: System :: Monitoring', 'Topic :: System :: Systems Administration', ] requires-python = '>=3.8' dependencies = [ 'redis[hiredis]>=4.2.0,<6', 'click>=8.0', ] optional-dependencies = {watch = ['watchfiles>=0.16'] } dynamic = ['version'] [project.scripts] arq = 'arq.cli:cli' [project.urls] Homepage = 'https://github.com/samuelcolvin/arq' Documentation = 'https://arq-docs.helpmanual.io' Funding = 'https://github.com/sponsors/samuelcolvin' Source = 'https://github.com/samuelcolvin/arq' Changelog = 'https://github.com/samuelcolvin/arq/releases' [tool.pytest.ini_options] testpaths = 'tests' filterwarnings = ['error'] asyncio_mode = 'auto' timeout = 10 [tool.coverage.run] source = ['arq'] branch = true omit = ['arq/__main__.py'] [tool.coverage.report] precision = 2 exclude_lines = [ 'pragma: no cover', 'raise NotImplementedError', 'raise NotImplemented', 'if TYPE_CHECKING:', '@overload', ] [tool.ruff] line-length = 120 [tool.ruff.lint] extend-select = ['Q', 'RUF100', 'C90', 'UP', 'I'] flake8-quotes = {inline-quotes = 'single', multiline-quotes = 'double'} mccabe = { max-complexity = 13 } [tool.ruff.format] quote-style = 'single' [tool.mypy] strict = true