Page-level ads

Pythonライブラリのライセンス情報を一括出力する方法 – つまさぽ(妻のサポート)

技術

Pythonライブラリのライセンス情報を一括出力する方法

投稿日:

ws-pc-top

仕事で使っているOSSのライセンスに問題がないか確認する必要がありました。

Pythonライブラリもその対象だったのですが、数が多くて「pip list」からの「pip show [package名]」ではとてもやっていられません!

そこで、Pythonにインストールされているpackageの「package名、版数、License名、Home Page URL」を一括出力するPythonスクリプトを作成しましたので、記事に残しておきます。

ws-pc-more

Pythonスクリプト

 

仕様

pythonにインストールされているライブラリの 「Package名、版数、ライセンス名、Home Page URL」をタブ区切りで出力します。

Package名

pkg.keyから取得します。

Version

pkg.versionから取得します。

License名

METADATAまたはPKG-INFOから情報を取得します。

「License」がUNKNOWNだった場合は、「Classifier: License :: OSI Approved」から取得し、それもUNKNOWNだった場合は、「(Licence not found)」を復帰します。

Home Page URL

METADATAまたはPKG-INFOから情報を取得します。

「Home-page」がUNKNOWNだった場合は、「https://pypi.python.org/pypi/+package名」を復帰します。この場合、実際に有効なURLとは限りません。

使い方

実行結果

参考

Can pip (or setuptools, distribute etc…) list the license used by each installed package?

ws-pc-btm

ws-pc-btm-right

-技術
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Elasticsearch5.x で elasticsearch-head が cluster health: not connected となるときの対処法

Elasticsearch5.1.1 で elasticsearch-head を使おうとしたのですが、うまく動作しなかったので、その対処法を残しておきます。

Parallels Desktop から VirtualBox へ移行した際にゲストOS Windows10 で発生する共有プロファイルエラーの対処法

Parallels Desktop から VirtualBox へ移行しました。 ゲストOSのWindows10にログインするとエラーが発生しましたので、その対策を残しておきます。 有料の Paral …

VMware Fusion を使わず Parallels Desktop から VirtualBox へ移行する方法

はじめに Mac で Parallels Desktop 9 を使って Windows 32bit を動作させています。 先日OS X 10.11 EI Captian にアップグレードし、Paral …

GTX680 の ROM を書き換えて、起動時のキーコンビネーションで呼び出す機能の画面を表示できるようにした。Mac Pro 2009

先日、念願のMac Proを入手しました。 カスタマイズ性が高く、最新OS X 10.12 MacOS Sierra をインストールできるMac Pro 2009、2010、2012 はまさに今が買い …

macOS Sierra osx10.12 リカバリDVD インストールメディア作成方法

macOS Sierra のリカバリメディアをDVDで作成しようとしたところ少しハマったので、その注意点を踏まえつつリカバリDVDの作成方法を記しておきます。

ws-pc-side-top

ws-pc-side-btm