| [tool.poetry] |
| name = "requests-cache" |
| version = "0.9.0" |
| description = "A transparent persistent cache for the requests library" |
| authors = ["Roman Haritonov"] |
| maintainers = ["Jordan Cook"] |
| license = "BSD-2-Clause" |
| readme = "README.md" |
| documentation = "https://requests-cache.readthedocs.io" |
| homepage = "https://github.com/reclosedev/requests-cache" |
| repository = "https://github.com/reclosedev/requests-cache" |
| keywords = ["requests", "cache", "http", "python-requests", "web", "performance", "sqlite", "redis", |
| "mongodb", "gridfs", "dynamodb"] |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "Topic :: Software Development :: Libraries :: Python Modules", |
| "Typing :: Typed", |
| ] |
| include = [ |
| {format="sdist", path="*.md"}, |
| {format="sdist", path="*.yml"}, |
| {format="sdist", path="docs"}, |
| {format="sdist", path="examples"}, |
| {format="sdist", path="tests"}, |
| ] |
| |
| [tool.poetry.dependencies] |
| python = "^3.7" |
| |
| # Required dependencies |
| requests = "^2.22" # Needs no introduction |
| urllib3 = "^1.25.5" # Use a slightly newer version than required by requests (for bugfixes) |
| appdirs = "^1.4.4" # For options that use platform-specific user cache dirs |
| attrs = "^21.2" # For response data models |
| cattrs = "^1.8" # For response serialization |
| url-normalize = "^1.4" # For reducing duplicate cache items |
| |
| # Optional backend dependencies |
| boto3 = {optional=true, version="^1.15"} |
| botocore = {optional=true, version="^1.18"} |
| pymongo = {optional=true, version=">=3,<5"} |
| redis = {optional=true, version=">=3,<5"} |
| |
| # Optional serialization dependencies |
| bson = {optional=true, version=">=0.5"} |
| itsdangerous = {optional=true, version="^2.0"} |
| pyyaml = {optional=true, version=">=5.4"} |
| ujson = {optional=true, version=">=4.0"} |
| |
| # All the bells and whistles for building documentation; |
| # defined here because readthedocs doesn't (yet?) support poetry.dev-dependencies |
| furo = {optional=true, version=">=2021.9.8"} |
| linkify-it-py = {optional=true, version="^1.0.1"} |
| myst-parser = {optional=true, version="^0.15.1"} |
| sphinx = {optional=true, version="4.3.0"} |
| sphinx-autodoc-typehints = {optional=true, version="^1.11"} |
| sphinx-automodapi = {optional=true, version="^0.13"} |
| sphinx-copybutton = {optional=true, version=">=0.3,<0.5"} |
| sphinx-inline-tabs = {optional=true, version="^2021.8.17b10", python=">=3.8"} |
| sphinx-notfound-page = {optional=true, version="*"} |
| sphinx-panels = {optional=true, version="^0.6"} |
| sphinxcontrib-apidoc = {optional=true, version="^0.3"} |
| |
| [tool.poetry.extras] |
| # Package extras for optional backend dependencies |
| dynamodb = ["boto3", "botocore"] |
| mongodb = ["pymongo"] |
| redis = ["redis"] |
| |
| # Package extras for optional seriazliation dependencies |
| bson = ["bson"] # BSON comes with pymongo, but can also be used as a standalone codec |
| json = ["ujson"] # Will optionally be used by JSON serializer for improved performance |
| security = ["itsdangerous"] |
| yaml = ["pyyaml"] |
| |
| # All optional packages combined, for demo/evaluation purposes |
| all = ["boto3", "botocore", "itsdangerous", "pymongo", "pyyaml", "redis", "ujson"] |
| |
| # Documentation |
| docs = ["furo", "linkify-it-py", "myst-parser", "sphinx", "sphinx-autodoc-typehints", |
| "sphinx-automodapi", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-panels", |
| "sphinx-notfound-page", "sphinxcontrib-apidoc"] |
| |
| [tool.poetry.dev-dependencies] |
| # For unit + integration tests |
| coverage = "^6.1" |
| psutil = "^5.0" |
| pytest = "^6.2" |
| pytest-clarity = "^1.0.1" |
| pytest-cov = ">=3.0" |
| pytest-rerunfailures = "^10.1" |
| pytest-xdist = ">=2.2" |
| requests-mock = "^1.8" |
| responses = "0.16.0" |
| timeout-decorator = "^0.5" |
| |
| # Tools for linting, type checking, etc. are managed with pre-commit |
| pre-commit = "^2.15" |
| |
| # For convenience in local development |
| nox = "^2021.10.1" |
| nox-poetry = "^0.9.0" |
| rich = ">=10.0" |
| sphinx-autobuild = "^2021.3.14" |
| |
| [build-system] |
| requires = ["poetry-core>=1.0.0"] |
| build-backend = "poetry.core.masonry.api" |
| |
| [tool.black] |
| line-length = 100 |
| skip-string-normalization = true |
| |
| [tool.coverage.html] |
| directory = 'test-reports' |
| |
| [tool.coverage.xml] |
| output = 'test-reports/coverage.xml' |
| |
| [tool.coverage.run] |
| branch = true |
| source = ['requests_cache'] |
| omit = [ |
| 'requests_cache/__init__.py', |
| 'requests_cache/backends/__init__.py', |
| 'requests_cache/models/__init__.py', |
| 'requests_cache/serializers/__init__.py', |
| ] |
| |
| [tool.coverage.report] |
| exclude_lines = [ |
| 'pragma: no cover', |
| 'if TYPE_CHECKING:', |
| ] |
| |
| [tool.isort] |
| profile = 'black' |
| line_length = 100 |
| skip_gitignore = true |
| skip = [ |
| 'examples/', |
| 'requests_cache/__init__.py', |
| 'tests/compat/', |
| ] |
| known_first_party = ['tests'] |