You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

flict

Package Overview
Dependencies
Maintainers
2
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flict - pypi Package Compare versions

Comparing version
1.2.8
to
1.2.9
+2
-2
flict.egg-info/PKG-INFO
Metadata-Version: 2.1
Name: flict
Version: 1.2.8
Version: 1.2.9
Summary: FOSS License Compatibility Tool

@@ -8,3 +8,3 @@ Home-page: https://github.com/vinland-technology/flict

Author-email: hesa@sandklef.com
License: UNKNOWN
License: GPL-3.0-or-later
Platform: UNKNOWN

@@ -11,0 +11,0 @@ Classifier: Development Status :: 4 - Beta

@@ -30,3 +30,3 @@ foss-flame~=0.19

flake8-quotes~=3.4
flake8-requirements~=2.0
flake8-requirements~=2.1
flake8-string-format~=0.3

@@ -33,0 +33,0 @@ flake8-variables-names==0.0.6

@@ -81,2 +81,4 @@ # SPDX-FileCopyrightText: 2021 Henrik Sandklef

commmon_defaults_group.add_argument('--licenses-allowed-file', '-laf', type=str, dest='licenses_allowed_file', help='', default=None)
commmon_defaults_group.add_argument('--licenses-preference-file', '-lpf', type=str, dest='licenses_preference_file', help='', default=None)

@@ -83,0 +85,0 @@

@@ -19,3 +19,3 @@ # SPDX-FileCopyrightText: 2022 Henrik Sandklef

def __init__(self, license_db=None, licenses_preferences=None, denied_licenses=None, update_dual=True):
def __init__(self, license_db=None, licenses_preferences=None, denied_licenses=None, allowed_licenses=None, update_dual=True):
"""Initializes Arbiter objects

@@ -26,6 +26,7 @@ Parameters:

denied_licenses: licenses that cannot be used
allowed_licenses: licenses that are the only ones to be used
"""
self.update_dual = update_dual
self.license_compatibility = LicenseCompatibilty(
license_db=license_db, licenses_preferences=licenses_preferences, denied_licenses=denied_licenses, update_dual=update_dual)
license_db=license_db, licenses_preferences=licenses_preferences, denied_licenses=denied_licenses, allowed_licenses=allowed_licenses, update_dual=update_dual)

@@ -36,2 +37,6 @@ def supported_licenses(self):

def license_allowed(self, lic):
"""Return whether or not a license is allowed"""
return self.license_compatibility.license.license_allowed(lic)
def _verify_package(self, package, licenses):

@@ -38,0 +43,0 @@ """Verifies a package's license to a list of outbounds and returns the

@@ -32,3 +32,3 @@ ###################################################################

flict_version = "1.2.8"
flict_version = "1.2.9"

@@ -35,0 +35,0 @@ SCRIPT_DIR = os.path.realpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../"))

@@ -21,4 +21,4 @@ # SPDX-FileCopyrightText: 2022 Henrik Sandklef

def __init__(self, license_db=None, licenses_preferences=None, denied_licenses=None, update_dual=True):
self.license = License(denied_licenses, update_dual)
def __init__(self, license_db=None, licenses_preferences=None, denied_licenses=None, allowed_licenses=None, update_dual=True):
self.license = License(denied_licenses, allowed_licenses, update_dual)

@@ -25,0 +25,0 @@ self.compatibility = CompatibilityFactory.get_compatibility(license_db)

@@ -26,4 +26,10 @@ # SPDX-FileCopyrightText: 2022 Henrik Sandklef

def __init__(self, denied_licenses, update_dual=True):
def __init__(self, denied_licenses, allowed_licenses, update_dual=True):
self._denied_licenses = denied_licenses
self._allowed_licenses = allowed_licenses
# Either denied or allower or none: OK
# Both: not OK, raise exception
if self._denied_licenses and self._allowed_licenses:
raise FlictError(ReturnCodes.RET_CONFLICT_LICENSE_LIST, 'You can only supply either of denied or allowed licenses, not both.')
self.parser = LicenseParserFactory.get_parser()

@@ -50,5 +56,10 @@ self.update_dual = update_dual

def allowed_licenses(self):
return self._allowed_licenses
def license_denied(self, license_):
if self._denied_licenses:
return license_ in self._denied_licenses
if self._allowed_licenses:
return license_ not in self._allowed_licenses
return False

@@ -55,0 +66,0 @@

@@ -33,2 +33,3 @@ ###################################################################

RET_INVALID_MATRIX = (14, "Invalid matrix or matrix extension")
RET_CONFLICT_LICENSE_LIST = (15, "Conflicting allowed/denied license lists")

@@ -35,0 +36,0 @@ @classmethod

@@ -44,15 +44,19 @@ ###################################################################

def suggest_outbound_candidate(self):
license_expression = self._args.license_expression
if self._args.extended_licenses:
licenses = self.arbiter.supported_licenses()
else:
licenses = self.arbiter.licenses(" ".join(self._args.license_expression))
license_expression = self.arbiter.simplify_license(" ".join(self._args.license_expression))['simplified']
licenses = self.arbiter.licenses(license_expression)
allowed_licenses = [x for x in licenses if self.arbiter.license_allowed(x)]
outbounds = []
try:
for outbound in licenses:
compats = self.arbiter.inbounds_outbound_check(outbound, self._args.license_expression)
compat_status = compats['compatibility']
if compat_status == "Yes":
for outbound in allowed_licenses:
compats = self.arbiter.inbounds_outbound_check(outbound, [license_expression])
compat = compats['compatibility'] == 'Yes'
if compat:
outbounds.append(outbound)
elif compat_status == "No":
pass

@@ -85,2 +89,3 @@ outbounds.sort()

licenses_denied_file = self._args.licenses_denied_file
licenses_allowed_file = self._args.licenses_allowed_file
licenses_preference_file = self._args.licenses_preference_file

@@ -93,2 +98,3 @@

licenses_denied = self._read_json_object(licenses_denied_file, "licenses_denied", [])
licenses_allowed = self._read_json_object(licenses_allowed_file, "licenses_allowed", [])
licenses_preferences = self._read_json_object(licenses_preference_file, "license_preferences", [])

@@ -98,2 +104,3 @@ arbiter = Arbiter(license_db=self._args.license_matrix_file,

denied_licenses=licenses_denied,
allowed_licenses=licenses_allowed,
update_dual=not self._args.no_relicense)

@@ -100,0 +107,0 @@

Metadata-Version: 2.1
Name: flict
Version: 1.2.8
Version: 1.2.9
Summary: FOSS License Compatibility Tool

@@ -8,3 +8,3 @@ Home-page: https://github.com/vinland-technology/flict

Author-email: hesa@sandklef.com
License: UNKNOWN
License: GPL-3.0-or-later
Platform: UNKNOWN

@@ -11,0 +11,0 @@ Classifier: Development Status :: 4 - Beta

@@ -25,3 +25,3 @@ bump2version ~= 1.0

flake8-quotes ~= 3.4
flake8-requirements ~= 2.0
flake8-requirements ~= 2.1
flake8-string-format ~= 0.3

@@ -28,0 +28,0 @@ flake8-variables-names == 0.0.6

@@ -28,3 +28,5 @@ # SPDX-FileCopyrightText: 2021 Konrad Weihmann

license_files=('LICENSE',),
license='GPL-3.0-or-later',
url="https://github.com/vinland-technology/flict",
bugtrack_url="https://github.com/vinland-technology/flict/issues",
packages=['flict', 'flict.flictlib', 'flict.flictlib.format', 'flict.flictlib.project'],

@@ -31,0 +33,0 @@ entry_points={