1[metadata]
2name = django-redis
3version = attr: django_redis.__version__
4url = https://github.com/jazzband/django-redis
5author = Andrei Antoukh
6author_email = niwi@niwi.nz
7description = Full featured redis cache backend for Django.
8long_description = file: README.rst
9long_description_content_type = text/x-rst
10license = BSD-3-Clause
11classifiers =
12	Development Status :: 5 - Production/Stable
13	Environment :: Web Environment
14	Framework :: Django
15	Framework :: Django :: 2.2
16	Framework :: Django :: 3.1
17	Framework :: Django :: 3.2
18	Intended Audience :: Developers
19	License :: OSI Approved :: BSD License
20	Operating System :: OS Independent
21	Programming Language :: Python
22	Programming Language :: Python :: 3
23	Programming Language :: Python :: 3 :: Only
24	Programming Language :: Python :: 3.6
25	Programming Language :: Python :: 3.7
26	Programming Language :: Python :: 3.8
27	Programming Language :: Python :: 3.9
28	Programming Language :: Python :: 3.10
29	Topic :: Software Development :: Libraries
30	Topic :: Utilities
31
32[options]
33python_requires = >=3.6
34packages =
35	django_redis
36	django_redis.client
37	django_redis.serializers
38	django_redis.compressors
39install_requires =
40	Django>=2.2
41	redis>=3,<4
42
43[options.extras_require]
44hiredis = redis[hiredis]>=3,<4
45
46[coverage:run]
47omit =
48	tests/*,
49
50[coverage:report]
51precision = 1
52skip_covered = true
53
54[flake8]
55ignore =
56	W503
57	W601
58	E203
59max-line-length = 88
60
61[isort]
62profile = black
63multi_line_output = 3
64
65[tox:tox]
66minversion = 3.15.0
67envlist =
68	black
69	flake8
70	isort
71	mypy
72	py{36,37,38,39,310}-dj{22,31,32}-redislatest
73	py310-dj32-redismaster
74	py310-djmain-redis{latest,master}
75
76[gh-actions]
77python =
78	3.6: py36
79	3.7: py37
80	3.8: py38, black, flake8, isort, mypy
81	3.9: py39
82	3.10: py310
83
84[gh-actions:env]
85DJANGO =
86	2.2: dj22
87	3.1: dj31
88	3.2: dj32
89	main: djmain
90REDIS =
91	latest: redislatest
92	master: redismaster
93
94[testenv]
95passenv = CI GITHUB*
96commands =
97	{envpython} -m pytest --cov-report= --ds=settings.sqlite {posargs}
98	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_json {posargs}
99	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_lz4 {posargs}
100	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_msgpack {posargs}
101	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sentinel {posargs}
102	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_sharding {posargs}
103	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_usock {posargs}
104	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_zlib {posargs}
105	{envpython} -m pytest --cov-append --cov-report= --ds=settings.sqlite_zstd {posargs}
106	{envpython} -m coverage report
107	{envpython} -m coverage xml
108deps =
109	dj22: Django>=2.2,<2.3
110	dj31: Django>=3.1,<3.2
111	dj32: Django>=3.2,<3.3
112	djmain: https://github.com/django/django/archive/main.tar.gz
113	msgpack>=0.6.0
114	pytest
115	pytest-cov
116	pytest-django
117	pytest-pythonpath
118	pytest-mock
119	redismaster: https://github.com/andymccurdy/redis-py/archive/master.tar.gz
120	lz4>=0.15
121	pyzstd>=0.15
122
123[testenv:{black,flake8,isort,mypy}]
124basepython = python3
125envdir = {toxworkdir}/lint
126commands =
127	black: black --target-version py36 {posargs:--check --diff} setup.py django_redis/ tests/
128	flake8: flake8 {posargs} setup.py django_redis/ tests/
129	isort: isort {posargs:--check-only --diff} django_redis/ tests/
130	mypy: mypy {posargs:--cobertura-xml-report .} django_redis tests
131deps =
132	black
133	django-stubs
134	flake8
135	isort >= 5.0.2
136	lxml
137	mypy
138	pytest
139	pytest-django
140	pytest-mock
141	types-redis
142skip_install = true
143
144[tool:pytest]
145DJANGO_SETTINGS_MODULE = settings.sqlite
146addopts =
147	--doctest-modules
148	--cov=django_redis
149	--cov-config=setup.cfg
150	--no-cov-on-fail
151filterwarnings =
152	error::DeprecationWarning
153	error::FutureWarning
154	error::PendingDeprecationWarning
155	ignore:.*distutils package is deprecated.*:DeprecationWarning
156python_paths = tests
157testpaths = tests
158xfail_strict = true
159
160[mypy]
161plugins =
162	mypy_django_plugin.main
163pretty = true
164show_error_codes = true
165show_error_context = true
166warn_redundant_casts = true
167warn_unused_ignores = true
168warn_unreachable = true
169
170[mypy.plugins.django-stubs]
171django_settings_module = tests.settings.sqlite
172ignore_missing_settings = true
173
174[mypy-lz4.frame]
175ignore_missing_imports = true
176
177[mypy-pyzstd]
178ignore_missing_imports = true
179
180[mypy-msgpack]
181ignore_missing_imports = true
182
183[mypy-redis.sentinel]
184ignore_missing_imports = true
185
186[egg_info]
187tag_build =
188tag_date = 0
189
190