Hatch

設定

設定を表示

1 hatch config show

設定を変更

1 hatch config set template.name "Shinya Koyano"

設定を初期状態に戻す

1 hatch config restore

プロジェクトの初期化

注意、パッケージ名はすべて小文字にするのが無難。

1 hatch new 'foo'

既存のディレクトリを初期化するには次のようにした方がいいかもしれない。

1 hatch new moli5 .

実際的なコマンドラインアプリケーションのプロジェクトを初期化するにはこうだろう。

1 hatch new --cli foo .

ライセンス

CLI

コマンドラインインターフェースを導入することもできる。デフォルトでClickモジュールが使われるようだ。

1 hatch new --cli foo

__init__.py__about__.py

__init__.pyパッケージのためのファイル。

__about__.pyはHatchがバージョン管理情報を書き込むためのファイルと思われる。

メタデータの記述方法

PyPAに仕様が書かれれいるので、これを参照する。ぱっと見ではよくわからないので、一つ一つ検討する必要があるだろう。

まあ、デフォルトのままでも特に問題はないように思われる。

依存関係

pyproject.toml

1 dependencies =[
2     "cowsay",
3 ]

環境

hatchは特定のPython仮想環境を自動的にインストールして起動するようになっている。デフォルトでは現在のPythonのバージョンが用いられる。

1 hatch shell
2 exit

特定の環境で実行するには。

1 [envs.foo.scripts]
2 show = 'echo "hello."'

そしてhatch run foo:show

バージョン(管理)

tool.hatch.versionで指定したファイルからバージョンを読み込む。

hatch veersion "0.0.2"のように、コマンドでバージョンを更新できる(ファイルに書き込まれる)。

フォーマットと静的解析

1 hatch fmt

テスト

デフォルトでpytestが使われるようだ。

1 # tests/test_1.py
2 
3 import moli2.foo
4 
5 def test_add3():
6     assert moli2.foo.add3(2) == 5
1 hatch test

ビルド

1 hatch build

src/project/以下のファイルがwheelに含まれると思うのだが、よくわからない。

公開

まず、TestPyPIに公開するにはこうする。

APIトークンを使う場合は、ユーザー名は__token__として、パスワードにAPIトークンを設定する。

1 hatch publish -r test

キャッシュの削除

hatchを使用すると__pycache__/.pytest_cache/などのディレクトリが作られる。これらがあるとreuse lintでもgitでも問題になる。おそらく解決策はgit cleanで、あらかじめ削除しておくことだろう。(.gitignoreに記述しておくとなおよいだろう)。ただ、まだ試してはいない。