22requires = [" setuptools" ]
33build-backend = " setuptools.build_meta"
44
5+ [project .urls ]
6+ HOMEPAGE = " https://pypi.org/project/splunk-sdk"
7+ DOCS = " https://docs.splunk.com/Documentation/PythonSDK/2.0.0"
8+ REPO = " http://github.com/splunk/splunk-sdk-python.git"
9+
510[project ]
611name = " splunk-sdk"
7- version = " 2.1.0"
812description = " The Splunk Software Development Kit for Python"
913readme = " README.md"
10- requires-python = " >=3.9, <4 "
14+ requires-python = " >=3.9.23 "
1115license = { file = " LICENSE" }
1216authors = [{
name =
" Splunk, Inc." ,
email =
" [email protected] " }]
17+ dynamic = [" version" ]
1318classifiers = [
1419 " Programming Language :: Python" ,
1520 " Development Status :: 6 - Mature" ,
@@ -22,29 +27,91 @@ classifiers = [
2227
2328dependencies = [
2429 " deprecation>=2.1.0" ,
25- " importlib-metadata>=6.7.0" ,
26- " python-dotenv>=0.21.1" ,
27- " flake8>=3.9.2" ,
28- " flake8-blind-except>=0.2.1" ,
29- " flake8-builtins>=2.1.0" ,
30- " flake8-docstrings>=1.7.0" ,
31- " flake8-import-order>=0.19.2" ,
32- " flake8-logging-format>=2024.24.12" ,
33- " flake8-rst-docstrings>=0.3.0" ,
34- " pylint>=2.13.9" ,
35- " pytest>=7.4.4" ,
36- " pytest-cov>=4.1.0" ,
37- " six>=1.17.0" ,
38- " tox>=4.8.0" ,
39- " twine>=4.0.2" ,
40- " types-setuptools>=69.0.0.0" ,
30+ " mypy>=1.17.1" ,
31+ " python-dotenv>=1.1.1" ,
32+ " ruff>=0.12.7" ,
33+ " setuptools>=80.9.0" ,
34+ " tox>=4.28.3" ,
35+ " twine>=6.1.0" ,
36+ " types-setuptools>=80.9.0.20250529" ,
4137]
4238
4339# TODO :(
4440# [dependency-groups]
4541# dev = []
4642
47- [project .urls ]
48- HOMEPAGE = " https://pypi.org/project/splunk-sdk"
49- DOCS = " https://docs.splunk.com/Documentation/PythonSDK/2.0.0"
50- REPO = " http://github.com/splunk/splunk-sdk-python.git"
43+ [tool .setuptools .dynamic ]
44+ version = { attr = " splunklib.__version__" }
45+
46+ # https://docs.astral.sh/ruff/configuration/
47+ [tool .ruff ]
48+ line-length = 120
49+ indent-width = 4
50+
51+ [tool .ruff .format ]
52+ quote-style = " double"
53+ indent-style = " space"
54+ line-ending = " auto"
55+
56+ [tool .ruff .lint ]
57+ select = [
58+ " F" , # pyflakes
59+ " E" , # pycodestyle
60+ " I" , # isort
61+ " ANN" , # flake8 type annotations
62+ " RUF" , # ruff-specific rules
63+ ]
64+ fixable = [" ALL" ]
65+
66+ [tool .tox ]
67+ # https://tox.wiki/en/latest/config.html#pyproject-toml-ini
68+ legacy_tox_ini = """
69+ [tox]
70+ envlist = clean,docs,py39,313
71+ skipsdist = {env:TOXBUILD:false}
72+
73+ # TODO: Replace with ruff
74+ [testenv:pep8]
75+ deps = flake8
76+ flake8-import-order
77+ flake8-blind-except
78+ flake8-builtins
79+ flake8-docstrings
80+ flake8-rst-docstrings
81+ flake8-logging-format
82+ six
83+ commands = flake8
84+
85+ [flake8]
86+ exclude = .tox
87+ # If you need to ignore some error codes in the whole source code
88+ # you can write them here
89+ # ignore = D100,D101
90+ show-source = true
91+ enable-extensions = G
92+ application-import-names = splunk-sdk-python
93+
94+ [testenv]
95+ passenv = LANG
96+ setenv = SPLUNK_HOME=/opt/splunk
97+ allowlist_externals = make
98+ deps = pytest
99+ pytest-cov
100+ python-dotenv
101+
102+ distdir = build
103+ commands =
104+ {env:TOXBUILD:python -m pytest --junitxml=test-reports/junit-{envname}.xml --cov --cov-config=.coveragerc} {posargs}
105+
106+ [testenv:clean]
107+ deps = coverage
108+ skip-install = true
109+ commands = coverage erase
110+
111+ [testenv:docs]
112+ description = invoke sphinx-build to build the HTML docs
113+ basepython = python3.9
114+ deps = sphinx >= 1.7.5, < 2
115+ jinja2 < 3.1.0
116+ commands = make -C docs/ html
117+ """
0 commit comments