Fix: Add missing Python module dependency "munch" causing cleanup job failures
[releng/lftools.git] / pyproject.toml
1 [build-system]
2 requires = ["setuptools>=46.1.0", "setuptools_scm[toml]>=5"]
3 build-backend = "setuptools.build_meta"
4
5 [project]
6 name = "lftools"
7 dynamic = ["version"]
8 description = "Linux Foundation Release Engineering Tools"
9 readme = "README.md"
10 requires-python = ">=3.8"
11 license = {text = "EPL-1.0"}
12
13 authors = [
14     {name = "LF Release Engineering", email = "releng@linuxfoundation.org"},
15 ]
16
17 maintainers = [
18     {name = "LF Release Engineering", email = "releng@linuxfoundation.org"},
19 ]
20
21 # Add here all kinds of additional classifiers as defined under
22 # https://pypi.org/classifiers/
23 classifiers = [
24     "Intended Audience :: Developers",
25     "Intended Audience :: Information Technology",
26     "License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)",
27     "Operating System :: POSIX :: Linux",
28     "Programming Language :: Python",
29     "Programming Language :: Python :: 3.8",
30     "Programming Language :: Python :: 3.9"
31 ]
32
33 dependencies = [
34     "appdirs",
35     "aspy.yaml",
36     "attrs",
37     "beautifulsoup4",
38     "boto3",
39     "bs4",
40     "certifi",
41     "cfgv",
42     "chardet",
43     "click",
44     "defusedxml",
45     "Deprecated",
46     "dnspython",
47     "docker==4.2.2",
48     "email-validator",
49     "filelock",
50     "GitPython",
51     "httplib2",
52     "identify",
53     "idna",
54     "jinja2",
55     "jsonschema",
56     "lxml",
57     "multi-key-dict",
58     "munch",
59     "nodeenv",
60     "oauth2client",
61     "openstacksdk>=2.1.0",
62     "pbr",
63     "pyasn1",
64     "pyasn1-modules",
65     "pygerrit2",
66     "PyGithub",
67     "PyJWT",
68     "pyrsistent",
69     "python-jenkins",
70     "PyYAML",
71     "requests",
72     "rsa",
73     "ruamel.yaml",
74     "ruamel.yaml.clib",
75     "six",
76     "soupsieve",
77     "tabulate",
78     "toml",
79     "tqdm",
80     "urllib3<2.1.0",
81     "websocket-client",
82     "wrapt",
83     "xdg"
84 ]
85
86 [project.optional-dependencies]
87 dev = [
88     "mypy"
89 ]
90
91 docs = [
92     "lfdocs-conf",
93     "reno",
94     "sphinxcontrib-programoutput"
95 ]
96
97 ldap = [
98     "python-ldap~=3.1.0"
99 ]
100
101 openstack = [
102     "osc-lib~=2.2.0"
103 ]
104
105 test = [
106     "pytest==5.3.5",
107     "pytest-click==0.3",
108     "pytest-cov",
109     "pytest-datafiles==2.0",
110     "pytest-mock==2.0.0",
111     "pytest-responses==0.4.0"
112 ]
113
114 [project.urls]
115 "Homepage" = "https://docs.releng.linuxfoundation.org/projects/lftools"
116 "Bug Tracker" = "https://github.com/lfit/releng-tools/issues"
117 "Documentation" = "https://docs.releng.linuxfoundation.org/projects/lftools"
118 "Source Code" = "https://github.com/lfit/releng-lftools"
119
120 [project.scripts]
121 lftools = "lftools.cli:main"
122
123 [tool.setuptools]
124 platforms = ["linux"]
125 script-files = [
126     "shell/deploy",
127     "shell/gerrit_create",
128     "shell/inactivecommitters",
129     "shell/sign",
130     "shell/version",
131     "shell/yaml4info",
132     "shell/autocorrectinfofile"
133 ]
134
135 [tool.setuptools.packages.find]
136 where = ["."]
137 include = ["lftools*"]
138 exclude = ["tests*"]
139
140
141 [tool.setuptools_scm]
142 # For smarter version schemes and other configuration options,
143 # check out https://github.com/pypa/setuptools_scm
144 local_scheme = "no-local-version"
145 version_scheme = "python-simplified-semver"
146
147
148 [tool.black]
149 line-length = 120
150 target-version = ['py38']
151 exclude = '''
152 /(
153     \.venv
154 )/
155 '''
156
157 [tool.isort]
158 profile = "black"