fosslight-dependency 3.13.8__py3-none-any.whl → 3.14.0__py3-none-any.whl
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.
- fosslight_dependency/constant.py +1 -1
- fosslight_dependency/package_manager/Cocoapods.py +6 -3
- fosslight_dependency/package_manager/Helm.py +17 -10
- fosslight_dependency/package_manager/Npm.py +38 -23
- fosslight_dependency/package_manager/Pypi.py +31 -9
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/METADATA +1 -1
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/RECORD +14 -14
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/Apache-2.0.txt +0 -0
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/LICENSE +0 -0
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/LicenseRef-3rd_party_licenses.txt +0 -0
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/MIT.txt +0 -0
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/WHEEL +0 -0
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/entry_points.txt +0 -0
- {fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/top_level.txt +0 -0
fosslight_dependency/constant.py
CHANGED
@@ -25,7 +25,7 @@ HELM = 'helm'
|
|
25
25
|
|
26
26
|
# Supported package name and manifest file
|
27
27
|
SUPPORT_PACKAE = {
|
28
|
-
PYPI: ['requirements.txt', 'setup.py'],
|
28
|
+
PYPI: ['requirements.txt', 'setup.py', 'pyproject.toml'],
|
29
29
|
NPM: 'package.json',
|
30
30
|
MAVEN: 'pom.xml',
|
31
31
|
GRADLE: 'build.gradle',
|
@@ -86,7 +86,7 @@ class Cocoapods(PackageManager):
|
|
86
86
|
try:
|
87
87
|
comment_list = []
|
88
88
|
deps_list = []
|
89
|
-
if self.direct_dep:
|
89
|
+
if self.direct_dep and (len(self.direct_dep_list) > 0):
|
90
90
|
if pod_oss_name_origin in self.direct_dep_list:
|
91
91
|
comment_list.append('direct')
|
92
92
|
else:
|
@@ -98,10 +98,12 @@ class Cocoapods(PackageManager):
|
|
98
98
|
comment = ','.join(comment_list)
|
99
99
|
deps = ','.join(deps_list)
|
100
100
|
|
101
|
+
oss_name_report = f'{self.package_manager_name}:{pod_oss_name_origin}'
|
101
102
|
pod_oss_name = pod_oss_name_origin
|
102
103
|
if '/' in pod_oss_name_origin:
|
103
104
|
pod_oss_name = pod_oss_name_origin.split('/')[0]
|
104
105
|
if pod_oss_name in external_source_list:
|
106
|
+
oss_name_report = pod_oss_name_origin
|
105
107
|
podspec_filename = pod_oss_name + '.podspec.json'
|
106
108
|
spec_file_path = os.path.join("Pods", "Local Podspecs", podspec_filename)
|
107
109
|
else:
|
@@ -126,13 +128,14 @@ class Cocoapods(PackageManager):
|
|
126
128
|
spec_file_path = os.path.join(file_path_without_version, pod_oss_version, file_path[-1])
|
127
129
|
|
128
130
|
oss_name, oss_version, license_name, dn_loc, homepage = self.get_oss_in_podspec(spec_file_path)
|
131
|
+
if pod_oss_name in external_source_list:
|
132
|
+
homepage = dn_loc
|
129
133
|
if oss_name == '':
|
130
134
|
continue
|
131
135
|
if pod_oss_version != oss_version:
|
132
136
|
logger.warning(f'{pod_oss_name_origin} has different version({pod_oss_version})\
|
133
137
|
with spec version({oss_version})')
|
134
|
-
sheet_list.append([const.SUPPORT_PACKAE.get(self.package_manager_name),
|
135
|
-
f'{self.package_manager_name}:{pod_oss_name_origin}',
|
138
|
+
sheet_list.append([const.SUPPORT_PACKAE.get(self.package_manager_name), oss_name_report,
|
136
139
|
pod_oss_version, license_name, dn_loc, homepage, '', '', comment, deps])
|
137
140
|
except Exception as e:
|
138
141
|
logger.warning(f"Fail to get {pod_oss_name_origin}:{e}")
|
@@ -44,25 +44,32 @@ class Helm(PackageManager):
|
|
44
44
|
logger.error(f"Failed to build helm dependency: {cmd}")
|
45
45
|
ret = False
|
46
46
|
else:
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
47
|
+
if not os.path.isdir(charts_dir):
|
48
|
+
logger.warning(f"Cannot create {charts_dir} because of no dependencies in Chart.yaml. "
|
49
|
+
f"So you don't need to analyze dependency.")
|
50
|
+
return True
|
51
|
+
else:
|
52
|
+
shutil.copytree(charts_dir, self.tmp_charts_dir)
|
53
|
+
shutil.rmtree(charts_dir, ignore_errors=True)
|
54
|
+
if ret:
|
55
|
+
ret = extract_compressed_dir(self.tmp_charts_dir, self.tmp_charts_dir, False)
|
56
|
+
if not ret:
|
57
|
+
logger.error(f'Fail to extract compressed dir: {self.tmp_charts_dir}')
|
58
|
+
else:
|
59
|
+
logger.warning('Success to extract compressed dir')
|
55
60
|
|
56
61
|
return ret
|
57
62
|
|
58
63
|
def parse_oss_information(self, f_name):
|
59
64
|
dep_item_list = []
|
60
65
|
sheet_list = []
|
66
|
+
_dependencies = 'dependencies'
|
61
67
|
|
62
68
|
with open(f_name, 'r', encoding='utf8') as yaml_fp:
|
63
69
|
yaml_f = yaml.safe_load(yaml_fp)
|
64
|
-
|
65
|
-
|
70
|
+
if _dependencies in yaml_f:
|
71
|
+
for dep in yaml_f[_dependencies]:
|
72
|
+
dep_item_list.append(dep['name'])
|
66
73
|
for dep in dep_item_list:
|
67
74
|
try:
|
68
75
|
f_path = os.path.join(self.tmp_charts_dir, dep, f_name)
|
@@ -22,6 +22,7 @@ class Npm(PackageManager):
|
|
22
22
|
|
23
23
|
dn_url = 'https://www.npmjs.com/package/'
|
24
24
|
input_file_name = 'tmp_npm_license_output.json'
|
25
|
+
tmp_custom_json = 'custom.json'
|
25
26
|
flag_tmp_node_modules = False
|
26
27
|
|
27
28
|
def __init__(self, input_dir, output_dir):
|
@@ -32,6 +33,8 @@ class Npm(PackageManager):
|
|
32
33
|
os.remove(self.input_file_name)
|
33
34
|
if self.flag_tmp_node_modules:
|
34
35
|
shutil.rmtree(node_modules, ignore_errors=True)
|
36
|
+
if os.path.exists(self.tmp_custom_json):
|
37
|
+
os.remove(self.tmp_custom_json)
|
35
38
|
|
36
39
|
def run_plugin(self):
|
37
40
|
ret = self.start_license_checker()
|
@@ -39,10 +42,9 @@ class Npm(PackageManager):
|
|
39
42
|
|
40
43
|
def start_license_checker(self):
|
41
44
|
ret = True
|
42
|
-
|
43
|
-
license_checker_cmd = f'license-checker --excludePrivatePackages --production --json --out {self.input_file_name}'
|
45
|
+
license_checker_cmd = f'license-checker --production --json --out {self.input_file_name}'
|
44
46
|
custom_path_option = ' --customPath '
|
45
|
-
npm_install_cmd = 'npm install --
|
47
|
+
npm_install_cmd = 'npm install --production'
|
46
48
|
|
47
49
|
if os.path.isdir(node_modules) != 1:
|
48
50
|
logger.info(f"node_modules directory is not existed. So it executes '{npm_install_cmd}'.")
|
@@ -53,18 +55,18 @@ class Npm(PackageManager):
|
|
53
55
|
return False
|
54
56
|
|
55
57
|
# customized json file for obtaining specific items with license-checker
|
56
|
-
self.make_custom_json(tmp_custom_json)
|
58
|
+
self.make_custom_json(self.tmp_custom_json)
|
57
59
|
|
58
|
-
cmd = license_checker_cmd + custom_path_option + tmp_custom_json
|
60
|
+
cmd = license_checker_cmd + custom_path_option + self.tmp_custom_json
|
59
61
|
cmd_ret = subprocess.call(cmd, shell=True)
|
60
62
|
if cmd_ret != 0:
|
61
63
|
logger.error(f"It returns the error: {cmd}")
|
62
64
|
logger.error("Please check if the license-checker is installed.(sudo npm install -g license-checker)")
|
63
|
-
|
65
|
+
ret = False
|
64
66
|
else:
|
65
67
|
self.append_input_package_list_file(self.input_file_name)
|
66
|
-
|
67
|
-
|
68
|
+
if os.path.exists(self.tmp_custom_json):
|
69
|
+
os.remove(self.tmp_custom_json)
|
68
70
|
|
69
71
|
return ret
|
70
72
|
|
@@ -111,7 +113,7 @@ class Npm(PackageManager):
|
|
111
113
|
ret = False
|
112
114
|
if ret:
|
113
115
|
if result.returncode == 1:
|
114
|
-
logger.warning(f'
|
116
|
+
logger.warning(f"'{cmd}' returns error code: {result.stderr}")
|
115
117
|
|
116
118
|
try:
|
117
119
|
rel_json = json.loads(rel_tree)
|
@@ -119,13 +121,16 @@ class Npm(PackageManager):
|
|
119
121
|
ret = False
|
120
122
|
else:
|
121
123
|
self.package_name = f'{rel_json[_name]}({rel_json[_version]})'
|
122
|
-
|
124
|
+
if _dependencies in rel_json:
|
125
|
+
self.parse_rel_dependencies(rel_json[_name], rel_json[_version], rel_json[_dependencies])
|
123
126
|
except Exception as e:
|
124
127
|
ret = False
|
125
128
|
err_msg = e
|
126
129
|
return ret, err_msg
|
127
130
|
|
128
131
|
def parse_direct_dependencies(self):
|
132
|
+
if not self.direct_dep:
|
133
|
+
return
|
129
134
|
try:
|
130
135
|
if os.path.isfile(const.SUPPORT_PACKAE.get(self.package_manager_name)):
|
131
136
|
ret, err_msg = self.parse_transitive_relationship()
|
@@ -145,6 +150,9 @@ class Npm(PackageManager):
|
|
145
150
|
|
146
151
|
sheet_list = []
|
147
152
|
comment = ''
|
153
|
+
_licenses = 'licenses'
|
154
|
+
_repository = 'repository'
|
155
|
+
_private = 'private'
|
148
156
|
|
149
157
|
keys = [key for key in json_data]
|
150
158
|
|
@@ -153,31 +161,38 @@ class Npm(PackageManager):
|
|
153
161
|
oss_init_name = d['name']
|
154
162
|
oss_name = self.package_manager_name + ":" + oss_init_name
|
155
163
|
|
156
|
-
if d[
|
157
|
-
license_name = d[
|
164
|
+
if d[_licenses]:
|
165
|
+
license_name = d[_licenses]
|
158
166
|
else:
|
159
167
|
license_name = ''
|
160
168
|
|
161
169
|
oss_version = d['version']
|
162
170
|
package_path = d['path']
|
163
171
|
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
172
|
+
private_pkg = False
|
173
|
+
if _private in d:
|
174
|
+
if d[_private]:
|
175
|
+
private_pkg = True
|
168
176
|
|
169
177
|
homepage = self.dn_url + oss_init_name
|
178
|
+
dn_loc = f"{self.dn_url}{oss_init_name}/v/{oss_version}"
|
179
|
+
if d[_repository]:
|
180
|
+
dn_loc = d[_repository]
|
181
|
+
elif private_pkg:
|
182
|
+
dn_loc = ''
|
170
183
|
|
171
184
|
comment_list = []
|
172
185
|
deps_list = []
|
173
|
-
if
|
174
|
-
|
175
|
-
|
186
|
+
if private_pkg:
|
187
|
+
homepage = dn_loc
|
188
|
+
comment_list.append('private')
|
189
|
+
if self.package_name == f'{oss_init_name}({oss_version})':
|
190
|
+
comment_list.append('root package')
|
191
|
+
elif self.direct_dep and len(self.relation_tree) > 0:
|
192
|
+
if f'{oss_init_name}({oss_version})' in self.relation_tree[self.package_name]:
|
193
|
+
comment_list.append('direct')
|
176
194
|
else:
|
177
|
-
|
178
|
-
comment_list.append('direct')
|
179
|
-
else:
|
180
|
-
comment_list.append('transitive')
|
195
|
+
comment_list.append('transitive')
|
181
196
|
|
182
197
|
if f'{oss_init_name}({oss_version})' in self.relation_tree:
|
183
198
|
rel_items = [f'npm:{ri}' for ri in self.relation_tree[f'{oss_init_name}({oss_version})']]
|
@@ -75,10 +75,10 @@ class Pypi(PackageManager):
|
|
75
75
|
install_cmd_list = []
|
76
76
|
for manifest_file in manifest_files:
|
77
77
|
if os.path.exists(manifest_file):
|
78
|
-
if manifest_file == '
|
79
|
-
install_cmd_list.append("pip install .")
|
80
|
-
elif manifest_file == 'requirements.txt':
|
78
|
+
if manifest_file == 'requirements.txt':
|
81
79
|
install_cmd_list.append("pip install -r requirements.txt")
|
80
|
+
else:
|
81
|
+
install_cmd_list.append("pip install .")
|
82
82
|
else:
|
83
83
|
manifest_files.remove(manifest_file)
|
84
84
|
self.set_manifest_file(manifest_files)
|
@@ -237,7 +237,7 @@ class Pypi(PackageManager):
|
|
237
237
|
install_deptree_command = f"pip install {pipdeptree}"
|
238
238
|
command_list.append(install_deptree_command)
|
239
239
|
uninstall_deptree_command = f"pip uninstall -y {pipdeptree}"
|
240
|
-
pipdeptree_command = f"{pipdeptree} --
|
240
|
+
pipdeptree_command = f"{pipdeptree} --json-tree -e 'pipdeptree,pip,wheel,setuptools' > {self.tmp_deptree_file}"
|
241
241
|
command_list.append(pipdeptree_command)
|
242
242
|
command_list.append(uninstall_deptree_command)
|
243
243
|
command_list.append(deactivate_command)
|
@@ -247,8 +247,16 @@ class Pypi(PackageManager):
|
|
247
247
|
cmd_ret = subprocess.call(command, shell=True)
|
248
248
|
if cmd_ret == 0:
|
249
249
|
self.append_input_package_list_file(self.tmp_file_name)
|
250
|
+
with open(self.tmp_file_name, 'r', encoding='utf-8') as json_f:
|
251
|
+
json_data = json.load(json_f)
|
252
|
+
for d in json_data:
|
253
|
+
self.total_dep_list.append(re.sub(r"[-_.]+", "-", d['Name']).lower())
|
250
254
|
if len(pip_license_pkg_list) != 0:
|
251
255
|
self.append_input_package_list_file(self.tmp_pip_license_info_file_name)
|
256
|
+
with open(self.tmp_pip_license_info_file_name, 'r', encoding='utf-8') as json_f:
|
257
|
+
json_data = json.load(json_f)
|
258
|
+
for d in json_data:
|
259
|
+
self.total_dep_list.append(re.sub(r"[-_.]+", "-", d['Name']).lower())
|
252
260
|
else:
|
253
261
|
logger.error(f"Failed to run command: {command}")
|
254
262
|
ret = False
|
@@ -287,7 +295,9 @@ class Pypi(PackageManager):
|
|
287
295
|
|
288
296
|
comment_list = []
|
289
297
|
deps_list = []
|
290
|
-
if self.
|
298
|
+
if oss_init_name == self.package_name:
|
299
|
+
comment_list.append('root package')
|
300
|
+
elif self.direct_dep and len(self.direct_dep_list) > 0:
|
291
301
|
if f'{oss_init_name}({oss_version})' in self.direct_dep_list:
|
292
302
|
comment_list.append('direct')
|
293
303
|
else:
|
@@ -312,12 +322,12 @@ class Pypi(PackageManager):
|
|
312
322
|
deps = 'dependencies'
|
313
323
|
installed_ver = 'installed_version'
|
314
324
|
|
315
|
-
pkg_name = package[package_name]
|
325
|
+
pkg_name = re.sub(r"[-_.]+", "-", package[package_name]).lower()
|
316
326
|
pkg_ver = package[installed_ver]
|
317
327
|
dependency_list = package[deps]
|
318
328
|
dependencies[f"{pkg_name}({pkg_ver})"] = []
|
319
329
|
for dependency in dependency_list:
|
320
|
-
dep_name = dependency[package_name]
|
330
|
+
dep_name = re.sub(r"[-_.]+", "-", dependency[package_name]).lower()
|
321
331
|
dep_version = dependency[installed_ver]
|
322
332
|
dependencies[f"{pkg_name}({pkg_ver})"].append(f"{dep_name}({dep_version})")
|
323
333
|
if dependency[deps] != []:
|
@@ -332,8 +342,20 @@ class Pypi(PackageManager):
|
|
332
342
|
|
333
343
|
with open(self.tmp_deptree_file, 'r', encoding='utf8') as f:
|
334
344
|
json_f = json.load(f)
|
335
|
-
|
336
|
-
|
345
|
+
root_package = json_f
|
346
|
+
if ('pyproject.toml' in self.manifest_file_name) or ('setup.py' in self.manifest_file_name):
|
347
|
+
direct_without_system_package = 0
|
348
|
+
for package in root_package:
|
349
|
+
package_name = re.sub(r"[-_.]+", "-", package['package_name']).lower()
|
350
|
+
if package_name in self.total_dep_list:
|
351
|
+
direct_without_system_package += 1
|
352
|
+
if direct_without_system_package == 1:
|
353
|
+
self.package_name = re.sub(r"[-_.]+", "-", json_f[0]['package_name']).lower()
|
354
|
+
root_package = json_f[0]['dependencies']
|
355
|
+
|
356
|
+
for package in root_package:
|
357
|
+
package_name = re.sub(r"[-_.]+", "-", package['package_name']).lower()
|
358
|
+
self.direct_dep_list.append(f"{package_name}({package['installed_version']})")
|
337
359
|
if package['dependencies'] == []:
|
338
360
|
continue
|
339
361
|
self.relation_tree = self.get_dependencies(self.relation_tree, package)
|
@@ -2,32 +2,32 @@ fosslight_dependency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
2
2
|
fosslight_dependency/_analyze_dependency.py,sha256=5fJ-eAkGUVsAo0Eks9l40zyWNBm7HxGQMWD2bAbOWa0,3710
|
3
3
|
fosslight_dependency/_help.py,sha256=gBZfnYF8e4-WQnKa0z6zwXSRUKoIWtQyHbsvjvEFysE,2708
|
4
4
|
fosslight_dependency/_package_manager.py,sha256=BtmwTAPwH38nVMTzaMbewsYYm8xn2spmbJPoIIgYOMQ,12085
|
5
|
-
fosslight_dependency/constant.py,sha256=
|
5
|
+
fosslight_dependency/constant.py,sha256=vj3YI1e1pesUoSW0wp0t9RFHCNjoKJZ6Fv4P8EAl6hU,953
|
6
6
|
fosslight_dependency/run_dependency_scanner.py,sha256=YLCQ_6oI9usfvW0ap4nQDZoornL8LQKpjWyKRnTeY_Y,11275
|
7
7
|
fosslight_dependency/LICENSES/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
8
8
|
fosslight_dependency/LICENSES/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
|
9
9
|
fosslight_dependency/package_manager/Android.py,sha256=Up4Fv57kuqddZsD8vy5VRwQW7bNtDbqRatjP8MgzGR8,2849
|
10
10
|
fosslight_dependency/package_manager/Carthage.py,sha256=GtJxBq_3cujbZoQC2KFdFQM4cEjcK_j9bsZaxEaZu6s,6075
|
11
|
-
fosslight_dependency/package_manager/Cocoapods.py,sha256=
|
11
|
+
fosslight_dependency/package_manager/Cocoapods.py,sha256=h_W-lknWcqDPDnixSNtJig_h0J-jel6MsIrptUWiTsc,8292
|
12
12
|
fosslight_dependency/package_manager/Go.py,sha256=d3U_hRtcPWEYbT_JVHAB3jEUKLO4FodbF8hMEWS4JFM,5866
|
13
13
|
fosslight_dependency/package_manager/Gradle.py,sha256=SVWjZM5LIVSaANQlU9W0eoDKKsK9UaG8S7Xz7RoAeYQ,4062
|
14
|
-
fosslight_dependency/package_manager/Helm.py,sha256=
|
14
|
+
fosslight_dependency/package_manager/Helm.py,sha256=ZXgbtwWNgJKRUikdtFycMIwdJPu4J7vPpVvzgNLk03Q,3925
|
15
15
|
fosslight_dependency/package_manager/Maven.py,sha256=xlQXpm9Ur0DzWa5P9VesJxm-r-mQZ_hoXYWFu7oD1LA,10157
|
16
|
-
fosslight_dependency/package_manager/Npm.py,sha256=
|
16
|
+
fosslight_dependency/package_manager/Npm.py,sha256=0NUBSDBYs15H9lxqaLxh7PgxPI7ewyef8BKtVxeQg14,10495
|
17
17
|
fosslight_dependency/package_manager/Nuget.py,sha256=CzYO548zetC1YNKskUpG1gSWPGF4QrrQz77VZJ5b3Eo,8866
|
18
18
|
fosslight_dependency/package_manager/Pub.py,sha256=zRelrIAeDlLAd8uTUJzYWvLUJeOnzmGPzOx8pcMG55Y,8845
|
19
|
-
fosslight_dependency/package_manager/Pypi.py,sha256=
|
19
|
+
fosslight_dependency/package_manager/Pypi.py,sha256=kNtLhhhpd0QMgMv86KAXclbHPJbcewSp6UefKljAwUA,15321
|
20
20
|
fosslight_dependency/package_manager/Swift.py,sha256=jHWor3dZzunwZt--8rdD42vDq4Z66m9fo5xFnIw5_cQ,6453
|
21
21
|
fosslight_dependency/package_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
22
22
|
fosslight_dependency/third_party/askalono/askalono.exe,sha256=NyngElHbrg3zLFRVwn6fPDZE_EDAEb1N8tiwWoCm4pQ,4743680
|
23
23
|
fosslight_dependency/third_party/askalono/askalono_macos,sha256=cYSNXhAQpkdd8lkgnY5skNeDmU_8DIuP84eFi0OXKkE,5589868
|
24
24
|
fosslight_dependency/third_party/nomos/nomossa,sha256=oFF9I-fhug6AVNyFnWeVXwDRin6NWSvk1g7mHBotB3Q,866408
|
25
|
-
fosslight_dependency-3.
|
26
|
-
fosslight_dependency-3.
|
27
|
-
fosslight_dependency-3.
|
28
|
-
fosslight_dependency-3.
|
29
|
-
fosslight_dependency-3.
|
30
|
-
fosslight_dependency-3.
|
31
|
-
fosslight_dependency-3.
|
32
|
-
fosslight_dependency-3.
|
33
|
-
fosslight_dependency-3.
|
25
|
+
fosslight_dependency-3.14.0.dist-info/Apache-2.0.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
26
|
+
fosslight_dependency-3.14.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
27
|
+
fosslight_dependency-3.14.0.dist-info/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
|
28
|
+
fosslight_dependency-3.14.0.dist-info/METADATA,sha256=jC9CvSTt5IrvxKogfUnTNqk3DXd-OSIMgQyfY-RYjiA,4603
|
29
|
+
fosslight_dependency-3.14.0.dist-info/MIT.txt,sha256=9cx4CbArgByWvkoEZNqpzbpJgA9TUe2D62rMocQpgfs,1082
|
30
|
+
fosslight_dependency-3.14.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
31
|
+
fosslight_dependency-3.14.0.dist-info/entry_points.txt,sha256=e1QZbnCrQvfbwe9L6PxXnkRZMhl-PSo0QyUes0dGjU8,91
|
32
|
+
fosslight_dependency-3.14.0.dist-info/top_level.txt,sha256=Jc0V7VcVCH0TEM8ksb8dwroTYz4AmRaQnlr3FB71Hcs,21
|
33
|
+
fosslight_dependency-3.14.0.dist-info/RECORD,,
|
{fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/Apache-2.0.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/entry_points.txt
RENAMED
File without changes
|
{fosslight_dependency-3.13.8.dist-info → fosslight_dependency-3.14.0.dist-info}/top_level.txt
RENAMED
File without changes
|