1
1
[build-system ]
2
2
requires = [
3
- " setuptools >= 61.0" , # PEP-621
4
- " setuptools_scm[toml] >= 7.0.0" ,
3
+ " setuptools >= 63.0.0" , # required by pyproject+setuptools_scm integration
4
+ " setuptools_scm[toml] >= 7.0.5" , # required for "no-local-version" scheme
5
+
5
6
]
6
7
build-backend = " setuptools.build_meta"
7
8
8
9
[project ]
9
10
# https://peps.python.org/pep-0621/#readme
10
11
requires-python = " >=3.9"
11
- dynamic = [" version" ]
12
+ dynamic = [" version" , " dependencies " , " optional-dependencies " ]
12
13
name = " molecule"
13
14
description = " Molecule aids in the development and testing of Ansible roles"
14
15
readme = " README.md"
@@ -22,7 +23,8 @@ classifiers = [
22
23
" Intended Audience :: Information Technology" ,
23
24
" Intended Audience :: System Administrators" ,
24
25
" License :: OSI Approved :: MIT License" ,
25
- " Operating System :: OS Independent" ,
26
+ " Operating System :: MacOS" ,
27
+ " Operating System :: POSIX" ,
26
28
" Programming Language :: Python :: 3" ,
27
29
" Programming Language :: Python :: 3.9" ,
28
30
" Programming Language :: Python :: 3.10" ,
@@ -35,64 +37,13 @@ classifiers = [
35
37
" Topic :: Utilities" ,
36
38
]
37
39
keywords = [" ansible" , " roles" , " testing" , " molecule" ]
38
- dependencies = [
39
- " ansible-compat >= 2.2.0" ,
40
- " ansible-core >= 2.12.10" ,
41
- " click >= 8.0, < 9" ,
42
- " click-help-colors >= 0.9" ,
43
- " cookiecutter >= 1.7.3" , # dependency issues in older versions
44
- " enrich >= 1.2.7" ,
45
- " jsonschema >= 4.9.1" ,
46
- " Jinja2 >= 2.11.3" ,
47
- " packaging" ,
48
- " pluggy >= 0.7.1, < 2.0" ,
49
- " PyYAML >= 5.1" ,
50
- " rich >= 9.5.1" ,
51
- ]
52
40
53
41
[project .urls ]
54
42
homepage = " https://github.com/ansible-community/molecule"
55
43
documentation = " https://molecule.readthedocs.io/"
56
44
repository = " https://github.com/ansible-community/molecule"
57
45
changelog = " https://github.com/ansible-community/molecule/releases"
58
46
59
- [project .optional-dependencies ]
60
- docs = [
61
- " argparse-manpage" ,
62
- " cairosvg" ,
63
- " markdown-include" ,
64
- " mkdocs" ,
65
- " mkdocs-git-revision-date-localized-plugin" ,
66
- " mkdocs-material" ,
67
- " mkdocs-material-extensions" ,
68
- " mkdocs-multirepo-plugin" ,
69
- " mkdocstrings[python]" ,
70
- " pillow" ,
71
- " pymdown-extensions" ,
72
- ]
73
- lint = [
74
- " check-jsonschema >= 0.20.0" ,
75
- " flake8 >= 6.0.0" ,
76
- " jsonschema >= 4.17.3" ,
77
- " pre-commit >= 2.21.0" ,
78
- " yamllint >= 1.28.0" ,
79
- ]
80
- test = [
81
- # Do not include ansible or any package that would drag ansible in here
82
- # We want to assure test extra provides tools to test molecule and its
83
- # related tools/plugins but w/o ansible, which can be installed separated.
84
- " ansible-lint >= 6.12.1" ,
85
- " ansi2html >= 1.8.0" ,
86
- " coverage >= 7.0.3" ,
87
- " filelock >= 3.9.0" ,
88
- " pexpect >= 4.8.0, < 5" ,
89
- " pytest-mock >= 3.10.0" ,
90
- " pytest-plus >= 0.4.0" ,
91
- " pytest-testinfra >= 7.0.0" ,
92
- " pytest-xdist >= 3.1.0" ,
93
- " pytest >= 7.2.0" ,
94
- ]
95
-
96
47
[project .scripts ]
97
48
molecule = " molecule.__main__:main"
98
49
@@ -117,18 +68,6 @@ omit = ["test/*"]
117
68
fail_under = 88
118
69
skip_covered = true
119
70
120
- # skip_empty = true
121
- [tool .doc8 ]
122
- # see https://github.com/PyCQA/doc8/issues/75
123
- ignore-path = [
124
- " .eggs" ,
125
- " .tox" ,
126
- " requirements.txt" ,
127
- " build" ,
128
- " molecule.egg-info" ,
129
- " src/molecule.egg-info" ,
130
- ]
131
-
132
71
[tool .black ]
133
72
skip-string-normalization = false
134
73
@@ -264,5 +203,12 @@ parametrize-values-type = "tuple"
264
203
[tool .ruff .isort ]
265
204
known-first-party = [" molecule" ]
266
205
206
+ [tool .setuptools .dynamic ]
207
+ optional-dependencies.docs = { file = [" .config/requirements-docs.txt" ] }
208
+ optional-dependencies.test = { file = [" .config/requirements-test.txt" ] }
209
+ optional-dependencies.lock = { file = [" .config/requirements-lock.txt" ] }
210
+ dependencies = { file = [" .config/requirements.in" ] }
211
+
267
212
[tool .setuptools_scm ]
268
213
local_scheme = " no-local-version"
214
+ write_to = " src/molecule/_version.py"
0 commit comments