Skip to content

Commit 89240b9

Browse files
committed
pre-commit and friends
1 parent 6564798 commit 89240b9

File tree

10 files changed

+74
-91
lines changed

10 files changed

+74
-91
lines changed

documentation/reference/licensecheck/cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def cli() -> None: ...
2424

2525
## main
2626

27-
[Show source in cli.py:89](../../../licensecheck/cli.py#L89)
27+
[Show source in cli.py:101](../../../licensecheck/cli.py#L101)
2828

2929
Test entry point.
3030

documentation/reference/licensecheck/get_deps.md

Lines changed: 20 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,88 +5,46 @@
55
> Auto-generated documentation for [licensecheck.get_deps](../../../licensecheck/get_deps.py) module.
66
77
- [Get Deps](#get-deps)
8-
- [getDepsWithLicenses](#getdepswithlicenses)
9-
- [getReqs](#getreqs)
8+
- [check](#check)
9+
- [resolve_requirements](#resolve_requirements)
1010

11-
## getDepsWithLicenses
11+
## check
1212

13-
[Show source in get_deps.py:75](../../../licensecheck/get_deps.py#L75)
14-
15-
Get a set of dependencies with licenses and determine license compatibility.
16-
17-
#### Arguments
18-
19-
----
20-
- `using` *str* - use requirements or poetry
21-
- `myLice` *License* - user license
22-
- `ignorePackages` *list[ucstr]* - a list of packages to ignore (compat=True)
23-
- `failPackages` *list[ucstr]* - a list of packages to fail (compat=False)
24-
- `ignoreLicenses` *list[ucstr]* - a list of licenses to ignore (skipped, compat may still be
25-
False)
26-
- `failLicenses` *list[ucstr]* - a list of licenses to fail (compat=False)
27-
- `onlyLicenses` *list[ucstr]* - a list of allowed licenses (any other license will fail)
28-
- `skipDependencies` *list[ucstr]* - a list of dependencies to skip (compat=False)
29-
30-
#### Returns
31-
32-
-------
33-
- `tuple[License,` *set[PackageInfo]]* - tuple of
34-
my package license
35-
set of updated dependencies with licenseCompat set
13+
[Show source in get_deps.py:41](../../../licensecheck/get_deps.py#L41)
3614

3715
#### Signature
3816

3917
```python
40-
def getDepsWithLicenses(
41-
using: str,
42-
myLice: License,
43-
ignorePackages: list[ucstr],
44-
failPackages: list[ucstr],
45-
ignoreLicenses: list[ucstr],
46-
failLicenses: list[ucstr],
47-
onlyLicenses: list[ucstr],
48-
skipDependencies: list[ucstr],
49-
) -> set[PackageInfo]: ...
18+
def check(
19+
requirements_paths: list[str],
20+
groups: list[str],
21+
this_license: License,
22+
ignore_packages: list[ucstr] | None = None,
23+
fail_packages: list[ucstr] | None = None,
24+
ignore_licenses: list[ucstr] | None = None,
25+
fail_licenses: list[ucstr] | None = None,
26+
only_licenses: list[ucstr] | None = None,
27+
skip_dependencies: list[ucstr] | None = None,
28+
) -> tuple[bool, set[PackageInfo]]: ...
5029
```
5130

5231
#### See also
5332

5433
- [License](./types.md#license)
5534
- [PackageInfo](./types.md#packageinfo)
56-
- [ucstr](./types.md#ucstr)
57-
58-
59-
60-
## getReqs
61-
62-
[Show source in get_deps.py:17](../../../licensecheck/get_deps.py#L17)
63-
64-
Get requirements for the end user project/ lib.
65-
66-
```python
67-
>>> getReqs("poetry")
68-
>>> getReqs("poetry:dev")
69-
>>> getReqs("requirements")
70-
>>> getReqs("requirements:requirements.txt;requirements-dev.txt")
71-
>>> getReqs("PEP631")
72-
>>> getReqs("PEP631:tests")
73-
```
7435

75-
#### Arguments
7636

77-
----
78-
- `using` *str* - use requirements, poetry or PEP631.
79-
- `skipDependencies` *list[str]* - list of dependencies to skip.
8037

81-
#### Returns
38+
## resolve_requirements
8239

83-
-------
84-
- `set[str]` - set of requirement packages
40+
[Show source in get_deps.py:15](../../../licensecheck/get_deps.py#L15)
8541

8642
#### Signature
8743

8844
```python
89-
def getReqs(using: str, skipDependencies: list[ucstr]) -> set[ucstr]: ...
45+
def resolve_requirements(
46+
requirements_paths: list[str], groups: list[str], skip_dependencies: list[ucstr]
47+
) -> set[ucstr]: ...
9048
```
9149

9250
#### See also

documentation/reference/licensecheck/resolvers/native.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
> Auto-generated documentation for [licensecheck.resolvers.native](../../../../licensecheck/resolvers/native.py) module.
66
77
- [Native](#native)
8+
- [do_get_reqs](#do_get_reqs)
89
- [get_reqs](#get_reqs)
910

10-
## get_reqs
11+
## do_get_reqs
1112

12-
[Show source in native.py:16](../../../../licensecheck/resolvers/native.py#L16)
13+
[Show source in native.py:46](../../../../licensecheck/resolvers/native.py#L46)
1314

1415
Underlying machineary to get requirements.
1516

@@ -30,7 +31,7 @@ Underlying machineary to get requirements.
3031
#### Signature
3132

3233
```python
33-
def get_reqs(
34+
def do_get_reqs(
3435
using: str,
3536
skipDependencies: list[ucstr],
3637
extras: list[str],
@@ -41,4 +42,25 @@ def get_reqs(
4142

4243
#### See also
4344

45+
- [ucstr](../types.md#ucstr)
46+
47+
48+
49+
## get_reqs
50+
51+
[Show source in native.py:17](../../../../licensecheck/resolvers/native.py#L17)
52+
53+
#### Signature
54+
55+
```python
56+
def get_reqs(
57+
skipDependencies: list[ucstr],
58+
extras: list[str],
59+
requirementsPaths: list[Path],
60+
pyproject: dict[str, Any],
61+
) -> set[ucstr]: ...
62+
```
63+
64+
#### See also
65+
4466
- [ucstr](../types.md#ucstr)

documentation/reference/licensecheck/resolvers/uv.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@
1515

1616
```python
1717
def get_reqs(
18-
using: str,
19-
skipDependencies: list[ucstr],
20-
extras: list[str],
21-
requirementsPaths: list[str],
18+
skipDependencies: list[ucstr], extras: list[str], requirementsPaths: list[str]
2219
) -> set[ucstr]: ...
2320
```
2421

licensecheck/cli.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
from dataclasses import fields
99
from pathlib import Path
1010
from sys import exit as sysexit
11-
from sys import stdout, stdin
12-
from typing import TextIO
11+
from sys import stdin, stdout
1312

1413
from fhconfparser import FHConfParser, SimpleConf
1514

@@ -123,17 +122,17 @@ def main(args: dict) -> int:
123122
simpleConf = SimpleConf(configparser, "licensecheck", args)
124123

125124
# File
126-
requirements_paths = (
127-
simpleConf.get("requirements_paths") or ["__stdin__"]
128-
)
125+
requirements_paths = simpleConf.get("requirements_paths") or ["__stdin__"]
129126
output_file = (
130127
stdout
131128
if simpleConf.get("file") is None
132129
else Path(simpleConf.get("file")).open("w", encoding="utf-8")
133130
)
134131

135132
# Get my license
136-
this_license_text = args["license"] if args.get("license") else packageinfo.getMyPackageLicense()
133+
this_license_text = (
134+
args["license"] if args.get("license") else packageinfo.getMyPackageLicense()
135+
)
137136
this_license = license_matrix.licenseType(this_license_text)[0]
138137

139138
def getFromConfig(key: str) -> list[types.ucstr]:

licensecheck/get_deps.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,11 @@
1212
from licensecheck.types import JOINS, License, PackageInfo, ucstr
1313

1414

15-
1615
def resolve_requirements(
1716
requirements_paths: list[str],
1817
groups: list[str],
1918
skip_dependencies: list[ucstr],
20-
) -> set[ucstr]:
21-
22-
19+
) -> set[ucstr]:
2320
try:
2421
return res_uv.get_reqs(
2522
skipDependencies=skip_dependencies,
@@ -52,7 +49,6 @@ def check(
5249
only_licenses: list[ucstr] | None = None,
5350
skip_dependencies: list[ucstr] | None = None,
5451
) -> tuple[bool, set[PackageInfo]]:
55-
5652
# Def values
5753
ignore_packages = ignore_packages or []
5854
fail_packages = fail_packages or []
@@ -61,7 +57,6 @@ def check(
6157
only_licenses = only_licenses or []
6258
skip_dependencies = skip_dependencies or []
6359

64-
6560
requirements = resolve_requirements(requirements_paths, groups, skip_dependencies)
6661

6762
ignoreLicensesType = license_matrix.licenseType(

licensecheck/resolvers/native.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
from pathlib import Path
77
from typing import Any
88

9+
import tomli
910
from packaging.requirements import Requirement
1011
from packaging.utils import canonicalize_name
11-
import tomli
1212

1313
from licensecheck.session import session
1414
from licensecheck.types import ucstr
@@ -20,7 +20,6 @@ def get_reqs(
2020
requirementsPaths: list[Path],
2121
pyproject: dict[str, Any],
2222
) -> set[ucstr]:
23-
2423
using = "[unknown]"
2524

2625
# determine using based on file type
@@ -35,9 +34,13 @@ def get_reqs(
3534
except tomli.TOMLDecodeError:
3635
using = "requirements"
3736

38-
39-
return do_get_reqs(using=using, skipDependencies=skipDependencies, extras=extras, pyproject=pyproject, requirementsPaths=requirementsPaths)
40-
37+
return do_get_reqs(
38+
using=using,
39+
skipDependencies=skipDependencies,
40+
extras=extras,
41+
pyproject=pyproject,
42+
requirementsPaths=requirementsPaths,
43+
)
4144

4245

4346
def do_get_reqs(

licensecheck/resolvers/uv.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ def get_reqs(
1717
extras: list[str],
1818
requirementsPaths: list[str],
1919
) -> set[ucstr]:
20-
2120
for idx, requirement in enumerate(requirementsPaths):
2221
if not Path(requirement).exists():
2322
msg = f"Could not find specification of requirements ({requirement})."

tests/test_cli.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
from __future__ import annotations
2+
13
from pathlib import Path
4+
from typing import Any
25

36
import pytest
47

@@ -19,7 +22,14 @@ def aux_file(file: str) -> str:
1922

2023

2124
test_data = [
22-
({"license": "MIT", "file": aux_file("test_main_tc1.txt"), "requirements_paths": ["pyproject.toml"]}, 0),
25+
(
26+
{
27+
"license": "MIT",
28+
"file": aux_file("test_main_tc1.txt"),
29+
"requirements_paths": ["pyproject.toml"],
30+
},
31+
0,
32+
),
2333
(
2434
{
2535
"license": "BSD",
@@ -44,7 +54,7 @@ def aux_file(file: str) -> str:
4454

4555

4656
@pytest.mark.parametrize(("args", "expected_exit_code"), test_data)
47-
def test_main(args, expected_exit_code) -> None:
57+
def test_main(args: dict[str, Any], expected_exit_code: int) -> None:
4858
exit_code = main(args)
4959
assert exit_code == expected_exit_code
5060
assert aux_get_text(args["file"]).replace(

tests/test_resolvers_uv.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def test_issue_81() -> None:
132132
requirementsPaths = [f"{THISDIR}/data/issue_81.txt"]
133133
skipDependencies = []
134134
with contextlib.suppress(Exception):
135-
deps = req_uv.get_reqs(skipDependencies, extras, requirementsPaths)
135+
_deps = req_uv.get_reqs(skipDependencies, extras, requirementsPaths)
136136
# RuntimeError: × No solution found when resolving dependencies:
137137
# ╰─▶ Because nvidia-cudnn-cu12==8.9.2.26 has no wheels with a matching
138138
# platform tag and you require nvidia-cudnn-cu12==8.9.2.26, we can

0 commit comments

Comments
 (0)