fosslight-source 2.2.11__tar.gz → 2.2.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/MANIFEST.in +0 -1
  2. {fosslight_source-2.2.11/src/fosslight_source.egg-info → fosslight_source-2.2.13}/PKG-INFO +9 -16
  3. fosslight_source-2.2.13/pyproject.toml +58 -0
  4. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/run_scancode.py +54 -7
  5. {fosslight_source-2.2.11 → fosslight_source-2.2.13/src/fosslight_source.egg-info}/PKG-INFO +9 -16
  6. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source.egg-info/SOURCES.txt +1 -2
  7. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source.egg-info/entry_points.txt +0 -1
  8. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source.egg-info/requires.txt +3 -0
  9. fosslight_source-2.2.11/requirements.txt +0 -12
  10. fosslight_source-2.2.11/setup.py +0 -40
  11. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/LICENSE +0 -0
  12. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/README.md +0 -0
  13. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/setup.cfg +0 -0
  14. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/__init__.py +0 -0
  15. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/_help.py +0 -0
  16. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/_license_matched.py +0 -0
  17. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/_parsing_scancode_file_item.py +0 -0
  18. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/_parsing_scanoss_file.py +0 -0
  19. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/_scan_item.py +0 -0
  20. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/cli.py +0 -0
  21. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/run_manifest_extractor.py +0 -0
  22. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/run_scanoss.py +0 -0
  23. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source/run_spdx_extractor.py +0 -0
  24. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source.egg-info/dependency_links.txt +0 -0
  25. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/src/fosslight_source.egg-info/top_level.txt +0 -0
  26. {fosslight_source-2.2.11 → fosslight_source-2.2.13}/tests/test_tox.py +0 -0
@@ -1,3 +1,2 @@
1
1
  include LICENSE
2
2
  include README.md
3
- include requirements.txt
@@ -1,17 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fosslight_source
3
- Version: 2.2.11
3
+ Version: 2.2.13
4
4
  Summary: FOSSLight Source Scanner
5
- Home-page: https://github.com/fosslight/fosslight_source_scanner
6
- Download-URL: https://github.com/fosslight/fosslight_source_scanner
7
5
  Author: LG Electronics
8
- License: Apache-2.0
9
- Classifier: License :: OSI Approved :: Apache Software License
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/fosslight/fosslight_source_scanner
8
+ Project-URL: Download, https://github.com/fosslight/fosslight_source_scanner
9
+ Keywords: fosslight,scanner,license,source
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
- Requires-Python: >=3.10, <3.13
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Requires-Python: <3.15,>=3.10
15
17
  Description-Content-Type: text/markdown
16
18
  License-File: LICENSE
17
19
  Requires-Dist: setuptools<=80.10.2
@@ -26,17 +28,8 @@ Requires-Dist: fosslight_binary>=5.0.0
26
28
  Requires-Dist: scancode-toolkit>=32.0.2
27
29
  Requires-Dist: fingerprints==1.2.3
28
30
  Requires-Dist: normality==2.6.1
29
- Dynamic: author
30
- Dynamic: classifier
31
- Dynamic: description
32
- Dynamic: description-content-type
33
- Dynamic: download-url
34
- Dynamic: home-page
35
- Dynamic: license
31
+ Requires-Dist: psycopg2-binary>=2.9.10; python_version >= "3.13"
36
32
  Dynamic: license-file
37
- Dynamic: requires-dist
38
- Dynamic: requires-python
39
- Dynamic: summary
40
33
 
41
34
  <!--
42
35
  Copyright (c) 2021 LG Electronics
@@ -0,0 +1,58 @@
1
+ # Copyright (c) 2026 LG Electronics
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ [build-system]
5
+ requires = ["setuptools>=77", "wheel"]
6
+ build-backend = "setuptools.build_meta"
7
+
8
+ [project]
9
+ name = "fosslight_source"
10
+ version = "2.2.13"
11
+ description = "FOSSLight Source Scanner"
12
+ readme = "README.md"
13
+ license = "Apache-2.0"
14
+ authors = [
15
+ { name = "LG Electronics" }
16
+ ]
17
+ keywords = ["fosslight", "scanner", "license", "source"]
18
+ classifiers = [
19
+ "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Programming Language :: Python :: 3.14",
25
+ ]
26
+ requires-python = ">=3.10,<3.15"
27
+ dependencies = [
28
+ "setuptools<=80.10.2",
29
+ "pyparsing",
30
+ "scanoss>=1.19.0",
31
+ "XlsxWriter",
32
+ "fosslight_util>=2.1.37",
33
+ "PyYAML",
34
+ "wheel>=0.38.1",
35
+ "intbitset",
36
+ "fosslight_binary>=5.0.0",
37
+ "scancode-toolkit>=32.0.2",
38
+ "fingerprints==1.2.3",
39
+ "normality==2.6.1",
40
+ # Python 3.13+ needs psycopg2-binary 2.9.10+ (has wheels; 2.9.9 builds fail with _PyInterpreterState_Get)
41
+ "psycopg2-binary>=2.9.10; python_version >= '3.13'",
42
+ ]
43
+
44
+ [project.optional-dependencies]
45
+ # none for now
46
+
47
+ [project.urls]
48
+ Homepage = "https://github.com/fosslight/fosslight_source_scanner"
49
+ Download = "https://github.com/fosslight/fosslight_source_scanner"
50
+
51
+ [project.scripts]
52
+ fosslight_source = "fosslight_source.cli:main"
53
+
54
+ [tool.setuptools]
55
+ package-dir = {"" = "src"}
56
+
57
+ [tool.setuptools.packages.find]
58
+ where = ["src"]
@@ -22,6 +22,39 @@ logger = logging.getLogger(constant.LOGGER_NAME)
22
22
  warnings.filterwarnings("ignore", category=FutureWarning)
23
23
  _PKG_NAME = "fosslight_source"
24
24
 
25
+ try:
26
+ from click.core import UNSET as _CLICK_UNSET # Click >= 8.3
27
+ _HAS_CLICK_UNSET = True
28
+ except ImportError: # pragma: no cover
29
+ _CLICK_UNSET = None
30
+ _HAS_CLICK_UNSET = False
31
+
32
+
33
+ def _apply_scancode_unset_workaround(kwargs: dict) -> None:
34
+ """
35
+ Click 8.3+ uses UNSET for optional multi-value plugin defaults. Those values
36
+ are truthy, so plugins like --facet run with UNSET and crash (not iterable).
37
+ Replace UNSET defaults with () or None before cli.run_scan().
38
+ """
39
+ try:
40
+ for opt in cli.plugin_options:
41
+ if opt.name in kwargs:
42
+ continue
43
+ default = getattr(opt, "default", None)
44
+ unset = (_HAS_CLICK_UNSET and default is _CLICK_UNSET) or (
45
+ getattr(default, "__class__", type(None)).__name__ == "Sentinel"
46
+ )
47
+ if not unset:
48
+ continue
49
+ if getattr(opt, "multiple", False):
50
+ kwargs[opt.name] = ()
51
+ elif getattr(opt, "is_flag", None):
52
+ kwargs[opt.name] = False
53
+ else:
54
+ kwargs[opt.name] = None
55
+ except Exception as ex: # pragma: no cover
56
+ logger.debug("scancode UNSET workaround skipped: %s", ex)
57
+
25
58
 
26
59
  def run_scan(
27
60
  path_to_scan: str, output_file_name: str = "",
@@ -128,13 +161,27 @@ def run_scan(
128
161
 
129
162
  total_files_to_excluded = sorted(list(set(total_files_to_excluded)))
130
163
  ignore_tuple = tuple(total_files_to_excluded)
131
- rc, results = cli.run_scan(path_to_scan, max_depth=100,
132
- strip_root=True, license=True,
133
- copyright=True, return_results=True,
134
- processes=num_cores, pretty_params=pretty_params,
135
- output_json_pp=output_json_file, only_findings=True,
136
- license_text=True, url=True, timeout=time_out,
137
- include=(), ignore=ignore_tuple)
164
+
165
+ kwargs = {
166
+ "max_depth": 100,
167
+ "strip_root": True,
168
+ "license": True,
169
+ "copyright": True,
170
+ "return_results": True,
171
+ "processes": num_cores,
172
+ "pretty_params": pretty_params,
173
+ "output_json_pp": output_json_file,
174
+ "only_findings": True,
175
+ "license_text": True,
176
+ "url": True,
177
+ "timeout": time_out,
178
+ "include": (),
179
+ "ignore": ignore_tuple
180
+ }
181
+
182
+ _apply_scancode_unset_workaround(kwargs)
183
+
184
+ rc, results = cli.run_scan(path_to_scan, **kwargs)
138
185
  if not rc:
139
186
  msg = "Source code analysis failed."
140
187
  success = False
@@ -1,17 +1,19 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fosslight_source
3
- Version: 2.2.11
3
+ Version: 2.2.13
4
4
  Summary: FOSSLight Source Scanner
5
- Home-page: https://github.com/fosslight/fosslight_source_scanner
6
- Download-URL: https://github.com/fosslight/fosslight_source_scanner
7
5
  Author: LG Electronics
8
- License: Apache-2.0
9
- Classifier: License :: OSI Approved :: Apache Software License
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/fosslight/fosslight_source_scanner
8
+ Project-URL: Download, https://github.com/fosslight/fosslight_source_scanner
9
+ Keywords: fosslight,scanner,license,source
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
- Requires-Python: >=3.10, <3.13
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Requires-Python: <3.15,>=3.10
15
17
  Description-Content-Type: text/markdown
16
18
  License-File: LICENSE
17
19
  Requires-Dist: setuptools<=80.10.2
@@ -26,17 +28,8 @@ Requires-Dist: fosslight_binary>=5.0.0
26
28
  Requires-Dist: scancode-toolkit>=32.0.2
27
29
  Requires-Dist: fingerprints==1.2.3
28
30
  Requires-Dist: normality==2.6.1
29
- Dynamic: author
30
- Dynamic: classifier
31
- Dynamic: description
32
- Dynamic: description-content-type
33
- Dynamic: download-url
34
- Dynamic: home-page
35
- Dynamic: license
31
+ Requires-Dist: psycopg2-binary>=2.9.10; python_version >= "3.13"
36
32
  Dynamic: license-file
37
- Dynamic: requires-dist
38
- Dynamic: requires-python
39
- Dynamic: summary
40
33
 
41
34
  <!--
42
35
  Copyright (c) 2021 LG Electronics
@@ -1,8 +1,7 @@
1
1
  LICENSE
2
2
  MANIFEST.in
3
3
  README.md
4
- requirements.txt
5
- setup.py
4
+ pyproject.toml
6
5
  src/fosslight_source/__init__.py
7
6
  src/fosslight_source/_help.py
8
7
  src/fosslight_source/_license_matched.py
@@ -1,3 +1,2 @@
1
1
  [console_scripts]
2
2
  fosslight_source = fosslight_source.cli:main
3
- run_scancode = fosslight_source.run_scancode:main
@@ -10,3 +10,6 @@ fosslight_binary>=5.0.0
10
10
  scancode-toolkit>=32.0.2
11
11
  fingerprints==1.2.3
12
12
  normality==2.6.1
13
+
14
+ [:python_version >= "3.13"]
15
+ psycopg2-binary>=2.9.10
@@ -1,12 +0,0 @@
1
- setuptools<=80.10.2
2
- pyparsing
3
- scanoss>=1.19.0
4
- XlsxWriter
5
- fosslight_util>=2.1.37
6
- PyYAML
7
- wheel>=0.38.1
8
- intbitset
9
- fosslight_binary>=5.0.0
10
- scancode-toolkit>=32.0.2
11
- fingerprints==1.2.3
12
- normality==2.6.1
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
- # Copyright (c) 2021 LG Electronics
4
- # SPDX-License-Identifier: Apache-2.0
5
- from codecs import open
6
- from setuptools import setup, find_packages
7
-
8
- with open('README.md', 'r', 'utf-8') as f:
9
- readme = f.read()
10
-
11
- with open('requirements.txt', 'r', 'utf-8') as f:
12
- required = f.read().splitlines()
13
-
14
- if __name__ == "__main__":
15
- setup(
16
- name='fosslight_source',
17
- version='2.2.11',
18
- package_dir={"": "src"},
19
- packages=find_packages(where='src'),
20
- description='FOSSLight Source Scanner',
21
- long_description=readme,
22
- long_description_content_type='text/markdown',
23
- license='Apache-2.0',
24
- author='LG Electronics',
25
- url='https://github.com/fosslight/fosslight_source_scanner',
26
- download_url='https://github.com/fosslight/fosslight_source_scanner',
27
- classifiers=['License :: OSI Approved :: Apache Software License',
28
- "Programming Language :: Python :: 3",
29
- "Programming Language :: Python :: 3.10",
30
- "Programming Language :: Python :: 3.11",
31
- "Programming Language :: Python :: 3.12", ],
32
- python_requires=">=3.10, <3.13",
33
- install_requires=required,
34
- entry_points={
35
- "console_scripts": [
36
- "fosslight_source = fosslight_source.cli:main",
37
- "run_scancode = fosslight_source.run_scancode:main"
38
- ]
39
- }
40
- )