-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathpyproject.toml
125 lines (111 loc) · 3.37 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[project]
name = "licensecheck"
version = "2025.1.0"
description = "Output the licenses used by dependencies and check if these are compatible with the project license"
authors = [{ name = "FredHappyface" }]
requires-python = ">=3.9"
readme = "README.md"
license = "mit"
classifiers = [
"Environment :: Console",
"Environment :: MacOS X",
"Environment :: Win32 (MS Windows)",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Security",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities",
]
dependencies = [
"appdirs>=1.4.4",
"configurator>=3.2.0",
"license-expression>=30.4.1",
"loguru>=0.7.3",
"markdown>=3.7",
"packaging>=24.2",
"requests>=2.32.3",
"requests-cache>=1.2.1",
"requirements-parser>=0.11.0",
"rich>=13.9.4",
"tomli>=2.2.1",
"uv>=0.6.8",
]
[project.urls]
Homepage = "https://github.com/FHPythonUtils/LicenseCheck"
Repository = "https://github.com/FHPythonUtils/LicenseCheck"
Documentation = "https://github.com/FHPythonUtils/LicenseCheck/blob/master/README.md"
[project.scripts]
licensecheck = "licensecheck:cli"
[dependency-groups]
dev = [
"coverage>=7.6.12",
"handsdown>=2.1.0",
"pyright>=1.1.396",
"pytest>=8.3.5",
"pytest-loguru>=0.4.0",
"ruff>=0.11.0",
"safety>=3.3.1",
]
[tool.ruff]
line-length = 100
indent-width = 4
target-version = "py38"
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"COM812", # enforce trailing comma
"D2", # pydocstyle formatting
"ISC001",
"N", # pep8 naming
"PLR09", # pylint refactor too many
"TCH", # type check blocks
"W191", # ignore this to allow tabs
]
fixable = ["ALL"]
[tool.ruff.lint.per-file-ignores]
"**/{tests,docs,tools}/*" = ["D", "S101", "E402", "ERA001"]
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all" # Disallow all relative imports.
[tool.ruff.format]
indent-style = "tab"
docstring-code-format = true
line-ending = "lf"
[tool.pyright]
venvPath = "."
venv = ".venv"
[tool.licensecheck]
license = "mit" # Specify the project license explicitly
format = "simple" # Output format (e.g., "json", "csv", etc.)
requirements_paths = [] # List of filenames to read from
groups = [] # List of selected groups
extras = [] # List of selected extras
file = "" # Output file (leave empty for stdout)
ignore_packages = [] # Packages/dependencies to ignore
fail_packages = [] # Packages/dependencies that cause failure
ignore_licenses = [] # Licenses to ignore
fail_licenses = [] # Licenses that cause failure
only_licenses = [] # Allowed licenses (all others will fail)
skip_dependencies = [] # Dependencies to skip (compatibility = True)
hide_output_parameters = [] # Parameters to hide from output
show_only_failing = false # Show only incompatible/failing packages
pypi_api = "https://pypi.org" # Custom PyPI API endpoint
zero = false # Return non-zero exit code for incompatible licenses (for CI/CD)
[tool.tox]
legacy_tox_ini = """
[tox]
env_list =
py313
py312
py310
py39
[testenv]
deps = pytest
commands = pytest tests
"""
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"