Python
commandline
CommandLineTool
Command-line-tool

setup.pyに書くClassifiersを簡単に生成できるツールを作った

概要

Python製のライブラリやツールをPYPIにアップロードしたりするのに、setup.pyを作りますが、その中に書くClassifiersサイトから一行ずつコピー&ペーストしなければならず、とても面倒です。

なので、インタラクティブにClassifiersを選択・検索しながら簡単に生成できるコマンドラインツールを作りました。

alice1017/pypicf

asciicast

インストール

$ pip install pypicf

使い方

$ pypicf

これで起動

注意:pypicfはPython2.7で実装されていますのでPytho3では動きません。プルリク待ってます

選択

pypicfは表示された選択肢を選択することによって、生成すべきClassifierを決定します。
上下の矢印キーでスクロールして、エンターキーでClassifierを決定。

[?] What your product Development Status? ('↑', '↓':Select):
> Development Status :: 1 - Planning
  Development Status :: 2 - Pre-Alpha
  Development Status :: 3 - Alpha
  Development Status :: 4 - Beta
  Development Status :: 5 - Production/Stable
  Development Status :: 6 - Mature
  Development Status :: 7 - Inactive

チェックボックス

特定のClassifierは複数選択できるものがるので、pypicfはチェックボックスをサポートしてます。

[?] What the Programming Language you implemented?: python
[?] Please check the following checkbox ('↑', '↓':Select, '→','←':Choose):
   X Programming Language :: Python
   o Programming Language :: Python :: 2
 > X Programming Language :: Python :: 2.3
   o Programming Language :: Python :: 2.4
   o Programming Language :: Python :: 2.5
   o Programming Language :: Python :: 2.6
   o Programming Language :: Python :: 2.7
   o Programming Language :: Python :: 2 :: Only

上下の矢印キーでスクロールして、左右の矢印キーでチェックボックスをチェックします。

言葉で説明すると難しいので上記のデモを見てもらった方がわかりやすいかと思います。

生成

一通りClassifierを選択したら、以下のように生成されるので、コピーしてsetup.pyにペーストして下さい。

classifiers=[
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python",
    "Programming Language :: Python :: 2.7",
    "Programming Language :: Python :: 2 :: Only",
    "Topic :: Utilities",
]