blob: aff57e36b249914b7deb955a9070d198c835db73 [file] [log] [blame]
[build-system]
requires = ["setuptools>=61.2", "setuptools_scm[toml]>=3.4.3"]
build-backend = "setuptools.build_meta"
[project]
name = "spdx-tools"
authors = [{ name = "Ahmed H. Ismail", email = "ahm3d.hisham@gmail.com" }]
maintainers = [
{ name = "Philippe Ombredanne", email = "pombredanne@gmail.com" },
{ name = "SPDX group at the Linux Foundation and others" },
]
license = { text = "Apache-2.0" }
description = "SPDX parser and tools."
readme = "README.md"
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]
urls = { Homepage = "https://github.com/spdx/tools-python" }
requires-python = ">=3.7"
dependencies = ["click", "pyyaml", "xmltodict", "rdflib", "beartype", "uritools", "license_expression", "ply", "semantic_version"]
dynamic = ["version"]
[project.optional-dependencies]
test = ["pytest", "pyshacl", "tzdata"]
code_style = ["isort", "black", "flake8"]
graph_generation = ["pygraphviz", "networkx"]
development = ["black", "flake8", "isort", "networkx", "pytest"]
[project.scripts]
pyspdxtools = "spdx_tools.spdx.clitools.pyspdxtools:main"
pyspdxtools3 = "spdx_tools.spdx3.clitools.pyspdxtools3:main"
[tool.setuptools]
zip-safe = false # because of the uses of __file__: https://github.com/spdx/tools-python/issues/257
include-package-data = true
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
"*" = ["py.typed"]
# the default git describe resolves to the tag `python3.6` because the current release tag is not on main
# by adding "v" the command resolves to the alpha release of 0.7.0 which leads to the desired name spdx-tools-0.7.0
[tool.setuptools_scm]
git_describe_command = ["git", "describe", "--dirty", "--tags", "--long", "--match", "v[0-9]*"]
[tool.aliases]
release = "clean --all sdist --formats=gztar bdist_wheel"
[tool.black]
line-length = 119
include = "(^/src/.*.py|^/tests/.*.py)"
[tool.isort]
profile = "black"
line_length = 119
skip = ["__init__.py"]
[tool.pytest.ini_options]
norecursedirs = [] # overwrite the default to not skip tests/build folder which is needed in spdx3