@@ -11,14 +11,13 @@ name = "splunk-sdk"
1111dynamic = [" version" ]
1212description = " Splunk Software Development Kit for Python"
1313readme = " README.md"
14- requires-python = " >=3.7 "
14+ requires-python = " >=3.9 "
1515license = { text = " Apache-2.0" }
1616authors = [{ name = " Splunk, Inc." , email = " devinfo@splunk.com" }]
1717keywords = [" splunk" , " sdk" ]
1818classifiers = [
1919 " Programming Language :: Python :: 3" ,
2020 " Programming Language :: Python :: 3 :: Only" ,
21- " Programming Language :: Python :: 3.7" ,
2221 " Programming Language :: Python :: 3.9" ,
2322 " Programming Language :: Python :: 3.13" ,
2423 " Development Status :: 6 - Mature" ,
@@ -29,25 +28,27 @@ classifiers = [
2928 " Topic :: Software Development :: Libraries :: Application Frameworks" ,
3029]
3130
32- dependencies = [" python-dotenv>=0.21.1" ]
33- optional-dependencies = { compat = [" six>=1.17.0" ] }
31+ dependencies = []
3432
33+ # https://github.com/astral-sh/uv/issues/8981#issuecomment-2466787211
34+ # Treat the same as NPM's `dependencies`
35+ [project .optional-dependencies ]
36+ compat = [" six>=1.17.0" ]
37+
38+ # Treat the same as NPM's `devDependencies`
3539[dependency-groups ]
36- build = [" build>=1.1.1" , " twine>=4.0.2" ]
37- # Can't pin `sphinx` otherwise installation fails on python>=3.7
38- docs = [" sphinx" , " jinja2>=3.1.6" ]
39- lint = [" mypy>=1.4.1" , " ruff>=0.13.1" ]
40- test = [" pytest>=7.4.4" , " pytest-cov>=4.1.0" ]
41- release = [{ include-group = " build" }, { include-group = " docs" }]
40+ test = [" pytest>=8.4.2" , " pytest-cov>=7.1.0" , " python-dotenv>=1.2.1" ]
41+ release = [" build>=1.4.2" , " jinja2>=3.1.6" , " sphinx>=7.4.7" , " twine>=6.2.0" ]
42+ lint = [" basedpyright>=1.38.4" , " ruff>=0.15.8" ]
4243dev = [
4344 { include-group = " test" },
4445 { include-group = " lint" },
45- { include-group = " build" },
46- { include-group = " docs" },
46+ { include-group = " release" },
4747]
4848
4949[build-system ]
50- requires = [" setuptools" ]
50+ # setuptools v61 introduces pyproject.toml support
51+ requires = [" setuptools>=61.0.0" ]
5152build-backend = " setuptools.build_meta"
5253
5354[tool .setuptools ]
@@ -56,13 +57,32 @@ packages = ["splunklib", "splunklib.modularinput", "splunklib.searchcommands"]
5657[tool .setuptools .dynamic ]
5758version = { attr = " splunklib.__version__" }
5859
60+ [tool .basedpyright ]
61+ exclude = [" .venv" ]
62+ allowedUntypedLibraries = [" splunklib" ]
63+ reportAny = false
64+ reportExplicitAny = false
65+ reportMissingTypeStubs = false
66+ reportUnknownMemberType = false
67+ reportUnusedCallResult = false
68+
5969# https://docs.astral.sh/ruff/configuration/
6070[tool .ruff .lint ]
6171fixable = [" ALL" ]
6272select = [
63- " F" , # pyflakes
73+ " ANN" , # flake-8-annotations
74+ " C4" , # comprehensions
75+ " DOC" , # pydocstyle
6476 " E" , # pycodestyle
77+ " F" , # pyflakes
6578 " I" , # isort
66- " ANN " , # flake8 type annotations
79+ " PT " , # flake-8-pytest-rules
6780 " RUF" , # ruff-specific rules
81+ " UP" , # pyupgrade
82+ ]
83+ ignore = [
84+ " E501" , # line-length
6885]
86+
87+ [tool .ruff .lint .isort ]
88+ combine-as-imports = true
0 commit comments