fosslight-source 2.1.9__tar.gz → 2.1.11__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 (27) hide show
  1. fosslight_source-2.1.11/PKG-INFO +62 -0
  2. fosslight_source-2.1.11/requirements.txt +9 -0
  3. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/setup.py +4 -5
  4. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/_parsing_scancode_file_item.py +46 -5
  5. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/_scan_item.py +9 -3
  6. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/cli.py +0 -1
  7. fosslight_source-2.1.11/src/fosslight_source.egg-info/PKG-INFO +62 -0
  8. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source.egg-info/entry_points.txt +0 -1
  9. fosslight_source-2.1.11/src/fosslight_source.egg-info/requires.txt +9 -0
  10. fosslight_source-2.1.9/PKG-INFO +0 -63
  11. fosslight_source-2.1.9/requirements.txt +0 -12
  12. fosslight_source-2.1.9/src/fosslight_source.egg-info/PKG-INFO +0 -63
  13. fosslight_source-2.1.9/src/fosslight_source.egg-info/requires.txt +0 -16
  14. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/LICENSE +0 -0
  15. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/MANIFEST.in +0 -0
  16. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/README.md +0 -0
  17. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/setup.cfg +0 -0
  18. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/__init__.py +0 -0
  19. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/_help.py +0 -0
  20. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/_license_matched.py +0 -0
  21. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/_parsing_scanoss_file.py +0 -0
  22. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/run_scancode.py +0 -0
  23. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/run_scanoss.py +0 -0
  24. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source/run_spdx_extractor.py +0 -0
  25. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source.egg-info/SOURCES.txt +0 -0
  26. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source.egg-info/dependency_links.txt +0 -0
  27. {fosslight_source-2.1.9 → fosslight_source-2.1.11}/src/fosslight_source.egg-info/top_level.txt +0 -0
@@ -0,0 +1,62 @@
1
+ Metadata-Version: 2.1
2
+ Name: fosslight_source
3
+ Version: 2.1.11
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
+ Author: LG Electronics
8
+ License: Apache-2.0
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Python: >=3.10, <3.13
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+
18
+ <!--
19
+ Copyright (c) 2021 LG Electronics
20
+ SPDX-License-Identifier: Apache-2.0
21
+ -->
22
+ <p align='right'>
23
+ <a href="https://fosslight.org/fosslight-guide/scanner/2_source.html">
24
+ [Korean]
25
+ </a>
26
+ </p>
27
+
28
+ # FOSSLight Source Scanner
29
+
30
+ <img src="https://img.shields.io/pypi/l/fosslight_source" alt="FOSSLight Source Scanner is released under the Apache-2.0 License." /> <img src="https://img.shields.io/pypi/v/fosslight_source" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_source" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_source_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_source_scanner) [![Guide](http://img.shields.io/badge/-doc-blue?style=flat-square&logo=github&link=https://fosslight.org/fosslight-guide-en/scanner/2_source.html)](https://fosslight.org/fosslight-guide-en/scanner/2_source.html)
31
+ </p>
32
+
33
+ ```note
34
+ Detect the license for the source code.
35
+ Use Source Code Scanner and process the scanner results.
36
+ ```
37
+
38
+ **FOSSLight Source Scanner** uses source code scanners, [ScanCode][sc] and [SCANOSS][scanoss]. [ScanCode][sc] detects copyright and license phrases contained in the file and [SCANOSS][scanoss] searches OSS Name, OSS Version, download location, copyright and license information from [OSSKB][osskb]. Some files (ex- build script), binary files, directory and files in specific directories (ex-test) are excluded from the result. And removes words such as "-only" and "-old-style" from the license name to be printed. The output result is generated in spreadsheet format.
39
+
40
+
41
+ [sc]: https://github.com/nexB/scancode-toolkit
42
+ [scanoss]: https://github.com/scanoss/scanoss.py
43
+ [osskb]: https://osskb.org/
44
+
45
+
46
+ ## 📖 User Guide
47
+
48
+ We describe the user guide in the FOSSLight guide page.
49
+ Please see the [**User Guide**](https://fosslight.org/fosslight-guide-en/scanner/2_source.html) for more information on how to install and run it.
50
+
51
+
52
+ ## 👏 Contributing Guide
53
+
54
+ We always welcome your contributions.
55
+ Please see the [CONTRIBUTING guide](https://fosslight.org/hub-guide-en/contribution/1_contribution.html) for how to contribute.
56
+
57
+
58
+ ## 📄 License
59
+
60
+ FOSSLight Source Scanner is Apache-2.0, as found in the [LICENSE][l] file.
61
+
62
+ [l]: https://github.com/fosslight/fosslight_source_scanner/blob/main/LICENSE
@@ -0,0 +1,9 @@
1
+ pyparsing
2
+ scanoss>=1.18.0
3
+ XlsxWriter
4
+ fosslight_util>=2.1.10
5
+ PyYAML
6
+ wheel>=0.38.1
7
+ intbitset
8
+ fosslight_binary>=5.0.0
9
+ scancode-toolkit
@@ -14,7 +14,7 @@ with open('requirements.txt', 'r', 'utf-8') as f:
14
14
  if __name__ == "__main__":
15
15
  setup(
16
16
  name='fosslight_source',
17
- version='2.1.9',
17
+ version='2.1.11',
18
18
  package_dir={"": "src"},
19
19
  packages=find_packages(where='src'),
20
20
  description='FOSSLight Source Scanner',
@@ -26,11 +26,10 @@ if __name__ == "__main__":
26
26
  download_url='https://github.com/fosslight/fosslight_source_scanner',
27
27
  classifiers=['License :: OSI Approved :: Apache Software License',
28
28
  "Programming Language :: Python :: 3",
29
- "Programming Language :: Python :: 3.8",
30
- "Programming Language :: Python :: 3.9",
31
29
  "Programming Language :: Python :: 3.10",
32
- "Programming Language :: Python :: 3.11", ],
33
- python_requires=">=3.8",
30
+ "Programming Language :: Python :: 3.11",
31
+ "Programming Language :: Python :: 3.12", ],
32
+ python_requires=">=3.10, <3.13",
34
33
  install_requires=required,
35
34
  entry_points={
36
35
  "console_scripts": [
@@ -13,6 +13,7 @@ from ._scan_item import is_exclude_dir
13
13
  from ._scan_item import is_exclude_file
14
14
  from ._scan_item import replace_word
15
15
  from ._scan_item import is_notice_file
16
+ from ._scan_item import is_manifest_file
16
17
  from typing import Tuple
17
18
 
18
19
  logger = logging.getLogger(constant.LOGGER_NAME)
@@ -29,6 +30,27 @@ KEYWORD_SCANCODE_UNKNOWN = "unknown-spdx"
29
30
  SPDX_REPLACE_WORDS = ["(", ")"]
30
31
  KEY_AND = r"(?<=\s)and(?=\s)"
31
32
  KEY_OR = r"(?<=\s)or(?=\s)"
33
+ GPL_LICENSE_PATTERN = r'((a|l)?gpl|gfdl)' # GPL, LGPL, AGPL, GFDL
34
+
35
+
36
+ def is_gpl_family_license(licenses: list) -> bool:
37
+ if not licenses:
38
+ return False
39
+
40
+ for license_name in licenses:
41
+ if not license_name:
42
+ continue
43
+
44
+ license_lower = license_name.lower()
45
+ if re.search(GPL_LICENSE_PATTERN, license_lower):
46
+ logger.debug(f"GPL family license detected: {license_name}")
47
+ return True
48
+
49
+ return False
50
+
51
+
52
+ def should_remove_copyright_for_gpl_license_text(licenses: list, is_license_text: bool) -> bool:
53
+ return is_license_text and is_gpl_family_license(licenses)
32
54
 
33
55
 
34
56
  def get_error_from_header(header_item: list) -> Tuple[bool, str]:
@@ -99,8 +121,6 @@ def parsing_scancode_32_earlier(scancode_file_list: list, has_error: bool = Fals
99
121
  pass
100
122
  copyright_value_list.append(copyright_data)
101
123
 
102
- result_item.copyright = copyright_value_list
103
-
104
124
  # Set the license value
105
125
  license_detected = []
106
126
  if licenses is None or licenses == "":
@@ -164,6 +184,16 @@ def parsing_scancode_32_earlier(scancode_file_list: list, has_error: bool = Fals
164
184
  if len(license_detected) > 0:
165
185
  result_item.licenses = license_detected
166
186
 
187
+ if is_manifest_file(file_path):
188
+ result_item.is_license_text = True
189
+
190
+ # Remove copyright info for license text file of GPL family
191
+ if should_remove_copyright_for_gpl_license_text(license_detected, result_item.is_license_text):
192
+ logger.debug(f"Removing copyright for GPL family license text file: {file_path}")
193
+ result_item.copyright = []
194
+ else:
195
+ result_item.copyright = copyright_value_list
196
+
167
197
  if len(license_expression_list) > 0:
168
198
  license_expression_list = list(
169
199
  set(license_expression_list))
@@ -223,7 +253,6 @@ def parsing_scancode_32_later(
223
253
  except Exception:
224
254
  pass
225
255
  copyright_value_list.append(copyright_data)
226
- result_item.copyright = copyright_value_list
227
256
 
228
257
  license_detected = []
229
258
  licenses = file.get("license_detections", [])
@@ -259,6 +288,20 @@ def parsing_scancode_32_later(
259
288
  license_list[lic_matched_key] = lic_info
260
289
  license_detected.append(found_lic)
261
290
  result_item.licenses = license_detected
291
+
292
+ result_item.exclude = is_exclude_file(file_path)
293
+ result_item.is_license_text = file.get("percentage_of_license_text", 0) > 90 or is_notice_file(file_path)
294
+
295
+ if is_manifest_file(file_path) and len(license_detected) > 0:
296
+ result_item.is_license_text = True
297
+
298
+ # Remove copyright info for license text file of GPL family
299
+ if should_remove_copyright_for_gpl_license_text(license_detected, result_item.is_license_text):
300
+ logger.debug(f"Removing copyright for GPL family license text file: {file_path}")
301
+ result_item.copyright = []
302
+ else:
303
+ result_item.copyright = copyright_value_list
304
+
262
305
  if len(license_detected) > 1:
263
306
  license_expression_spdx = file.get("detected_license_expression_spdx", "")
264
307
  license_expression = file.get("detected_license_expression", "")
@@ -267,8 +310,6 @@ def parsing_scancode_32_later(
267
310
  if license_expression:
268
311
  result_item.comment = license_expression
269
312
 
270
- result_item.exclude = is_exclude_file(file_path)
271
- result_item.is_license_text = file.get("percentage_of_license_text", 0) > 90 or is_notice_file(file_path)
272
313
  scancode_file_item.append(result_item)
273
314
  except Exception as ex:
274
315
  msg.append(f"Error Parsing item: {ex}")
@@ -14,6 +14,7 @@ replace_word = ["-only", "-old-style", "-or-later", "licenseref-scancode-", "lic
14
14
  _notice_filename = ['licen[cs]e[s]?', 'notice[s]?', 'legal', 'copyright[s]?', 'copying*', 'patent[s]?', 'unlicen[cs]e', 'eula',
15
15
  '[a,l]?gpl[-]?[1-3]?[.,-,_]?[0-1]?', 'mit', 'bsd[-]?[0-4]?', 'bsd[-]?[0-4][-]?clause[s]?',
16
16
  'apache[-,_]?[1-2]?[.,-,_]?[0-2]?']
17
+ _manifest_filename = [r'.*\.pom$', r'package\.json$', r'setup\.py$', r'pubspec\.yaml$', r'.*\.podspec$', r'Cargo\.toml$']
17
18
  _exclude_filename = ["changelog", "config.guess", "config.sub", "changes", "ltmain.sh",
18
19
  "configure", "configure.ac", "depcomp", "compile", "missing", "makefile"]
19
20
  _exclude_extension = [".m4", ".in", ".po"]
@@ -96,7 +97,7 @@ class SourceItem(FileItem):
96
97
  return print_rows
97
98
 
98
99
  def __eq__(self, other: object) -> bool:
99
- if type(other) == str:
100
+ if isinstance(other, str):
100
101
  return self.source_name_or_path == other
101
102
  else:
102
103
  return self.source_name_or_path == other.source_name_or_path
@@ -137,6 +138,11 @@ def is_exclude_file(file_path: str, prev_dir: str = None, prev_dir_exclude_value
137
138
 
138
139
  def is_notice_file(file_path: str) -> bool:
139
140
  pattern = r"({})(?<!w)".format("|".join(_notice_filename))
140
- file_path = file_path.lower()
141
141
  filename = os.path.basename(file_path)
142
- return bool(re.match(pattern, filename))
142
+ return bool(re.match(pattern, filename, re.IGNORECASE))
143
+
144
+
145
+ def is_manifest_file(file_path: str) -> bool:
146
+ pattern = r"({})$".format("|".join(_manifest_filename))
147
+ filename = os.path.basename(file_path)
148
+ return bool(re.match(pattern, filename, re.IGNORECASE))
@@ -43,7 +43,6 @@ RESULT_KEY = "Scan Result"
43
43
 
44
44
 
45
45
  def main() -> None:
46
- global logger
47
46
  _result_log = {}
48
47
 
49
48
  path_to_scan = os.getcwd()
@@ -0,0 +1,62 @@
1
+ Metadata-Version: 2.1
2
+ Name: fosslight-source
3
+ Version: 2.1.11
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
+ Author: LG Electronics
8
+ License: Apache-2.0
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Python: >=3.10, <3.13
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+
18
+ <!--
19
+ Copyright (c) 2021 LG Electronics
20
+ SPDX-License-Identifier: Apache-2.0
21
+ -->
22
+ <p align='right'>
23
+ <a href="https://fosslight.org/fosslight-guide/scanner/2_source.html">
24
+ [Korean]
25
+ </a>
26
+ </p>
27
+
28
+ # FOSSLight Source Scanner
29
+
30
+ <img src="https://img.shields.io/pypi/l/fosslight_source" alt="FOSSLight Source Scanner is released under the Apache-2.0 License." /> <img src="https://img.shields.io/pypi/v/fosslight_source" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_source" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_source_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_source_scanner) [![Guide](http://img.shields.io/badge/-doc-blue?style=flat-square&logo=github&link=https://fosslight.org/fosslight-guide-en/scanner/2_source.html)](https://fosslight.org/fosslight-guide-en/scanner/2_source.html)
31
+ </p>
32
+
33
+ ```note
34
+ Detect the license for the source code.
35
+ Use Source Code Scanner and process the scanner results.
36
+ ```
37
+
38
+ **FOSSLight Source Scanner** uses source code scanners, [ScanCode][sc] and [SCANOSS][scanoss]. [ScanCode][sc] detects copyright and license phrases contained in the file and [SCANOSS][scanoss] searches OSS Name, OSS Version, download location, copyright and license information from [OSSKB][osskb]. Some files (ex- build script), binary files, directory and files in specific directories (ex-test) are excluded from the result. And removes words such as "-only" and "-old-style" from the license name to be printed. The output result is generated in spreadsheet format.
39
+
40
+
41
+ [sc]: https://github.com/nexB/scancode-toolkit
42
+ [scanoss]: https://github.com/scanoss/scanoss.py
43
+ [osskb]: https://osskb.org/
44
+
45
+
46
+ ## 📖 User Guide
47
+
48
+ We describe the user guide in the FOSSLight guide page.
49
+ Please see the [**User Guide**](https://fosslight.org/fosslight-guide-en/scanner/2_source.html) for more information on how to install and run it.
50
+
51
+
52
+ ## 👏 Contributing Guide
53
+
54
+ We always welcome your contributions.
55
+ Please see the [CONTRIBUTING guide](https://fosslight.org/hub-guide-en/contribution/1_contribution.html) for how to contribute.
56
+
57
+
58
+ ## 📄 License
59
+
60
+ FOSSLight Source Scanner is Apache-2.0, as found in the [LICENSE][l] file.
61
+
62
+ [l]: https://github.com/fosslight/fosslight_source_scanner/blob/main/LICENSE
@@ -1,4 +1,3 @@
1
1
  [console_scripts]
2
2
  fosslight_source = fosslight_source.cli:main
3
3
  run_scancode = fosslight_source.run_scancode:main
4
-
@@ -0,0 +1,9 @@
1
+ pyparsing
2
+ scanoss>=1.18.0
3
+ XlsxWriter
4
+ fosslight_util>=2.1.10
5
+ PyYAML
6
+ wheel>=0.38.1
7
+ intbitset
8
+ fosslight_binary>=5.0.0
9
+ scancode-toolkit
@@ -1,63 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: fosslight_source
3
- Version: 2.1.9
4
- Summary: FOSSLight Source Scanner
5
- Home-page: https://github.com/fosslight/fosslight_source_scanner
6
- Author: LG Electronics
7
- License: Apache-2.0
8
- Download-URL: https://github.com/fosslight/fosslight_source_scanner
9
- Description: <!--
10
- Copyright (c) 2021 LG Electronics
11
- SPDX-License-Identifier: Apache-2.0
12
- -->
13
- <p align='right'>
14
- <a href="https://fosslight.org/fosslight-guide/scanner/2_source.html">
15
- [Korean]
16
- </a>
17
- </p>
18
-
19
- # FOSSLight Source Scanner
20
-
21
- <img src="https://img.shields.io/pypi/l/fosslight_source" alt="FOSSLight Source Scanner is released under the Apache-2.0 License." /> <img src="https://img.shields.io/pypi/v/fosslight_source" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_source" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_source_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_source_scanner) [![Guide](http://img.shields.io/badge/-doc-blue?style=flat-square&logo=github&link=https://fosslight.org/fosslight-guide-en/scanner/2_source.html)](https://fosslight.org/fosslight-guide-en/scanner/2_source.html)
22
- </p>
23
-
24
- ```note
25
- Detect the license for the source code.
26
- Use Source Code Scanner and process the scanner results.
27
- ```
28
-
29
- **FOSSLight Source Scanner** uses source code scanners, [ScanCode][sc] and [SCANOSS][scanoss]. [ScanCode][sc] detects copyright and license phrases contained in the file and [SCANOSS][scanoss] searches OSS Name, OSS Version, download location, copyright and license information from [OSSKB][osskb]. Some files (ex- build script), binary files, directory and files in specific directories (ex-test) are excluded from the result. And removes words such as "-only" and "-old-style" from the license name to be printed. The output result is generated in spreadsheet format.
30
-
31
-
32
- [sc]: https://github.com/nexB/scancode-toolkit
33
- [scanoss]: https://github.com/scanoss/scanoss.py
34
- [osskb]: https://osskb.org/
35
-
36
-
37
- ## 📖 User Guide
38
-
39
- We describe the user guide in the FOSSLight guide page.
40
- Please see the [**User Guide**](https://fosslight.org/fosslight-guide-en/scanner/2_source.html) for more information on how to install and run it.
41
-
42
-
43
- ## 👏 Contributing Guide
44
-
45
- We always welcome your contributions.
46
- Please see the [CONTRIBUTING guide](https://fosslight.org/hub-guide-en/contribution/1_contribution.html) for how to contribute.
47
-
48
-
49
- ## 📄 License
50
-
51
- FOSSLight Source Scanner is Apache-2.0, as found in the [LICENSE][l] file.
52
-
53
- [l]: https://github.com/fosslight/fosslight_source_scanner/blob/main/LICENSE
54
-
55
- Platform: UNKNOWN
56
- Classifier: License :: OSI Approved :: Apache Software License
57
- Classifier: Programming Language :: Python :: 3
58
- Classifier: Programming Language :: Python :: 3.8
59
- Classifier: Programming Language :: Python :: 3.9
60
- Classifier: Programming Language :: Python :: 3.10
61
- Classifier: Programming Language :: Python :: 3.11
62
- Requires-Python: >=3.8
63
- Description-Content-Type: text/markdown
@@ -1,12 +0,0 @@
1
- pyparsing
2
- scanoss>=1.18.0,<=1.26.3
3
- XlsxWriter
4
- fosslight_util>=2.1.10
5
- PyYAML
6
- wheel>=0.38.1
7
- intbitset
8
- fosslight_binary>=5.0.0
9
- scancode-toolkit==32.0.*;sys_platform=="darwin"
10
- scancode-toolkit==32.2.*;sys_platform!="darwin"
11
- psycopg2-binary==2.9.9
12
- beautifulsoup4==4.12.*
@@ -1,63 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: fosslight-source
3
- Version: 2.1.9
4
- Summary: FOSSLight Source Scanner
5
- Home-page: https://github.com/fosslight/fosslight_source_scanner
6
- Author: LG Electronics
7
- License: Apache-2.0
8
- Download-URL: https://github.com/fosslight/fosslight_source_scanner
9
- Description: <!--
10
- Copyright (c) 2021 LG Electronics
11
- SPDX-License-Identifier: Apache-2.0
12
- -->
13
- <p align='right'>
14
- <a href="https://fosslight.org/fosslight-guide/scanner/2_source.html">
15
- [Korean]
16
- </a>
17
- </p>
18
-
19
- # FOSSLight Source Scanner
20
-
21
- <img src="https://img.shields.io/pypi/l/fosslight_source" alt="FOSSLight Source Scanner is released under the Apache-2.0 License." /> <img src="https://img.shields.io/pypi/v/fosslight_source" alt="Current python package version." /> <img src="https://img.shields.io/pypi/pyversions/fosslight_source" /> [![REUSE status](https://api.reuse.software/badge/github.com/fosslight/fosslight_source_scanner)](https://api.reuse.software/info/github.com/fosslight/fosslight_source_scanner) [![Guide](http://img.shields.io/badge/-doc-blue?style=flat-square&logo=github&link=https://fosslight.org/fosslight-guide-en/scanner/2_source.html)](https://fosslight.org/fosslight-guide-en/scanner/2_source.html)
22
- </p>
23
-
24
- ```note
25
- Detect the license for the source code.
26
- Use Source Code Scanner and process the scanner results.
27
- ```
28
-
29
- **FOSSLight Source Scanner** uses source code scanners, [ScanCode][sc] and [SCANOSS][scanoss]. [ScanCode][sc] detects copyright and license phrases contained in the file and [SCANOSS][scanoss] searches OSS Name, OSS Version, download location, copyright and license information from [OSSKB][osskb]. Some files (ex- build script), binary files, directory and files in specific directories (ex-test) are excluded from the result. And removes words such as "-only" and "-old-style" from the license name to be printed. The output result is generated in spreadsheet format.
30
-
31
-
32
- [sc]: https://github.com/nexB/scancode-toolkit
33
- [scanoss]: https://github.com/scanoss/scanoss.py
34
- [osskb]: https://osskb.org/
35
-
36
-
37
- ## 📖 User Guide
38
-
39
- We describe the user guide in the FOSSLight guide page.
40
- Please see the [**User Guide**](https://fosslight.org/fosslight-guide-en/scanner/2_source.html) for more information on how to install and run it.
41
-
42
-
43
- ## 👏 Contributing Guide
44
-
45
- We always welcome your contributions.
46
- Please see the [CONTRIBUTING guide](https://fosslight.org/hub-guide-en/contribution/1_contribution.html) for how to contribute.
47
-
48
-
49
- ## 📄 License
50
-
51
- FOSSLight Source Scanner is Apache-2.0, as found in the [LICENSE][l] file.
52
-
53
- [l]: https://github.com/fosslight/fosslight_source_scanner/blob/main/LICENSE
54
-
55
- Platform: UNKNOWN
56
- Classifier: License :: OSI Approved :: Apache Software License
57
- Classifier: Programming Language :: Python :: 3
58
- Classifier: Programming Language :: Python :: 3.8
59
- Classifier: Programming Language :: Python :: 3.9
60
- Classifier: Programming Language :: Python :: 3.10
61
- Classifier: Programming Language :: Python :: 3.11
62
- Requires-Python: >=3.8
63
- Description-Content-Type: text/markdown
@@ -1,16 +0,0 @@
1
- pyparsing
2
- scanoss<=1.26.3,>=1.18.0
3
- XlsxWriter
4
- fosslight_util>=2.1.10
5
- PyYAML
6
- wheel>=0.38.1
7
- intbitset
8
- fosslight_binary>=5.0.0
9
- psycopg2-binary==2.9.9
10
- beautifulsoup4==4.12.*
11
-
12
- [:sys_platform != "darwin"]
13
- scancode-toolkit==32.2.*
14
-
15
- [:sys_platform == "darwin"]
16
- scancode-toolkit==32.0.*