1
- [tool . poetry ]
1
+ [project ]
2
2
name = " django-security-keys"
3
3
version = " 1.1.0"
4
4
description = " Django webauthn security key integration"
5
5
readme = " README.md"
6
- repository = " https://github.com/fullctl/django-security-keys"
7
- authors = [
" 20C <[email protected] >" ,]
8
- license = " Apache-2"
6
+ authors = [{
name =
" 20C" ,
email =
" [email protected] " }]
7
+ license = { text = " Apache-2.0" }
8
+ requires-python = " >=3.9"
9
+
9
10
classifiers = [
10
- " Topic :: Software Development" ,
11
- " Development Status :: 5 - Production/Stable" ,
12
- " License :: OSI Approved :: Apache Software License" ,
13
- " Programming Language :: Python :: 3.8" ,
14
- " Programming Language :: Python :: 3.9" ,
15
- " Programming Language :: Python :: 3.10" ,
16
- " Programming Language :: Python :: 3.11" ,
11
+ " Topic :: Software Development" ,
12
+ " Development Status :: 5 - Production/Stable" ,
13
+ " License :: OSI Approved :: Apache Software License" ,
14
+ " Programming Language :: Python :: 3.9" ,
15
+ " Programming Language :: Python :: 3.10" ,
16
+ " Programming Language :: Python :: 3.11" ,
17
+ " Programming Language :: Python :: 3.12" ,
18
+ " Programming Language :: Python :: 3.13" ,
17
19
]
18
20
19
- packages = [
20
- { include = " django_security_keys" , from = " src" },
21
+ dependencies = [
22
+ " webauthn>=1" ,
23
+ " django-two-factor-auth>=1.13.1" ,
24
+ " phonenumbers>=8.12.47" ,
21
25
]
22
26
23
- [tool .poetry .dependencies ]
24
- python = " ^3.8"
25
- webauthn = " ^1"
26
-
27
- # requirements for 2FA
28
- django-two-factor-auth = " ^1.13.1"
29
- phonenumbers = " ^8.12.47"
30
-
31
- [tool .poetry .dev-dependencies ]
32
- # testing
33
- pytest = " >=6.0.1"
34
- pytest-django = " >=3.8.0"
35
- pytest-cov = " *"
36
- pytest-pythonpath = " *"
37
- tox = " >=3.24"
38
- tox-gh-actions = " >=2.9.1"
27
+ [project .urls ]
28
+ repository = " https://github.com/fullctl/django-security-keys"
39
29
40
- # linting
41
- black = { version = " >=20" , allow-prereleases = true }
42
- isort = " ^5.7.0"
43
- flake8 = " ^3.8.4"
44
- mypy = " >=0.950"
45
- pre-commit = " ^2.13"
46
- pyupgrade = " ^2.19.4"
30
+ [project .optional-dependencies ]
31
+ dev = [
32
+ # testing
33
+ " pytest>=6.0.1" ,
34
+ " pytest-django>=3.8.0" ,
35
+ " pytest-cov" ,
36
+ " pytest-pythonpath" ,
37
+ " tox>=3.24" ,
38
+ " tox-gh-actions>=2.9.1" ,
39
+
40
+ # linting
41
+ " ruff>=0.6" ,
42
+ " pre-commit>=2.13" ,
43
+
44
+ # ctl
45
+ " ctl>=1" ,
46
+ " jinja2>=3.1.2" ,
47
+ " tmpl>=1" ,
48
+ " twine>=3.3.0" ,
49
+
50
+ # docs
51
+ " markdown-include>=0.5" ,
52
+ " mkdocs>=1.2.3" ,
53
+ " pymdgen>=1.0.0" ,
54
+ ]
47
55
48
- # ctl
49
- ctl = " ^1"
50
- jinja2 = " ^3.1.2"
51
- tmpl = " ^1"
52
- twine = " ^3.3.0"
56
+ [build-system ]
57
+ requires = [" hatchling" ]
58
+ build-backend = " hatchling.build"
53
59
54
- # docs
55
- markdown-include = " >=0.5"
56
- mkdocs = " ^1.2.3"
57
- pymdgen = " ^1.0.0"
60
+ [tool .hatch .build .targets .wheel ]
61
+ packages = [" src/django_security_keys" ]
58
62
63
+ [tool .ruff ]
64
+ line-length = 88
65
+ target-version = " py39"
59
66
60
- [tool .poetry .plugins ."markdown .extensions" ]
61
- pymdgen = " pymdgen.md:Extension"
67
+ [tool .ruff .lint ]
68
+ select = [
69
+ " E" , # pycodestyle errors
70
+ " W" , # pycodestyle warnings
71
+ " F" , # Pyflakes
72
+ " I" , # isort
73
+ " UP" , # pyupgrade
74
+ " C90" , # mccabe complexity
75
+ ]
62
76
63
- [build-system ]
64
- requires = [ " poetry>=0.12" ,]
65
- build-backend = " poetry.masonry.api"
77
+ [tool .ruff .lint .isort ]
78
+ known-first-party = [" django_security_keys" ]
66
79
67
- [tool .isort ]
68
- profile = " black "
69
- multi_line_output = 3
80
+ [tool .ruff . format ]
81
+ quote-style = " double "
82
+ indent-style = " space "
70
83
84
+ [tool .pytest .ini_options ]
85
+ DJANGO_SETTINGS_MODULE = " tests.project.settings"
86
+ python_paths = [" src" ]
87
+ addopts = " --cov=django_security_keys --cov-report=term-missing"
0 commit comments