1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
[project]
name = 'requests-ratelimiter'
version = '0.9.0'
description = 'Rate-limiting for the requests library'
authors = [{name = 'Jordan Cook'}]
license = 'MIT'
readme = 'README.md'
keywords = ['requests', 'rate-limiting', 'leaky-bucket']
classifiers = [
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Typing :: Typed',
]
requires-python = '>=3.10'
dependencies = [
'pyrate-limiter ~=4.0',
'requests >=2.20',
]
[project.urls]
homepage = 'https://github.com/JWCook/requests-ratelimiter'
repository = 'https://github.com/JWCook/requests-ratelimiter'
documentation = 'https://requests-ratelimiter.readthedocs.io'
[dependency-groups]
dev = [
'coverage >=7.6',
'pre-commit >=3.0',
'pytest >=8.3',
'pytest-cov >=4.0',
'pytest-xdist >=3.1',
'requests-mock >=1.11',
'requests-cache >=1.2',
]
docs = [
'furo >=2025.12',
'myst-parser >=3.0',
'sphinx >=7.0',
'sphinx-autodoc-typehints >=2.5',
'sphinx-copybutton >=0.5',
]
[build-system]
requires = ['hatchling']
build-backend = 'hatchling.build'
[tool.hatch.build.targets.sdist]
include = [
'/requests_ratelimiter',
'/test',
'/README.md',
]
[tool.coverage.run]
branch = true
source = ['requests_ratelimiter']
[tool.coverage.html]
directory = 'test-reports'
[tool.coverage.xml]
output = 'test-reports/coverage.xml'
[tool.mypy]
ignore_missing_imports = true
[tool.ruff]
fix = true
unsafe-fixes = true
line-length = 100
output-format = 'grouped'
target-version = 'py38'
[tool.ruff.format]
quote-style = 'single'
[tool.ruff.lint]
select = ['B', 'C4', 'C90', 'E', 'F']
ignore = ['B023']
[tool.ruff.lint.isort]
known-first-party = ['test']
# Wrap lines to 100 chars, but don't error on unwrappable lines until 120 chars
[tool.ruff.lint.pycodestyle]
max-line-length = 120
|