py-mkopensource
py-mkopensource
is a program for generating reports of the libraries
used by a Python application, in order to be in compliance with the
attribution requirements of various opensource licenses.
py-mkopensource
takes as input the dependencies generated by
pip show
, and produces a report in either JSON or markdown output.
Building
Clone the repo and run the following commands.
cd cmd/py-mkopensource
go build .
Running
py-mkopensource
requires pip
and pip-tools
.
To generate the list of dependencies from `requirements.txt, run the
following commands:
pip3 --disable-pip-version-check install -r requirements.txt
pip3 --disable-pip-version-check freeze --exclude-editable | cut -d= -f1 | xargs pip show | sed 's/^---$//' >dependenncies.txt
echo '' >>dependenncies.txt
cat dependenncies.txt | ./py-mkopensource
Command line options
Output type
Parameter --output-type
controls the output format.
--output-type=markdown
Program outputs dependency information in Markdown format.
This is the default value.
--output-type=json
Program outputs dependency information in JSON format
Application type
Parameter --application-type
controls the types of licenses that are
allowed. Logic is documented in Notion
--application-type=internal
Use this option to scan applications that run on customer machines,
like Emissary-ingress.
This is the default value.
--application-type=external
Use this option to scan applications that run on Ambassador Labs
infrastructure, like Ambassador Cloud.