読者です 読者をやめる 読者になる 読者になる

Keep on moving

あんまりまとまってないことを書きますよ

buildoutなどなどの練習を兼ねてwebAPIのラッパークラスを書いた

python

どうもこんにちは、素振り大好きっ子です。
海外のPDFを買う時に、通貨換算にCurrency converter | Xurrencyを使っています。
このサイトwebAPIも持っていますので、近頃学習したことのまとめとして、pypiにパッケージを作成してみました。
pyXurrency 0.0.1 : Python Package Index

目的

buildout/setup.pyの書き方

以下のbuildoutを参考にさせていただいきました

bin/buildoutでテスト用のコマンドを作りたい

buildout.cfgのrecipeにpbp.recipe.noserunner
を指定する。ちなみにdefaultsにはnosetestsのコマンドラインオプションを指定可能です。
テストするときはbin/testとします。

[test]
recipe = pbp.recipe.noserunner
eggs = pyXurrency[test]
defaults =
    --verbosity=3
    --with-doctest

bin/buildoutでcoverage用のコマンドを作りたい

テストと同様にbuildout.cfgのrecipeにpbp.recipe.noserunner
を指定する。
eggsにcoverageを入れて、後はdefaultsでコマンドオプションを指定する。
↓の例ではdocs/coverge/内に結果をhtmlファイルで出力しています。

[coverage]
recipe = pbp.recipe.noserunner
eggs =
    coverage
    pyXurrency[test]
defaults =
    --verbosity=3
    --with-doctest
    --doctest-extension=txt
    --with-coverage
    --cover-package=xurrency
    --cover-html
    --cover-html-dir=${buildout:directory}/docs/coverage

coverageを取るときはbin/coverageとします。

pypiにアップロードしてみる。

ついでにpypiへのアップロードは以下のようにする。

# python setup.py sdist bdist_egg upload

↓の清水川さんの記事を熟読するとmuch better
PyPIデビュー

まとめ

一つ一つのツールはまだまだ慣れていませんが、今後も使うことで身につけていきたいと思います。
探せば英語でも日本語でもドキュメントがありますので非常にありがたいです。
先人の方々に感謝いたします。