Summary
Add liccheck with an authorised-license
allowlist in setup.cfg so that CI fails if any (transitive) Python dependency carries an
unapproved license (e.g. GPL, LGPL, or ASF Category X licenses).
Motivation
- Apache Superset uses
liccheck to automatically flag problematic transitive deps
- Known issue:
certifi is MPL-2.0 (ASF Category B — allowed with attribution, not
bundled); liccheck will surface this and similar cases
- Avoids manual license audits when adding or upgrading dependencies
Proposed changes
- Add
[liccheck] section to setup.cfg (or a liccheck.ini) with:
authorized_licenses allowlist (Apache-2.0, MIT, BSD-*, ISC, Python-2.0, …)
unauthorized_licenses blocklist (GPL, LGPL, AGPL, …)
- Add
liccheck to dev/CI dependencies
- Add
make liccheck target
- Integrate into CI pipeline (fail on unapproved licenses)
- Document in
DEVELOPER_GUIDE.md
References
Summary
Add
liccheckwith an authorised-licenseallowlist in
setup.cfgso that CI fails if any (transitive) Python dependency carries anunapproved license (e.g. GPL, LGPL, or ASF Category X licenses).
Motivation
liccheckto automatically flag problematic transitive depscertifiis MPL-2.0 (ASF Category B — allowed with attribution, notbundled); liccheck will surface this and similar cases
Proposed changes
[liccheck]section tosetup.cfg(or aliccheck.ini) with:authorized_licensesallowlist (Apache-2.0, MIT, BSD-*, ISC, Python-2.0, …)unauthorized_licensesblocklist (GPL, LGPL, AGPL, …)liccheckto dev/CI dependenciesmake licchecktargetDEVELOPER_GUIDE.mdReferences