licomp-toolkit 0.5.20__tar.gz → 0.6.3__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 (29) hide show
  1. licomp_toolkit-0.6.3/PKG-INFO +164 -0
  2. licomp_toolkit-0.6.3/README.md +110 -0
  3. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/config.py +3 -3
  4. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/toolkit.py +10 -0
  5. licomp_toolkit-0.6.3/licomp_toolkit.egg-info/PKG-INFO +164 -0
  6. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/setup.py +1 -1
  7. licomp_toolkit-0.5.20/PKG-INFO +0 -117
  8. licomp_toolkit-0.5.20/README.md +0 -90
  9. licomp_toolkit-0.5.20/licomp_toolkit.egg-info/PKG-INFO +0 -117
  10. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/LICENSES/GPL-3.0-or-later.txt +0 -0
  11. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/__init__.py +0 -0
  12. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/__main__.py +0 -0
  13. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/data/reply_schema.json +0 -0
  14. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/display_compatibility.py +0 -0
  15. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/exception.py +0 -0
  16. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/expr_parser.py +0 -0
  17. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/format.py +0 -0
  18. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/lic_expr.py +0 -0
  19. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/license_policy.py +0 -0
  20. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/return_codes.py +0 -0
  21. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/schema_checker.py +0 -0
  22. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/suggester.py +0 -0
  23. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit/utils.py +0 -0
  24. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit.egg-info/SOURCES.txt +0 -0
  25. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit.egg-info/dependency_links.txt +0 -0
  26. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit.egg-info/entry_points.txt +0 -0
  27. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit.egg-info/requires.txt +10 -10
  28. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/licomp_toolkit.egg-info/top_level.txt +0 -0
  29. {licomp_toolkit-0.5.20 → licomp_toolkit-0.6.3}/setup.cfg +0 -0
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.4
2
+ Name: licomp_toolkit
3
+ Version: 0.6.3
4
+ Summary: Simple command line tool to check compatibility between two licenses, given context
5
+ Home-page: https://codeberg.org/software-compliance-org/licomp-toolkit
6
+ Author: Henrik Sanklef
7
+ Author-email: hesa@sandklef.com
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: Legal Industry
12
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
13
+ Classifier: Natural Language :: English
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Programming Language :: Python :: 3.6
17
+ Classifier: Programming Language :: Python :: 3.7
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Topic :: Software Development :: Quality Assurance
23
+ Requires-Python: >=3.6
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSES/GPL-3.0-or-later.txt
26
+ Requires-Dist: licomp==0.5.*
27
+ Requires-Dist: licomp-osadl==0.5.*
28
+ Requires-Dist: licomp-reclicense==0.5.*
29
+ Requires-Dist: licomp-dwheeler==0.5.*
30
+ Requires-Dist: licomp-proprietary==0.5.*
31
+ Requires-Dist: licomp-hermione==0.5.*
32
+ Requires-Dist: licomp-gnuguide==0.5.*
33
+ Requires-Dist: licomp-doubleopen==0.1.*
34
+ Requires-Dist: licomp-oslc-handbook==0.1.*
35
+ Requires-Dist: foss-flame
36
+ Requires-Dist: PyYaml
37
+ Provides-Extra: dev
38
+ Requires-Dist: bump2version~=1.0; extra == "dev"
39
+ Requires-Dist: pytest; extra == "dev"
40
+ Requires-Dist: flake8; extra == "dev"
41
+ Requires-Dist: setuptools; extra == "dev"
42
+ Requires-Dist: reuse; extra == "dev"
43
+ Dynamic: author
44
+ Dynamic: author-email
45
+ Dynamic: classifier
46
+ Dynamic: description
47
+ Dynamic: description-content-type
48
+ Dynamic: home-page
49
+ Dynamic: license-file
50
+ Dynamic: provides-extra
51
+ Dynamic: requires-dist
52
+ Dynamic: requires-python
53
+ Dynamic: summary
54
+
55
+ # Licomp Toolkit
56
+
57
+ Licomp Toolkit
58
+
59
+ The licomp-toolkit is a Python-based utility designed to evaluate
60
+ license compatibility between different software components. It serves
61
+ as a bridge to multiple compatibility resources, allowing developers
62
+ and legal teams to determine if an inbound license (e.g., a library
63
+ they want to use) is legally compatible with their project's outbound
64
+ license.
65
+
66
+ ## Example question with a licomp-toolkit answer
67
+
68
+ Can I use an inbound component under license `LGPL-2.1-or-later AND Apache-2.0` to my program licensed under `BSD-3-Clause`?
69
+
70
+ ```shell
71
+ $ licomp-toolkit -of text verify --inbound-license "LGPL-2.1-or-later AND Apache-2.0" --outbound-license "BSD-3-Clause"
72
+ outbound: BSD-3-Clause
73
+ inbound: Apache-2.0 AND LGPL-2.1-or-later
74
+ resources: licomp_osadl, licomp_reclicense
75
+ provisioning: binary-distribution
76
+ usecase: library
77
+ compatibility: yes
78
+ ```
79
+ ## Introduction
80
+
81
+ Licomp can be used to help determine if an inbound license is
82
+ compatible with an outbound license. These compatibility checks need
83
+ context which is often missing in tools, resources and
84
+ discussions. The context above must be provided to licomp-toolkit. In
85
+ short the context is:
86
+
87
+ * use case - how you use the licensed component
88
+ * provisioning - how you provide the component to your user
89
+ * modification - if you have modified the component
90
+
91
+ ## Architectural overview
92
+
93
+ ![Graphical overview of Licomp Toolkit and its resources](docs/images/licomp-toolkit.png "Licomp Toolkit graphical overview")
94
+
95
+ Licomp toolkit is using the [Licomp](https://codeberg.org/software-compliance-org/licomp) api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
96
+
97
+ * [Licomp basic concepts](https://codeberg.org/software-compliance-org/licomp/#licomp-concepts)
98
+ * [Licomp reply format](https://codeberg.org/software-compliance-org/licomp/blob/main/docs/reply-format.md)
99
+
100
+ ## Licomp resources
101
+
102
+ Licomp toolkit uses the following compatibility resources using the [Licomp](https://codeberg.org/software-compliance-org/licomp) api: [licomp-hermione](https://codeberg.org/software-compliance-org/licomp-hermione), [licomp-osadl](https://codeberg.org/software-compliance-org/licomp-osadl), [licomp-proprietary](https://codeberg.org/software-compliance-org/licomp-proprietary), [licomp-reclicense](https://codeberg.org/software-compliance-org/licomp-reclicense), [licomp-dwheeler](https://codeberg.org/software-compliance-org/licomp-dwheeler) and [licomp-gnuguide](https://codeberg.org/software-compliance-org/licomp-gnuguide).
103
+
104
+ # Using Licomp Toolkit
105
+
106
+ ## Command line interface (brief intro)
107
+
108
+ If you want to check if the following is compatible:
109
+ * outbound license "MIT"
110
+ * inbound license "LGPL-2.0-or-later"
111
+
112
+ ```shell
113
+ $ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
114
+ {
115
+ "nr_valid": "1",
116
+ "yes": {
117
+ "count": 1,
118
+ "percent": 100.0
119
+ }
120
+ }
121
+ ```
122
+
123
+ In the above example, `licomp-toolkit` by default chose:
124
+ * usecase `library`- i.e. the licenses component is used as a library (e.g. linking to it)
125
+ * provisioning `binary-distribution`
126
+ * modification is not yet implemented
127
+
128
+ For more detailed guides to `licomp-toolkit`, please check out:
129
+ * [Licomp Toolkit - Command Line Guide](docs/cli-guide.md)
130
+ * [Licomp Toolkit - Reply Format](docs/reply-format.md)
131
+
132
+ ## Python module
133
+
134
+ If you want to check if the following is compatible:
135
+ * outbound license "MIT"
136
+ * inbound license "LGPL-2.0-or-later"
137
+
138
+ ```python
139
+ >>> from licomp_toolkit.toolkit import LicompToolkit
140
+ >>> licomp_toolkit = LicompToolkit()
141
+ >>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
142
+ >>> print(str(compatibilities['summary']['results']))
143
+ {'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
144
+ ```
145
+
146
+ For a more detailed guide to the `licomp-toolkit` Python api, please check out: [Licomp Toolkit - Python module](docs/python-api.md)
147
+
148
+ # License
149
+
150
+ Licomp Toolkit is released in [GPL-3.0-or-later](https://www.gnu.org/licenses/gpl-3.0.en.html)
151
+
152
+ # Installing Licomp Toolkit
153
+
154
+ See [Installing Licomp Toolkit](docs/installation.md)
155
+
156
+ # What tools use Licomp Toolkit
157
+
158
+ * [SBoM Compliance Tool](https://codeberg.org/software-compliance-org/sbom-compliance-tool)
159
+
160
+ # Sponsors
161
+
162
+ As part of [Automated FOSS License Compliance](https://codeberg.org/software-compliance-org/automated-foss-license-compliance), Licomp Toolkit is sponsored (2025-2026) by:
163
+
164
+ ![NLnet logo](https://nlnet.nl/logo/banner-160x60.png) ![NGI0Core logo](docs/images/NGI0Core_tag.png?height=50px&width=300px)
@@ -0,0 +1,110 @@
1
+ # Licomp Toolkit
2
+
3
+ Licomp Toolkit
4
+
5
+ The licomp-toolkit is a Python-based utility designed to evaluate
6
+ license compatibility between different software components. It serves
7
+ as a bridge to multiple compatibility resources, allowing developers
8
+ and legal teams to determine if an inbound license (e.g., a library
9
+ they want to use) is legally compatible with their project's outbound
10
+ license.
11
+
12
+ ## Example question with a licomp-toolkit answer
13
+
14
+ Can I use an inbound component under license `LGPL-2.1-or-later AND Apache-2.0` to my program licensed under `BSD-3-Clause`?
15
+
16
+ ```shell
17
+ $ licomp-toolkit -of text verify --inbound-license "LGPL-2.1-or-later AND Apache-2.0" --outbound-license "BSD-3-Clause"
18
+ outbound: BSD-3-Clause
19
+ inbound: Apache-2.0 AND LGPL-2.1-or-later
20
+ resources: licomp_osadl, licomp_reclicense
21
+ provisioning: binary-distribution
22
+ usecase: library
23
+ compatibility: yes
24
+ ```
25
+ ## Introduction
26
+
27
+ Licomp can be used to help determine if an inbound license is
28
+ compatible with an outbound license. These compatibility checks need
29
+ context which is often missing in tools, resources and
30
+ discussions. The context above must be provided to licomp-toolkit. In
31
+ short the context is:
32
+
33
+ * use case - how you use the licensed component
34
+ * provisioning - how you provide the component to your user
35
+ * modification - if you have modified the component
36
+
37
+ ## Architectural overview
38
+
39
+ ![Graphical overview of Licomp Toolkit and its resources](docs/images/licomp-toolkit.png "Licomp Toolkit graphical overview")
40
+
41
+ Licomp toolkit is using the [Licomp](https://codeberg.org/software-compliance-org/licomp) api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
42
+
43
+ * [Licomp basic concepts](https://codeberg.org/software-compliance-org/licomp/#licomp-concepts)
44
+ * [Licomp reply format](https://codeberg.org/software-compliance-org/licomp/blob/main/docs/reply-format.md)
45
+
46
+ ## Licomp resources
47
+
48
+ Licomp toolkit uses the following compatibility resources using the [Licomp](https://codeberg.org/software-compliance-org/licomp) api: [licomp-hermione](https://codeberg.org/software-compliance-org/licomp-hermione), [licomp-osadl](https://codeberg.org/software-compliance-org/licomp-osadl), [licomp-proprietary](https://codeberg.org/software-compliance-org/licomp-proprietary), [licomp-reclicense](https://codeberg.org/software-compliance-org/licomp-reclicense), [licomp-dwheeler](https://codeberg.org/software-compliance-org/licomp-dwheeler) and [licomp-gnuguide](https://codeberg.org/software-compliance-org/licomp-gnuguide).
49
+
50
+ # Using Licomp Toolkit
51
+
52
+ ## Command line interface (brief intro)
53
+
54
+ If you want to check if the following is compatible:
55
+ * outbound license "MIT"
56
+ * inbound license "LGPL-2.0-or-later"
57
+
58
+ ```shell
59
+ $ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
60
+ {
61
+ "nr_valid": "1",
62
+ "yes": {
63
+ "count": 1,
64
+ "percent": 100.0
65
+ }
66
+ }
67
+ ```
68
+
69
+ In the above example, `licomp-toolkit` by default chose:
70
+ * usecase `library`- i.e. the licenses component is used as a library (e.g. linking to it)
71
+ * provisioning `binary-distribution`
72
+ * modification is not yet implemented
73
+
74
+ For more detailed guides to `licomp-toolkit`, please check out:
75
+ * [Licomp Toolkit - Command Line Guide](docs/cli-guide.md)
76
+ * [Licomp Toolkit - Reply Format](docs/reply-format.md)
77
+
78
+ ## Python module
79
+
80
+ If you want to check if the following is compatible:
81
+ * outbound license "MIT"
82
+ * inbound license "LGPL-2.0-or-later"
83
+
84
+ ```python
85
+ >>> from licomp_toolkit.toolkit import LicompToolkit
86
+ >>> licomp_toolkit = LicompToolkit()
87
+ >>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
88
+ >>> print(str(compatibilities['summary']['results']))
89
+ {'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
90
+ ```
91
+
92
+ For a more detailed guide to the `licomp-toolkit` Python api, please check out: [Licomp Toolkit - Python module](docs/python-api.md)
93
+
94
+ # License
95
+
96
+ Licomp Toolkit is released in [GPL-3.0-or-later](https://www.gnu.org/licenses/gpl-3.0.en.html)
97
+
98
+ # Installing Licomp Toolkit
99
+
100
+ See [Installing Licomp Toolkit](docs/installation.md)
101
+
102
+ # What tools use Licomp Toolkit
103
+
104
+ * [SBoM Compliance Tool](https://codeberg.org/software-compliance-org/sbom-compliance-tool)
105
+
106
+ # Sponsors
107
+
108
+ As part of [Automated FOSS License Compliance](https://codeberg.org/software-compliance-org/automated-foss-license-compliance), Licomp Toolkit is sponsored (2025-2026) by:
109
+
110
+ ![NLnet logo](https://nlnet.nl/logo/banner-160x60.png) ![NGI0Core logo](docs/images/NGI0Core_tag.png?height=50px&width=300px)
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
4
 
5
- licomp_toolkit_version = '0.5.20'
5
+ licomp_toolkit_version = '0.6.3'
6
6
  my_supported_api_version = '0.5'
7
7
  licomp_toolkit_file_version = '0.5'
8
8
 
@@ -21,13 +21,13 @@ AUTHOR
21
21
  Henrik Sandklef
22
22
 
23
23
  PROJECT SITE
24
- https://github.com/hesa/licomp-toolkit
24
+ https://codeberg.org/software-compliance-org/licomp-toolkit
25
25
 
26
26
  PYPI SITE
27
27
  https://pypi.org/project/licomp-toolkit/
28
28
 
29
29
  REPORTING BUGS
30
- File a ticket at https://github.com/hesa/licomp-toolkit/issues
30
+ File a ticket at https://codeberg.org/software-compliance-org/licomp-toolkit/issues
31
31
 
32
32
  COPYRIGHT
33
33
  Copyright (c) 2024 Henrik Sandklef<hesa@sandklef.com>.
@@ -492,3 +492,13 @@ class ExpressionExpressionChecker():
492
492
  compat_object['operands'] = operands_object
493
493
 
494
494
  return compat_object
495
+
496
+ def simplify(self, compat):
497
+ return {
498
+ 'outbound': compat['outbound'],
499
+ 'inbound': compat['inbound'],
500
+ 'usecase': compat['usecase'],
501
+ 'provisioning': compat['provisioning'],
502
+ 'compatibility': compat['compatibility'],
503
+ 'resources': compat['available_resources'],
504
+ }
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.4
2
+ Name: licomp_toolkit
3
+ Version: 0.6.3
4
+ Summary: Simple command line tool to check compatibility between two licenses, given context
5
+ Home-page: https://codeberg.org/software-compliance-org/licomp-toolkit
6
+ Author: Henrik Sanklef
7
+ Author-email: hesa@sandklef.com
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: Legal Industry
12
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
13
+ Classifier: Natural Language :: English
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Programming Language :: Python :: 3.6
17
+ Classifier: Programming Language :: Python :: 3.7
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Topic :: Software Development :: Quality Assurance
23
+ Requires-Python: >=3.6
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSES/GPL-3.0-or-later.txt
26
+ Requires-Dist: licomp==0.5.*
27
+ Requires-Dist: licomp-osadl==0.5.*
28
+ Requires-Dist: licomp-reclicense==0.5.*
29
+ Requires-Dist: licomp-dwheeler==0.5.*
30
+ Requires-Dist: licomp-proprietary==0.5.*
31
+ Requires-Dist: licomp-hermione==0.5.*
32
+ Requires-Dist: licomp-gnuguide==0.5.*
33
+ Requires-Dist: licomp-doubleopen==0.1.*
34
+ Requires-Dist: licomp-oslc-handbook==0.1.*
35
+ Requires-Dist: foss-flame
36
+ Requires-Dist: PyYaml
37
+ Provides-Extra: dev
38
+ Requires-Dist: bump2version~=1.0; extra == "dev"
39
+ Requires-Dist: pytest; extra == "dev"
40
+ Requires-Dist: flake8; extra == "dev"
41
+ Requires-Dist: setuptools; extra == "dev"
42
+ Requires-Dist: reuse; extra == "dev"
43
+ Dynamic: author
44
+ Dynamic: author-email
45
+ Dynamic: classifier
46
+ Dynamic: description
47
+ Dynamic: description-content-type
48
+ Dynamic: home-page
49
+ Dynamic: license-file
50
+ Dynamic: provides-extra
51
+ Dynamic: requires-dist
52
+ Dynamic: requires-python
53
+ Dynamic: summary
54
+
55
+ # Licomp Toolkit
56
+
57
+ Licomp Toolkit
58
+
59
+ The licomp-toolkit is a Python-based utility designed to evaluate
60
+ license compatibility between different software components. It serves
61
+ as a bridge to multiple compatibility resources, allowing developers
62
+ and legal teams to determine if an inbound license (e.g., a library
63
+ they want to use) is legally compatible with their project's outbound
64
+ license.
65
+
66
+ ## Example question with a licomp-toolkit answer
67
+
68
+ Can I use an inbound component under license `LGPL-2.1-or-later AND Apache-2.0` to my program licensed under `BSD-3-Clause`?
69
+
70
+ ```shell
71
+ $ licomp-toolkit -of text verify --inbound-license "LGPL-2.1-or-later AND Apache-2.0" --outbound-license "BSD-3-Clause"
72
+ outbound: BSD-3-Clause
73
+ inbound: Apache-2.0 AND LGPL-2.1-or-later
74
+ resources: licomp_osadl, licomp_reclicense
75
+ provisioning: binary-distribution
76
+ usecase: library
77
+ compatibility: yes
78
+ ```
79
+ ## Introduction
80
+
81
+ Licomp can be used to help determine if an inbound license is
82
+ compatible with an outbound license. These compatibility checks need
83
+ context which is often missing in tools, resources and
84
+ discussions. The context above must be provided to licomp-toolkit. In
85
+ short the context is:
86
+
87
+ * use case - how you use the licensed component
88
+ * provisioning - how you provide the component to your user
89
+ * modification - if you have modified the component
90
+
91
+ ## Architectural overview
92
+
93
+ ![Graphical overview of Licomp Toolkit and its resources](docs/images/licomp-toolkit.png "Licomp Toolkit graphical overview")
94
+
95
+ Licomp toolkit is using the [Licomp](https://codeberg.org/software-compliance-org/licomp) api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
96
+
97
+ * [Licomp basic concepts](https://codeberg.org/software-compliance-org/licomp/#licomp-concepts)
98
+ * [Licomp reply format](https://codeberg.org/software-compliance-org/licomp/blob/main/docs/reply-format.md)
99
+
100
+ ## Licomp resources
101
+
102
+ Licomp toolkit uses the following compatibility resources using the [Licomp](https://codeberg.org/software-compliance-org/licomp) api: [licomp-hermione](https://codeberg.org/software-compliance-org/licomp-hermione), [licomp-osadl](https://codeberg.org/software-compliance-org/licomp-osadl), [licomp-proprietary](https://codeberg.org/software-compliance-org/licomp-proprietary), [licomp-reclicense](https://codeberg.org/software-compliance-org/licomp-reclicense), [licomp-dwheeler](https://codeberg.org/software-compliance-org/licomp-dwheeler) and [licomp-gnuguide](https://codeberg.org/software-compliance-org/licomp-gnuguide).
103
+
104
+ # Using Licomp Toolkit
105
+
106
+ ## Command line interface (brief intro)
107
+
108
+ If you want to check if the following is compatible:
109
+ * outbound license "MIT"
110
+ * inbound license "LGPL-2.0-or-later"
111
+
112
+ ```shell
113
+ $ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
114
+ {
115
+ "nr_valid": "1",
116
+ "yes": {
117
+ "count": 1,
118
+ "percent": 100.0
119
+ }
120
+ }
121
+ ```
122
+
123
+ In the above example, `licomp-toolkit` by default chose:
124
+ * usecase `library`- i.e. the licenses component is used as a library (e.g. linking to it)
125
+ * provisioning `binary-distribution`
126
+ * modification is not yet implemented
127
+
128
+ For more detailed guides to `licomp-toolkit`, please check out:
129
+ * [Licomp Toolkit - Command Line Guide](docs/cli-guide.md)
130
+ * [Licomp Toolkit - Reply Format](docs/reply-format.md)
131
+
132
+ ## Python module
133
+
134
+ If you want to check if the following is compatible:
135
+ * outbound license "MIT"
136
+ * inbound license "LGPL-2.0-or-later"
137
+
138
+ ```python
139
+ >>> from licomp_toolkit.toolkit import LicompToolkit
140
+ >>> licomp_toolkit = LicompToolkit()
141
+ >>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
142
+ >>> print(str(compatibilities['summary']['results']))
143
+ {'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
144
+ ```
145
+
146
+ For a more detailed guide to the `licomp-toolkit` Python api, please check out: [Licomp Toolkit - Python module](docs/python-api.md)
147
+
148
+ # License
149
+
150
+ Licomp Toolkit is released in [GPL-3.0-or-later](https://www.gnu.org/licenses/gpl-3.0.en.html)
151
+
152
+ # Installing Licomp Toolkit
153
+
154
+ See [Installing Licomp Toolkit](docs/installation.md)
155
+
156
+ # What tools use Licomp Toolkit
157
+
158
+ * [SBoM Compliance Tool](https://codeberg.org/software-compliance-org/sbom-compliance-tool)
159
+
160
+ # Sponsors
161
+
162
+ As part of [Automated FOSS License Compliance](https://codeberg.org/software-compliance-org/automated-foss-license-compliance), Licomp Toolkit is sponsored (2025-2026) by:
163
+
164
+ ![NLnet logo](https://nlnet.nl/logo/banner-160x60.png) ![NGI0Core logo](docs/images/NGI0Core_tag.png?height=50px&width=300px)
@@ -28,7 +28,7 @@ setuptools.setup(
28
28
  long_description=_long_description,
29
29
  long_description_content_type="text/markdown",
30
30
  license_files=('LICENSES/GPL-3.0-or-later.txt',),
31
- url="https://github.com/hesa/licomp-toolkit",
31
+ url="https://codeberg.org/software-compliance-org/licomp-toolkit",
32
32
  packages=['licomp_toolkit'],
33
33
  entry_points={
34
34
  "console_scripts": [
@@ -1,117 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: licomp_toolkit
3
- Version: 0.5.20
4
- Summary: Simple command line tool to check compatibility between two licenses, given context
5
- Home-page: https://github.com/hesa/licomp-toolkit
6
- Author: Henrik Sanklef
7
- Author-email: hesa@sandklef.com
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Environment :: Console
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Intended Audience :: Legal Industry
12
- Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
13
- Classifier: Natural Language :: English
14
- Classifier: Operating System :: POSIX :: Linux
15
- Classifier: Programming Language :: Python :: 3 :: Only
16
- Classifier: Programming Language :: Python :: 3.6
17
- Classifier: Programming Language :: Python :: 3.7
18
- Classifier: Programming Language :: Python :: 3.8
19
- Classifier: Programming Language :: Python :: 3.9
20
- Classifier: Programming Language :: Python :: 3.10
21
- Classifier: Programming Language :: Python :: 3
22
- Classifier: Topic :: Software Development :: Quality Assurance
23
- Requires-Python: >=3.6
24
- Description-Content-Type: text/markdown
25
- Provides-Extra: dev
26
- License-File: LICENSES/GPL-3.0-or-later.txt
27
-
28
- # Licomp Toolkit
29
-
30
- Licomp toolkit is a license compatiblity tool using miscellaneous
31
- available compatibility resources and provides replies from all
32
- resources.
33
-
34
- ## Introduction
35
-
36
- Licomp can be used to help determine if a license is compatible with
37
- an outbound license. These compatibility checks needs context which is
38
- often missing. The context above must be provided to
39
- licomp-toolkit. In short the context is:
40
-
41
- * use case - how you use the licensed component
42
- * provisioning - how you provide the component to your user
43
- * modification - if you have modified the component
44
-
45
- Licomp toolkit is using the [Licomp](https://github.com/hesa/licomp) api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
46
-
47
- * [Licomp basic concepts](https://github.com/hesa/licomp/#licomp-concepts)
48
- * [Licomp reply format](https://github.com/hesa/licomp/blob/main/docs/reply-format.md)
49
-
50
- ## Licomp resources
51
-
52
- Licomp toolkit uses the following compatibility resources using the [Licomp](https://github.com/hesa/licomp) api: [licomp-hermione](https://github.com/hesa/licomp-hermione), [licomp-osadl](https://github.com/hesa/licomp-osadl), [licomp-proprietary](https://github.com/hesa/licomp-proprietary), [licomp-reclicense](https://github.com/hesa/licomp-reclicense), [licomp-dwheeler](https://github.com/hesa/licomp-dwheeler) and [licomp-gnuguide](https://github.com/hesa/licomp-gnuguide).
53
-
54
- # Using Licomp Toolkit
55
-
56
- ## Command line interface (brief intro)
57
-
58
- If you want to check if the following is compatible:
59
- * outbound license "MIT"
60
- * inbound license "LGPL-2.0-or-later"
61
-
62
- ```
63
- $ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
64
- {
65
- "nr_valid": "1",
66
- "yes": {
67
- "count": 1,
68
- "percent": 100.0
69
- }
70
- }
71
- ```
72
-
73
- In the above example, `licomp-toolkit` by default chose:
74
- * usecase `library`- i.e. the licenses component is used as a library (e.g. linking to it)
75
- * provisioning `binary-distribution`
76
- * modification is not yet implemented
77
-
78
- For more detailed guides to `licomp-toolkit`, please check out:
79
- * [Licomp Toolkit - Command Line Guide](docs/cli-guide.md)
80
- * [Licomp Toolkit - Reply Format](docs/reply-format.md)
81
-
82
- ## Python module
83
-
84
- If you want to check if the following is compatible:
85
- * outbound license "MIT"
86
- * inbound license "LGPL-2.0-or-later"
87
-
88
- ```
89
- >>> from licomp_toolkit.toolkit import LicompToolkit
90
- >>> licomp_toolkit = LicompToolkit()
91
- >>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
92
- >>> print(str(compatibilities['summary']['results']))
93
- {'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
94
- ```
95
-
96
- For a more detailed guide to the `licomp-toolkit` Python api, please check out: [Licomp Toolkit - Python module](docs/python-api.md)
97
-
98
- # Installing Licomp Toolkit
99
-
100
- ## From pypi.org
101
-
102
- Licomp Toolkit is available via [pypi.org](https://pypi.org/) at: [https://pypi.org/project/licomp-toolkit/](https://pypi.org/project/licomp-toolkit/). To install, simply do the following:
103
-
104
- ```
105
- $ pip install licomp-toolkit
106
- ```
107
-
108
- ## From github
109
-
110
- Installing from github assumes you already have `pip` installed.
111
-
112
- ```
113
- $ git clone https://github.com/hesa/licomp-toolkit
114
- $ pip install -r requirements.txt
115
- $ pip install -r requirements-dev.txt
116
- $ pip install .
117
- ```
@@ -1,90 +0,0 @@
1
- # Licomp Toolkit
2
-
3
- Licomp toolkit is a license compatiblity tool using miscellaneous
4
- available compatibility resources and provides replies from all
5
- resources.
6
-
7
- ## Introduction
8
-
9
- Licomp can be used to help determine if a license is compatible with
10
- an outbound license. These compatibility checks needs context which is
11
- often missing. The context above must be provided to
12
- licomp-toolkit. In short the context is:
13
-
14
- * use case - how you use the licensed component
15
- * provisioning - how you provide the component to your user
16
- * modification - if you have modified the component
17
-
18
- Licomp toolkit is using the [Licomp](https://github.com/hesa/licomp) api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
19
-
20
- * [Licomp basic concepts](https://github.com/hesa/licomp/#licomp-concepts)
21
- * [Licomp reply format](https://github.com/hesa/licomp/blob/main/docs/reply-format.md)
22
-
23
- ## Licomp resources
24
-
25
- Licomp toolkit uses the following compatibility resources using the [Licomp](https://github.com/hesa/licomp) api: [licomp-hermione](https://github.com/hesa/licomp-hermione), [licomp-osadl](https://github.com/hesa/licomp-osadl), [licomp-proprietary](https://github.com/hesa/licomp-proprietary), [licomp-reclicense](https://github.com/hesa/licomp-reclicense), [licomp-dwheeler](https://github.com/hesa/licomp-dwheeler) and [licomp-gnuguide](https://github.com/hesa/licomp-gnuguide).
26
-
27
- # Using Licomp Toolkit
28
-
29
- ## Command line interface (brief intro)
30
-
31
- If you want to check if the following is compatible:
32
- * outbound license "MIT"
33
- * inbound license "LGPL-2.0-or-later"
34
-
35
- ```
36
- $ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
37
- {
38
- "nr_valid": "1",
39
- "yes": {
40
- "count": 1,
41
- "percent": 100.0
42
- }
43
- }
44
- ```
45
-
46
- In the above example, `licomp-toolkit` by default chose:
47
- * usecase `library`- i.e. the licenses component is used as a library (e.g. linking to it)
48
- * provisioning `binary-distribution`
49
- * modification is not yet implemented
50
-
51
- For more detailed guides to `licomp-toolkit`, please check out:
52
- * [Licomp Toolkit - Command Line Guide](docs/cli-guide.md)
53
- * [Licomp Toolkit - Reply Format](docs/reply-format.md)
54
-
55
- ## Python module
56
-
57
- If you want to check if the following is compatible:
58
- * outbound license "MIT"
59
- * inbound license "LGPL-2.0-or-later"
60
-
61
- ```
62
- >>> from licomp_toolkit.toolkit import LicompToolkit
63
- >>> licomp_toolkit = LicompToolkit()
64
- >>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
65
- >>> print(str(compatibilities['summary']['results']))
66
- {'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
67
- ```
68
-
69
- For a more detailed guide to the `licomp-toolkit` Python api, please check out: [Licomp Toolkit - Python module](docs/python-api.md)
70
-
71
- # Installing Licomp Toolkit
72
-
73
- ## From pypi.org
74
-
75
- Licomp Toolkit is available via [pypi.org](https://pypi.org/) at: [https://pypi.org/project/licomp-toolkit/](https://pypi.org/project/licomp-toolkit/). To install, simply do the following:
76
-
77
- ```
78
- $ pip install licomp-toolkit
79
- ```
80
-
81
- ## From github
82
-
83
- Installing from github assumes you already have `pip` installed.
84
-
85
- ```
86
- $ git clone https://github.com/hesa/licomp-toolkit
87
- $ pip install -r requirements.txt
88
- $ pip install -r requirements-dev.txt
89
- $ pip install .
90
- ```
@@ -1,117 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: licomp-toolkit
3
- Version: 0.5.20
4
- Summary: Simple command line tool to check compatibility between two licenses, given context
5
- Home-page: https://github.com/hesa/licomp-toolkit
6
- Author: Henrik Sanklef
7
- Author-email: hesa@sandklef.com
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Environment :: Console
10
- Classifier: Intended Audience :: Developers
11
- Classifier: Intended Audience :: Legal Industry
12
- Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
13
- Classifier: Natural Language :: English
14
- Classifier: Operating System :: POSIX :: Linux
15
- Classifier: Programming Language :: Python :: 3 :: Only
16
- Classifier: Programming Language :: Python :: 3.6
17
- Classifier: Programming Language :: Python :: 3.7
18
- Classifier: Programming Language :: Python :: 3.8
19
- Classifier: Programming Language :: Python :: 3.9
20
- Classifier: Programming Language :: Python :: 3.10
21
- Classifier: Programming Language :: Python :: 3
22
- Classifier: Topic :: Software Development :: Quality Assurance
23
- Requires-Python: >=3.6
24
- Description-Content-Type: text/markdown
25
- Provides-Extra: dev
26
- License-File: LICENSES/GPL-3.0-or-later.txt
27
-
28
- # Licomp Toolkit
29
-
30
- Licomp toolkit is a license compatiblity tool using miscellaneous
31
- available compatibility resources and provides replies from all
32
- resources.
33
-
34
- ## Introduction
35
-
36
- Licomp can be used to help determine if a license is compatible with
37
- an outbound license. These compatibility checks needs context which is
38
- often missing. The context above must be provided to
39
- licomp-toolkit. In short the context is:
40
-
41
- * use case - how you use the licensed component
42
- * provisioning - how you provide the component to your user
43
- * modification - if you have modified the component
44
-
45
- Licomp toolkit is using the [Licomp](https://github.com/hesa/licomp) api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
46
-
47
- * [Licomp basic concepts](https://github.com/hesa/licomp/#licomp-concepts)
48
- * [Licomp reply format](https://github.com/hesa/licomp/blob/main/docs/reply-format.md)
49
-
50
- ## Licomp resources
51
-
52
- Licomp toolkit uses the following compatibility resources using the [Licomp](https://github.com/hesa/licomp) api: [licomp-hermione](https://github.com/hesa/licomp-hermione), [licomp-osadl](https://github.com/hesa/licomp-osadl), [licomp-proprietary](https://github.com/hesa/licomp-proprietary), [licomp-reclicense](https://github.com/hesa/licomp-reclicense), [licomp-dwheeler](https://github.com/hesa/licomp-dwheeler) and [licomp-gnuguide](https://github.com/hesa/licomp-gnuguide).
53
-
54
- # Using Licomp Toolkit
55
-
56
- ## Command line interface (brief intro)
57
-
58
- If you want to check if the following is compatible:
59
- * outbound license "MIT"
60
- * inbound license "LGPL-2.0-or-later"
61
-
62
- ```
63
- $ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
64
- {
65
- "nr_valid": "1",
66
- "yes": {
67
- "count": 1,
68
- "percent": 100.0
69
- }
70
- }
71
- ```
72
-
73
- In the above example, `licomp-toolkit` by default chose:
74
- * usecase `library`- i.e. the licenses component is used as a library (e.g. linking to it)
75
- * provisioning `binary-distribution`
76
- * modification is not yet implemented
77
-
78
- For more detailed guides to `licomp-toolkit`, please check out:
79
- * [Licomp Toolkit - Command Line Guide](docs/cli-guide.md)
80
- * [Licomp Toolkit - Reply Format](docs/reply-format.md)
81
-
82
- ## Python module
83
-
84
- If you want to check if the following is compatible:
85
- * outbound license "MIT"
86
- * inbound license "LGPL-2.0-or-later"
87
-
88
- ```
89
- >>> from licomp_toolkit.toolkit import LicompToolkit
90
- >>> licomp_toolkit = LicompToolkit()
91
- >>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
92
- >>> print(str(compatibilities['summary']['results']))
93
- {'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
94
- ```
95
-
96
- For a more detailed guide to the `licomp-toolkit` Python api, please check out: [Licomp Toolkit - Python module](docs/python-api.md)
97
-
98
- # Installing Licomp Toolkit
99
-
100
- ## From pypi.org
101
-
102
- Licomp Toolkit is available via [pypi.org](https://pypi.org/) at: [https://pypi.org/project/licomp-toolkit/](https://pypi.org/project/licomp-toolkit/). To install, simply do the following:
103
-
104
- ```
105
- $ pip install licomp-toolkit
106
- ```
107
-
108
- ## From github
109
-
110
- Installing from github assumes you already have `pip` installed.
111
-
112
- ```
113
- $ git clone https://github.com/hesa/licomp-toolkit
114
- $ pip install -r requirements.txt
115
- $ pip install -r requirements-dev.txt
116
- $ pip install .
117
- ```
@@ -1,18 +1,18 @@
1
- PyYaml
2
- foss-flame
3
- licomp-doubleopen==0.1.*
1
+ licomp==0.5.*
2
+ licomp-osadl==0.5.*
3
+ licomp-reclicense==0.5.*
4
4
  licomp-dwheeler==0.5.*
5
- licomp-gnuguide==0.5.*
5
+ licomp-proprietary==0.5.*
6
6
  licomp-hermione==0.5.*
7
- licomp-osadl==0.5.*
7
+ licomp-gnuguide==0.5.*
8
+ licomp-doubleopen==0.1.*
8
9
  licomp-oslc-handbook==0.1.*
9
- licomp-proprietary==0.5.*
10
- licomp-reclicense==0.5.*
11
- licomp==0.5.*
10
+ foss-flame
11
+ PyYaml
12
12
 
13
13
  [dev]
14
14
  bump2version~=1.0
15
- flake8
16
15
  pytest
17
- reuse
16
+ flake8
18
17
  setuptools
18
+ reuse