このスクリプトは設定ファイル(config.py)に登録したローカルリポジトリのパスからコマンドライン引数で指定した期間内のコミットを出力します。元々ウィークリーの作業実績を確認するためのスクリプトだったものを汎用的に使えるようにしたため、名称はweekgitとなっています。
$ uv run main.py --from 2026-01-01 --to 2026-01-31 --author gituser@hogehoge.comfromとtoは日付を指定します。- 日付は
YYYY-MM-DD形式で指定します。 - 内部で
fromには00:00:00、toには23:59:59を付加して期間としています。
- 日付は
authorはコミットを取得する作者のメールアドレスを指定します。
出力されるマークダウンのファイル名は{from}_{to}.mdとなっています。
設定ファイルはconfig.pyです。
TARGET_REPOSに取得したいリポジトリのパスを指定します。
APP_PATHにはマークダウンの出力先を指定します。
TARGET_REPOS = [
"path/to/repo",
"path/to/repo",
"path/to/repo",
]
APP_PATH = {
"OUTPUT_PATH": "./output"
}uvを使用して開発環境を構築しました。
以下のコンソール出力はこのドキュメントを書いている時点のものであり、ライブラリのバージョンを指定するものではありません。--link-mode=copyオプションも必須なものではありません。
$ uv init --app
Initialized project `weekgit`
$ uv add --link-mode=copy ruff
Using CPython 3.13.1
Creating virtual environment at: .venv
Resolved 2 packages in 832ms
Prepared 1 package in 1.41s
Installed 1 package in 160ms
+ ruff==0.14.14
$ uv add --link-mode=copy gitpython
Resolved 5 packages in 142ms
Prepared 1 package in 254ms
Installed 3 packages in 124ms
+ gitdb==4.0.12
+ gitpython==3.1.46
+ smmap==5.0.2
$ uv add --link-mode=copy click
Resolved 7 packages in 161ms
Installed 2 packages in 55ms
+ click==8.3.1
+ colorama==0.4.6MIT License