git-goose 0.3.2__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- git_goose-0.5.0/.github/workflows/run.yaml +34 -0
- git_goose-0.5.0/.goose/python/manifest.json +1 -0
- git_goose-0.5.0/.goose/python/requirements.txt +25 -0
- git_goose-0.5.0/.goose/type-check/manifest.json +1 -0
- git_goose-0.5.0/.goose/type-check/requirements.txt +162 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/Makefile +1 -1
- {git_goose-0.3.2 → git_goose-0.5.0}/PKG-INFO +55 -10
- {git_goose-0.3.2 → git_goose-0.5.0}/README.md +53 -9
- {git_goose-0.3.2 → git_goose-0.5.0}/goose.yaml +5 -5
- {git_goose-0.3.2 → git_goose-0.5.0}/pyproject.toml +3 -5
- {git_goose-0.3.2 → git_goose-0.5.0}/requirements.txt +23 -3
- {git_goose-0.3.2 → git_goose-0.5.0}/src/git_goose.egg-info/PKG-INFO +55 -10
- {git_goose-0.3.2 → git_goose-0.5.0}/src/git_goose.egg-info/SOURCES.txt +2 -0
- git_goose-0.5.0/src/git_goose.egg-info/entry_points.txt +2 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/git_goose.egg-info/requires.txt +1 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/__main__.py +1 -1
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/_version.py +2 -2
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/asyncio.py +1 -6
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/backend/python.py +33 -21
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/manifest.py +3 -7
- git_goose-0.3.2/.goose/python/manifest.json +0 -1
- git_goose-0.3.2/.goose/python/requirements.txt +0 -25
- git_goose-0.3.2/.goose/type-check/manifest.json +0 -1
- git_goose-0.3.2/.goose/type-check/requirements.txt +0 -162
- {git_goose-0.3.2 → git_goose-0.5.0}/.dockerignore +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.editorconfig +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.github/dependabot.yml +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.github/workflows/ci.yaml +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.github/workflows/release.yaml +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.gitignore +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.goose/node/manifest.json +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.goose/node/package-lock.json +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/.goose/node/package.json +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/Dockerfile +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/LICENSE +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/ruff.toml +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/setup.cfg +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/git_goose.egg-info/dependency_links.txt +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/git_goose.egg-info/top_level.txt +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/__init__.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/_utils/__init__.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/_utils/pydantic.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/backend/__init__.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/backend/base.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/backend/index.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/backend/node.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/config.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/context.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/environment.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/executable_unit.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/filter.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/git/__init__.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/git/shared.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/git/status.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/orphan_environments.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/parallel.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/paths.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/process.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/py.typed +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/scheduler.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/src/goose/targets.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/tests/__init__.py +0 -0
- {git_goose-0.3.2 → git_goose-0.5.0}/tests/test_targets.py +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# This is a reusable workflow that's meant to be the canonical way of running goose in
|
|
2
|
+
# Github Actions workflows. See README for an example of how to use this in your
|
|
3
|
+
# workflows.
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
workflow_call: {}
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
PYTHON_VERSION: "3.13"
|
|
10
|
+
COLUMNS: "120"
|
|
11
|
+
FORCE_COLOR: "1"
|
|
12
|
+
PYTHONUNBUFFERED: "1"
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
goose-run:
|
|
16
|
+
name: Run goose checks
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
- uses: actions/setup-python@v5
|
|
21
|
+
with:
|
|
22
|
+
python-version: 3.13
|
|
23
|
+
cache: pip
|
|
24
|
+
check-latest: true
|
|
25
|
+
- name: goose cache
|
|
26
|
+
uses: actions/cache@v4
|
|
27
|
+
with:
|
|
28
|
+
path: ~/.cache/goose
|
|
29
|
+
key: "${{ runner.os }}-goose-${{ env.PYTHON_VERSION }}-${{ hashFiles('.goose/**/manifest.json') }}"
|
|
30
|
+
restore-keys: |
|
|
31
|
+
${{ runner.os }}-goose-${{ env.PYTHON_VERSION }}
|
|
32
|
+
${{ runner.os }}-goose
|
|
33
|
+
- run: pip install --upgrade git-goose
|
|
34
|
+
- run: goose run --select=all --delete-orphan-environments
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"source_ecosystem":{"language":"python","version":"3.13"},"source_dependencies":["pre-commit-hooks","ruff"],"lock_files":[{"path":"requirements.txt","checksum":"sha256:615115981a484ab089b6cdbf0d42f2b98d4ce6a67a846762647903834f0a0476"}],"checksum":"sha256:d76b1704c915ac48f3740f10fd8b31b1a7e8beef041af516e6332b33fda78db3"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
pre-commit-hooks==5.0.0 \
|
|
2
|
+
--hash=sha256:10626959a9eaf602fbfc22bc61b6e75801436f82326bfcee82bb1f2fc4bc646e \
|
|
3
|
+
--hash=sha256:8d71cfb582c5c314a5498d94e0104b6567a8b93fb35903ea845c491f4e290a7a
|
|
4
|
+
ruamel-yaml==0.18.6 \
|
|
5
|
+
--hash=sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636 \
|
|
6
|
+
--hash=sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b
|
|
7
|
+
ruff==0.7.2 \
|
|
8
|
+
--hash=sha256:21aae53ab1490a52bf4e3bf520c10ce120987b047c494cacf4edad0ba0888da2 \
|
|
9
|
+
--hash=sha256:28bd8220f4d8f79d590db9e2f6a0674f75ddbc3847277dd44ac1f8d30684b828 \
|
|
10
|
+
--hash=sha256:2b14e77293380e475b4e3a7a368e14549288ed2931fce259a6f99978669e844f \
|
|
11
|
+
--hash=sha256:576305393998b7bd6c46018f8104ea3a9cb3fa7908c21d8580e3274a3b04b691 \
|
|
12
|
+
--hash=sha256:5b813ef26db1015953daf476202585512afd6a6862a02cde63f3bafb53d0b2d4 \
|
|
13
|
+
--hash=sha256:7b792468e9804a204be221b14257566669d1db5c00d6bb335996e5cd7004ba80 \
|
|
14
|
+
--hash=sha256:853277dbd9675810c6826dad7a428d52a11760744508340e66bf46f8be9701d9 \
|
|
15
|
+
--hash=sha256:9fd67094e77efbea932e62b5d2483006154794040abb3a5072e659096415ae1e \
|
|
16
|
+
--hash=sha256:b19fafe261bf741bca2764c14cbb4ee1819b67adb63ebc2db6401dcd652e3748 \
|
|
17
|
+
--hash=sha256:b73f873b5f52092e63ed540adefc3c36f1f803790ecf2590e1df8bf0a9f72cb8 \
|
|
18
|
+
--hash=sha256:bb8368cd45bba3f57bb29cbb8d64b4a33f8415d0149d2655c5c8539452ce7760 \
|
|
19
|
+
--hash=sha256:ccc7e0fc6e0cb3168443eeadb6445285abaae75142ee22b2b72c27d790ab60ba \
|
|
20
|
+
--hash=sha256:dba53ed84ac19ae4bfb4ea4bf0172550a2285fa27fbb13e3746f04c80f7fa088 \
|
|
21
|
+
--hash=sha256:dd8800cbe0254e06b8fec585e97554047fb82c894973f7ff18558eee33d1cb88 \
|
|
22
|
+
--hash=sha256:e00163fb897d35523c70d71a46fbaa43bf7bf9af0f4534c53ea5b96b2e03397b \
|
|
23
|
+
--hash=sha256:f3c54b538633482dc342e9b634d91168fe8cc56b30a4b4f99287f4e339103e88 \
|
|
24
|
+
--hash=sha256:fa993cfc9f0ff11187e82de874dfc3611df80852540331bc85c75809c93253a8 \
|
|
25
|
+
--hash=sha256:fd77877a4e43b3a98e5ef4715ba3862105e299af0c48942cc6d51ba3d97dc859
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"source_ecosystem":{"language":"python","version":"3.13"},"source_dependencies":["identify","mypy","pydantic","rich","typer","types-pyyaml"],"lock_files":[{"path":"requirements.txt","checksum":"sha256:81ffb57f0c0fba86bcecb5f8ad623195fdff7c6933076861bf9bcb6aee955614"}],"checksum":"sha256:a9216c079fbd845e19479ad52e5206d15a4f1f8d3d50e5cb35e051f602b956be"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
annotated-types==0.7.0 \
|
|
2
|
+
--hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \
|
|
3
|
+
--hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89
|
|
4
|
+
click==8.1.7 \
|
|
5
|
+
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
|
|
6
|
+
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
|
|
7
|
+
identify==2.6.1 \
|
|
8
|
+
--hash=sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0 \
|
|
9
|
+
--hash=sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98
|
|
10
|
+
markdown-it-py==3.0.0 \
|
|
11
|
+
--hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
|
|
12
|
+
--hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
|
|
13
|
+
mdurl==0.1.2 \
|
|
14
|
+
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
|
|
15
|
+
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
|
|
16
|
+
mypy==1.13.0 \
|
|
17
|
+
--hash=sha256:0246bcb1b5de7f08f2826451abd947bf656945209b140d16ed317f65a17dc7dc \
|
|
18
|
+
--hash=sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e \
|
|
19
|
+
--hash=sha256:0730d1c6a2739d4511dc4253f8274cdd140c55c32dfb0a4cf8b7a43f40abfa6f \
|
|
20
|
+
--hash=sha256:07de989f89786f62b937851295ed62e51774722e5444a27cecca993fc3f9cd74 \
|
|
21
|
+
--hash=sha256:100fac22ce82925f676a734af0db922ecfea991e1d7ec0ceb1e115ebe501301a \
|
|
22
|
+
--hash=sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2 \
|
|
23
|
+
--hash=sha256:20c7ee0bc0d5a9595c46f38beb04201f2620065a93755704e141fcac9f59db2b \
|
|
24
|
+
--hash=sha256:3790ded76f0b34bc9c8ba4def8f919dd6a46db0f5a6610fb994fe8efdd447f73 \
|
|
25
|
+
--hash=sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e \
|
|
26
|
+
--hash=sha256:3ddb5b9bf82e05cc9a627e84707b528e5c7caaa1c55c69e175abb15a761cec2d \
|
|
27
|
+
--hash=sha256:3e38b980e5681f28f033f3be86b099a247b13c491f14bb8b1e1e134d23bb599d \
|
|
28
|
+
--hash=sha256:4bde84334fbe19bad704b3f5b78c4abd35ff1026f8ba72b29de70dda0916beb6 \
|
|
29
|
+
--hash=sha256:51f869f4b6b538229c1d1bcc1dd7d119817206e2bc54e8e374b3dfa202defcca \
|
|
30
|
+
--hash=sha256:581665e6f3a8a9078f28d5502f4c334c0c8d802ef55ea0e7276a6e409bc0d82d \
|
|
31
|
+
--hash=sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5 \
|
|
32
|
+
--hash=sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62 \
|
|
33
|
+
--hash=sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a \
|
|
34
|
+
--hash=sha256:7029881ec6ffb8bc233a4fa364736789582c738217b133f1b55967115288a2bc \
|
|
35
|
+
--hash=sha256:7b2353a44d2179846a096e25691d54d59904559f4232519d420d64da6828a3a7 \
|
|
36
|
+
--hash=sha256:7bcb0bb7f42a978bb323a7c88f1081d1b5dee77ca86f4100735a6f541299d8fb \
|
|
37
|
+
--hash=sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7 \
|
|
38
|
+
--hash=sha256:7f5b7deae912cf8b77e990b9280f170381fdfbddf61b4ef80927edd813163732 \
|
|
39
|
+
--hash=sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80 \
|
|
40
|
+
--hash=sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a \
|
|
41
|
+
--hash=sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc \
|
|
42
|
+
--hash=sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2 \
|
|
43
|
+
--hash=sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0 \
|
|
44
|
+
--hash=sha256:a6789be98a2017c912ae6ccb77ea553bbaf13d27605d2ca20a76dfbced631b24 \
|
|
45
|
+
--hash=sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7 \
|
|
46
|
+
--hash=sha256:bde31fc887c213e223bbfc34328070996061b0833b0a4cfec53745ed61f3519b \
|
|
47
|
+
--hash=sha256:c5fc54dbb712ff5e5a0fca797e6e0aa25726c7e72c6a5850cfd2adbc1eb0a372 \
|
|
48
|
+
--hash=sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8
|
|
49
|
+
mypy-extensions==1.0.0 \
|
|
50
|
+
--hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \
|
|
51
|
+
--hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782
|
|
52
|
+
pydantic==2.9.2 \
|
|
53
|
+
--hash=sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f \
|
|
54
|
+
--hash=sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12
|
|
55
|
+
pydantic-core==2.23.4 \
|
|
56
|
+
--hash=sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36 \
|
|
57
|
+
--hash=sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05 \
|
|
58
|
+
--hash=sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071 \
|
|
59
|
+
--hash=sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327 \
|
|
60
|
+
--hash=sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c \
|
|
61
|
+
--hash=sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36 \
|
|
62
|
+
--hash=sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29 \
|
|
63
|
+
--hash=sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744 \
|
|
64
|
+
--hash=sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d \
|
|
65
|
+
--hash=sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec \
|
|
66
|
+
--hash=sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e \
|
|
67
|
+
--hash=sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e \
|
|
68
|
+
--hash=sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577 \
|
|
69
|
+
--hash=sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232 \
|
|
70
|
+
--hash=sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863 \
|
|
71
|
+
--hash=sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6 \
|
|
72
|
+
--hash=sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368 \
|
|
73
|
+
--hash=sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480 \
|
|
74
|
+
--hash=sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2 \
|
|
75
|
+
--hash=sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2 \
|
|
76
|
+
--hash=sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6 \
|
|
77
|
+
--hash=sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769 \
|
|
78
|
+
--hash=sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d \
|
|
79
|
+
--hash=sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2 \
|
|
80
|
+
--hash=sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84 \
|
|
81
|
+
--hash=sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166 \
|
|
82
|
+
--hash=sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271 \
|
|
83
|
+
--hash=sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5 \
|
|
84
|
+
--hash=sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb \
|
|
85
|
+
--hash=sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13 \
|
|
86
|
+
--hash=sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323 \
|
|
87
|
+
--hash=sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556 \
|
|
88
|
+
--hash=sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665 \
|
|
89
|
+
--hash=sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef \
|
|
90
|
+
--hash=sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb \
|
|
91
|
+
--hash=sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119 \
|
|
92
|
+
--hash=sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126 \
|
|
93
|
+
--hash=sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510 \
|
|
94
|
+
--hash=sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b \
|
|
95
|
+
--hash=sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87 \
|
|
96
|
+
--hash=sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f \
|
|
97
|
+
--hash=sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc \
|
|
98
|
+
--hash=sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8 \
|
|
99
|
+
--hash=sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21 \
|
|
100
|
+
--hash=sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f \
|
|
101
|
+
--hash=sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6 \
|
|
102
|
+
--hash=sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658 \
|
|
103
|
+
--hash=sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b \
|
|
104
|
+
--hash=sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3 \
|
|
105
|
+
--hash=sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb \
|
|
106
|
+
--hash=sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59 \
|
|
107
|
+
--hash=sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24 \
|
|
108
|
+
--hash=sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9 \
|
|
109
|
+
--hash=sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3 \
|
|
110
|
+
--hash=sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd \
|
|
111
|
+
--hash=sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753 \
|
|
112
|
+
--hash=sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55 \
|
|
113
|
+
--hash=sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad \
|
|
114
|
+
--hash=sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a \
|
|
115
|
+
--hash=sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605 \
|
|
116
|
+
--hash=sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e \
|
|
117
|
+
--hash=sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b \
|
|
118
|
+
--hash=sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433 \
|
|
119
|
+
--hash=sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8 \
|
|
120
|
+
--hash=sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07 \
|
|
121
|
+
--hash=sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728 \
|
|
122
|
+
--hash=sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0 \
|
|
123
|
+
--hash=sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327 \
|
|
124
|
+
--hash=sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555 \
|
|
125
|
+
--hash=sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64 \
|
|
126
|
+
--hash=sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6 \
|
|
127
|
+
--hash=sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea \
|
|
128
|
+
--hash=sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b \
|
|
129
|
+
--hash=sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df \
|
|
130
|
+
--hash=sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e \
|
|
131
|
+
--hash=sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd \
|
|
132
|
+
--hash=sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068 \
|
|
133
|
+
--hash=sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3 \
|
|
134
|
+
--hash=sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040 \
|
|
135
|
+
--hash=sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12 \
|
|
136
|
+
--hash=sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916 \
|
|
137
|
+
--hash=sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f \
|
|
138
|
+
--hash=sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f \
|
|
139
|
+
--hash=sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801 \
|
|
140
|
+
--hash=sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231 \
|
|
141
|
+
--hash=sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5 \
|
|
142
|
+
--hash=sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8 \
|
|
143
|
+
--hash=sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee \
|
|
144
|
+
--hash=sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607
|
|
145
|
+
pygments==2.18.0 \
|
|
146
|
+
--hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \
|
|
147
|
+
--hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a
|
|
148
|
+
rich==13.9.4 \
|
|
149
|
+
--hash=sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098 \
|
|
150
|
+
--hash=sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90
|
|
151
|
+
shellingham==1.5.4 \
|
|
152
|
+
--hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \
|
|
153
|
+
--hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de
|
|
154
|
+
typer==0.12.5 \
|
|
155
|
+
--hash=sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b \
|
|
156
|
+
--hash=sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722
|
|
157
|
+
types-pyyaml==6.0.12.20240917 \
|
|
158
|
+
--hash=sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570 \
|
|
159
|
+
--hash=sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587
|
|
160
|
+
typing-extensions==4.12.2 \
|
|
161
|
+
--hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
|
|
162
|
+
--hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: git-goose
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: A picky and eager Git hook runner.
|
|
5
5
|
Author-email: Anton Agestam <git@antonagestam.se>
|
|
6
6
|
License: BSD 3-Clause
|
|
@@ -13,6 +13,7 @@ Classifier: Typing :: Typed
|
|
|
13
13
|
Requires-Python: <3.14,>=3.13
|
|
14
14
|
Description-Content-Type: text/markdown; charset=UTF-8
|
|
15
15
|
License-File: LICENSE
|
|
16
|
+
Requires-Dist: uv
|
|
16
17
|
Requires-Dist: pydantic
|
|
17
18
|
Requires-Dist: PyYAML
|
|
18
19
|
Requires-Dist: nodeenv
|
|
@@ -35,22 +36,51 @@ Requires-Dist: shellingham
|
|
|
35
36
|
|
|
36
37
|
<p align=center>A <i>picky</i> and <i>eager</i> <a href=https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks>Git hook</a> runner.</p>
|
|
37
38
|
|
|
38
|
-
- Reproducible builds.
|
|
39
|
-
- Dynamic parallelism.
|
|
40
|
-
- Small file-system footprint.
|
|
39
|
+
- 🔒 Reproducible builds.
|
|
40
|
+
- ⚡ Dynamic parallelism.
|
|
41
|
+
- 💨 Small file-system footprint.
|
|
42
|
+
- 🏃 Fast Python environmnent and dependency management thanks to [uv].
|
|
43
|
+
|
|
44
|
+
[uv]: https://github.com/astral-sh/uv
|
|
41
45
|
|
|
42
46
|
### Installation
|
|
43
47
|
|
|
48
|
+
#### Via PyPI
|
|
49
|
+
|
|
50
|
+
```shell
|
|
51
|
+
pip install --require-venv git-goose
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Via uvx
|
|
55
|
+
|
|
56
|
+
```shell
|
|
57
|
+
uvx install git-goose
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### Via pipx
|
|
61
|
+
|
|
62
|
+
```shell
|
|
63
|
+
pipx install git-goose
|
|
64
|
+
```
|
|
65
|
+
|
|
44
66
|
#### Docker alias
|
|
45
67
|
|
|
46
68
|
```sh
|
|
47
69
|
alias goose='docker run --rm -it -v ${PWD}:/wd -v ~/.cache/goose-docker:/home/nonroot/.cache -e "GOOSE_AUGMENTED_CWD=${PWD}" ghcr.io/antonagestam/goose:latest'
|
|
48
70
|
```
|
|
49
71
|
|
|
50
|
-
####
|
|
72
|
+
#### Github Actions
|
|
51
73
|
|
|
52
|
-
```
|
|
53
|
-
|
|
74
|
+
```yaml
|
|
75
|
+
name: CI
|
|
76
|
+
on:
|
|
77
|
+
push:
|
|
78
|
+
branches: ["main"]
|
|
79
|
+
pull_request:
|
|
80
|
+
jobs:
|
|
81
|
+
lint:
|
|
82
|
+
name: Run goose checks
|
|
83
|
+
uses: antonagestam/goose/.github/workflows/run.yaml@main
|
|
54
84
|
```
|
|
55
85
|
|
|
56
86
|
### Features
|
|
@@ -84,6 +114,21 @@ the appropriate lock files under a `.goose/` directory. The `.goose/` directory
|
|
|
84
114
|
to be checked into git, so that future invocations of `goose run` can use the lock files
|
|
85
115
|
it contains to produce identical environments for hooks to run in.
|
|
86
116
|
|
|
117
|
+
```mermaid
|
|
118
|
+
---
|
|
119
|
+
title: Lock file workflow
|
|
120
|
+
---
|
|
121
|
+
flowchart LR
|
|
122
|
+
cfg["Config in goose.yaml"] -- goose upgrade --> lf
|
|
123
|
+
lf["Lock files under .goose/"] -- goose run --> env
|
|
124
|
+
env["Environments"]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
- Invoking `goose upgrade` creates lock files under the in-tree `.goose` directory.
|
|
128
|
+
- Invoking `goose run` creates out-of-tree environments from the lock files. By default
|
|
129
|
+
they live under `~/.cache/goose`.
|
|
130
|
+
- Hooks are executed in the generated environments.
|
|
131
|
+
|
|
87
132
|
## Usage
|
|
88
133
|
|
|
89
134
|
Create a `goose.yaml` file in the repository root.
|
|
@@ -114,13 +159,13 @@ hooks:
|
|
|
114
159
|
Bootstrap environments, generate lock files, and install dependencies.
|
|
115
160
|
|
|
116
161
|
```sh
|
|
117
|
-
$
|
|
162
|
+
$ goose upgrade
|
|
118
163
|
```
|
|
119
164
|
|
|
120
165
|
Run all hooks over all files.
|
|
121
166
|
|
|
122
167
|
```sh
|
|
123
|
-
$
|
|
168
|
+
$ goose run --select=all
|
|
124
169
|
```
|
|
125
170
|
|
|
126
171
|
Commit configuration and lock files.
|
|
@@ -137,7 +182,7 @@ configuration to upgrade hook dependency versions, instead you just run the upgr
|
|
|
137
182
|
command.
|
|
138
183
|
|
|
139
184
|
```sh
|
|
140
|
-
$
|
|
185
|
+
$ goose upgrade
|
|
141
186
|
$ git add .goose
|
|
142
187
|
$ git commit -m 'Bump goose dependencies'
|
|
143
188
|
```
|
|
@@ -12,22 +12,51 @@
|
|
|
12
12
|
|
|
13
13
|
<p align=center>A <i>picky</i> and <i>eager</i> <a href=https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks>Git hook</a> runner.</p>
|
|
14
14
|
|
|
15
|
-
- Reproducible builds.
|
|
16
|
-
- Dynamic parallelism.
|
|
17
|
-
- Small file-system footprint.
|
|
15
|
+
- 🔒 Reproducible builds.
|
|
16
|
+
- ⚡ Dynamic parallelism.
|
|
17
|
+
- 💨 Small file-system footprint.
|
|
18
|
+
- 🏃 Fast Python environmnent and dependency management thanks to [uv].
|
|
19
|
+
|
|
20
|
+
[uv]: https://github.com/astral-sh/uv
|
|
18
21
|
|
|
19
22
|
### Installation
|
|
20
23
|
|
|
24
|
+
#### Via PyPI
|
|
25
|
+
|
|
26
|
+
```shell
|
|
27
|
+
pip install --require-venv git-goose
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
#### Via uvx
|
|
31
|
+
|
|
32
|
+
```shell
|
|
33
|
+
uvx install git-goose
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Via pipx
|
|
37
|
+
|
|
38
|
+
```shell
|
|
39
|
+
pipx install git-goose
|
|
40
|
+
```
|
|
41
|
+
|
|
21
42
|
#### Docker alias
|
|
22
43
|
|
|
23
44
|
```sh
|
|
24
45
|
alias goose='docker run --rm -it -v ${PWD}:/wd -v ~/.cache/goose-docker:/home/nonroot/.cache -e "GOOSE_AUGMENTED_CWD=${PWD}" ghcr.io/antonagestam/goose:latest'
|
|
25
46
|
```
|
|
26
47
|
|
|
27
|
-
####
|
|
48
|
+
#### Github Actions
|
|
28
49
|
|
|
29
|
-
```
|
|
30
|
-
|
|
50
|
+
```yaml
|
|
51
|
+
name: CI
|
|
52
|
+
on:
|
|
53
|
+
push:
|
|
54
|
+
branches: ["main"]
|
|
55
|
+
pull_request:
|
|
56
|
+
jobs:
|
|
57
|
+
lint:
|
|
58
|
+
name: Run goose checks
|
|
59
|
+
uses: antonagestam/goose/.github/workflows/run.yaml@main
|
|
31
60
|
```
|
|
32
61
|
|
|
33
62
|
### Features
|
|
@@ -61,6 +90,21 @@ the appropriate lock files under a `.goose/` directory. The `.goose/` directory
|
|
|
61
90
|
to be checked into git, so that future invocations of `goose run` can use the lock files
|
|
62
91
|
it contains to produce identical environments for hooks to run in.
|
|
63
92
|
|
|
93
|
+
```mermaid
|
|
94
|
+
---
|
|
95
|
+
title: Lock file workflow
|
|
96
|
+
---
|
|
97
|
+
flowchart LR
|
|
98
|
+
cfg["Config in goose.yaml"] -- goose upgrade --> lf
|
|
99
|
+
lf["Lock files under .goose/"] -- goose run --> env
|
|
100
|
+
env["Environments"]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
- Invoking `goose upgrade` creates lock files under the in-tree `.goose` directory.
|
|
104
|
+
- Invoking `goose run` creates out-of-tree environments from the lock files. By default
|
|
105
|
+
they live under `~/.cache/goose`.
|
|
106
|
+
- Hooks are executed in the generated environments.
|
|
107
|
+
|
|
64
108
|
## Usage
|
|
65
109
|
|
|
66
110
|
Create a `goose.yaml` file in the repository root.
|
|
@@ -91,13 +135,13 @@ hooks:
|
|
|
91
135
|
Bootstrap environments, generate lock files, and install dependencies.
|
|
92
136
|
|
|
93
137
|
```sh
|
|
94
|
-
$
|
|
138
|
+
$ goose upgrade
|
|
95
139
|
```
|
|
96
140
|
|
|
97
141
|
Run all hooks over all files.
|
|
98
142
|
|
|
99
143
|
```sh
|
|
100
|
-
$
|
|
144
|
+
$ goose run --select=all
|
|
101
145
|
```
|
|
102
146
|
|
|
103
147
|
Commit configuration and lock files.
|
|
@@ -114,7 +158,7 @@ configuration to upgrade hook dependency versions, instead you just run the upgr
|
|
|
114
158
|
command.
|
|
115
159
|
|
|
116
160
|
```sh
|
|
117
|
-
$
|
|
161
|
+
$ goose upgrade
|
|
118
162
|
$ git add .goose
|
|
119
163
|
$ git commit -m 'Bump goose dependencies'
|
|
120
164
|
```
|
|
@@ -5,11 +5,11 @@ environments:
|
|
|
5
5
|
version: "3.13"
|
|
6
6
|
dependencies:
|
|
7
7
|
- mypy
|
|
8
|
-
- pydantic
|
|
9
|
-
- types-pyyaml
|
|
10
|
-
- typer
|
|
11
|
-
- identify
|
|
12
|
-
- rich
|
|
8
|
+
- pydantic
|
|
9
|
+
- types-pyyaml
|
|
10
|
+
- typer
|
|
11
|
+
- identify
|
|
12
|
+
- rich
|
|
13
13
|
|
|
14
14
|
- id: python
|
|
15
15
|
ecosystem:
|
|
@@ -37,6 +37,7 @@ classifiers = [
|
|
|
37
37
|
]
|
|
38
38
|
dynamic = ["version", "readme"]
|
|
39
39
|
dependencies = [
|
|
40
|
+
"uv",
|
|
40
41
|
"pydantic",
|
|
41
42
|
"PyYAML",
|
|
42
43
|
"nodeenv",
|
|
@@ -51,11 +52,8 @@ dependencies = [
|
|
|
51
52
|
[project.urls]
|
|
52
53
|
"Source Repository" = "https://github.com/antonagestam/goose"
|
|
53
54
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
generate-hashes = true
|
|
57
|
-
strip-extras = true
|
|
58
|
-
upgrade = true
|
|
55
|
+
[project.scripts]
|
|
56
|
+
goose = "goose.__main__:cli"
|
|
59
57
|
|
|
60
58
|
|
|
61
59
|
[tool.mypy]
|
|
@@ -182,9 +182,9 @@ pyyaml==6.0.2 \
|
|
|
182
182
|
--hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \
|
|
183
183
|
--hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4
|
|
184
184
|
# via git-goose (pyproject.toml)
|
|
185
|
-
rich==13.9.
|
|
186
|
-
--hash=sha256:
|
|
187
|
-
--hash=sha256:
|
|
185
|
+
rich==13.9.4 \
|
|
186
|
+
--hash=sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098 \
|
|
187
|
+
--hash=sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90
|
|
188
188
|
# via
|
|
189
189
|
# git-goose (pyproject.toml)
|
|
190
190
|
# typer
|
|
@@ -205,3 +205,23 @@ typing-extensions==4.12.2 \
|
|
|
205
205
|
# pydantic
|
|
206
206
|
# pydantic-core
|
|
207
207
|
# typer
|
|
208
|
+
uv==0.4.30 \
|
|
209
|
+
--hash=sha256:0c89f2eff63a08d04e81629611f43b1ffa668af6de0382b95a71599af7d4b77c \
|
|
210
|
+
--hash=sha256:1a83df281c5d900b4758b1a3969b3cff57231f9027db8508b71dce1f2da78684 \
|
|
211
|
+
--hash=sha256:232575f30ed971ea32d4a525b7146c4b088a07ed6e70a31da63792d563fcac44 \
|
|
212
|
+
--hash=sha256:353617bfcf72e1eabade426d83fb86a69d11273d1612aabc3f4566d41c596c97 \
|
|
213
|
+
--hash=sha256:444468ad0e94b35cbf6acfc8a28589cfe1247136d43895e60a18955ff89a07ad \
|
|
214
|
+
--hash=sha256:44c5aeb5b374f9fd1083959934daa9020db3610f0405198c5e3d8ec1f23d961d \
|
|
215
|
+
--hash=sha256:4aecd9fb39cf018e129627090a1d35af2b0184bb87078d573c9998f5e4072416 \
|
|
216
|
+
--hash=sha256:4d41d09cabba1988728c2d9b9ad25f79233c2aa3d6ecd724c36f4678c4c89711 \
|
|
217
|
+
--hash=sha256:4ddad09385221fa5c609169e4a0dd5bee27cf56c1dc450d4cdc113122c54bb09 \
|
|
218
|
+
--hash=sha256:63196143f45018364c450ba94279a5bcff8562c14ba63deb41a92ed30baa6e22 \
|
|
219
|
+
--hash=sha256:6395820540f368f622e818735862abd633dfe7e729c450fca56b65bab4b46661 \
|
|
220
|
+
--hash=sha256:7f09bd6a853767863e2fb905f0eb1a0ed7afa9ea118852e5c02d2b451944e1cf \
|
|
221
|
+
--hash=sha256:9e17a799c6279800996828e10288ca8ccc40cc883d8998802b938aa671dfa9ce \
|
|
222
|
+
--hash=sha256:9ed0183e747065b9b1bcfb699ff10df671ebe6259709ce83e709f86cea564aee \
|
|
223
|
+
--hash=sha256:d9de718380e2f167243ca5e1dccea781e06404158442491255fec5955d57fed9 \
|
|
224
|
+
--hash=sha256:dedcae3619f0eb181459b597fefefd99cb21fe5a5a48a530be6f5ad934399bfb \
|
|
225
|
+
--hash=sha256:ea55ca0fe5bdd04e46deaf395b3daf4fa92392f774e83610d066a2b272af5d3f \
|
|
226
|
+
--hash=sha256:f63d6646acdf2f38a5afca9fb9eeac62efa663a57f3c134f735a5f575b4e748f
|
|
227
|
+
# via git-goose (pyproject.toml)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: git-goose
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: A picky and eager Git hook runner.
|
|
5
5
|
Author-email: Anton Agestam <git@antonagestam.se>
|
|
6
6
|
License: BSD 3-Clause
|
|
@@ -13,6 +13,7 @@ Classifier: Typing :: Typed
|
|
|
13
13
|
Requires-Python: <3.14,>=3.13
|
|
14
14
|
Description-Content-Type: text/markdown; charset=UTF-8
|
|
15
15
|
License-File: LICENSE
|
|
16
|
+
Requires-Dist: uv
|
|
16
17
|
Requires-Dist: pydantic
|
|
17
18
|
Requires-Dist: PyYAML
|
|
18
19
|
Requires-Dist: nodeenv
|
|
@@ -35,22 +36,51 @@ Requires-Dist: shellingham
|
|
|
35
36
|
|
|
36
37
|
<p align=center>A <i>picky</i> and <i>eager</i> <a href=https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks>Git hook</a> runner.</p>
|
|
37
38
|
|
|
38
|
-
- Reproducible builds.
|
|
39
|
-
- Dynamic parallelism.
|
|
40
|
-
- Small file-system footprint.
|
|
39
|
+
- 🔒 Reproducible builds.
|
|
40
|
+
- ⚡ Dynamic parallelism.
|
|
41
|
+
- 💨 Small file-system footprint.
|
|
42
|
+
- 🏃 Fast Python environmnent and dependency management thanks to [uv].
|
|
43
|
+
|
|
44
|
+
[uv]: https://github.com/astral-sh/uv
|
|
41
45
|
|
|
42
46
|
### Installation
|
|
43
47
|
|
|
48
|
+
#### Via PyPI
|
|
49
|
+
|
|
50
|
+
```shell
|
|
51
|
+
pip install --require-venv git-goose
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Via uvx
|
|
55
|
+
|
|
56
|
+
```shell
|
|
57
|
+
uvx install git-goose
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### Via pipx
|
|
61
|
+
|
|
62
|
+
```shell
|
|
63
|
+
pipx install git-goose
|
|
64
|
+
```
|
|
65
|
+
|
|
44
66
|
#### Docker alias
|
|
45
67
|
|
|
46
68
|
```sh
|
|
47
69
|
alias goose='docker run --rm -it -v ${PWD}:/wd -v ~/.cache/goose-docker:/home/nonroot/.cache -e "GOOSE_AUGMENTED_CWD=${PWD}" ghcr.io/antonagestam/goose:latest'
|
|
48
70
|
```
|
|
49
71
|
|
|
50
|
-
####
|
|
72
|
+
#### Github Actions
|
|
51
73
|
|
|
52
|
-
```
|
|
53
|
-
|
|
74
|
+
```yaml
|
|
75
|
+
name: CI
|
|
76
|
+
on:
|
|
77
|
+
push:
|
|
78
|
+
branches: ["main"]
|
|
79
|
+
pull_request:
|
|
80
|
+
jobs:
|
|
81
|
+
lint:
|
|
82
|
+
name: Run goose checks
|
|
83
|
+
uses: antonagestam/goose/.github/workflows/run.yaml@main
|
|
54
84
|
```
|
|
55
85
|
|
|
56
86
|
### Features
|
|
@@ -84,6 +114,21 @@ the appropriate lock files under a `.goose/` directory. The `.goose/` directory
|
|
|
84
114
|
to be checked into git, so that future invocations of `goose run` can use the lock files
|
|
85
115
|
it contains to produce identical environments for hooks to run in.
|
|
86
116
|
|
|
117
|
+
```mermaid
|
|
118
|
+
---
|
|
119
|
+
title: Lock file workflow
|
|
120
|
+
---
|
|
121
|
+
flowchart LR
|
|
122
|
+
cfg["Config in goose.yaml"] -- goose upgrade --> lf
|
|
123
|
+
lf["Lock files under .goose/"] -- goose run --> env
|
|
124
|
+
env["Environments"]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
- Invoking `goose upgrade` creates lock files under the in-tree `.goose` directory.
|
|
128
|
+
- Invoking `goose run` creates out-of-tree environments from the lock files. By default
|
|
129
|
+
they live under `~/.cache/goose`.
|
|
130
|
+
- Hooks are executed in the generated environments.
|
|
131
|
+
|
|
87
132
|
## Usage
|
|
88
133
|
|
|
89
134
|
Create a `goose.yaml` file in the repository root.
|
|
@@ -114,13 +159,13 @@ hooks:
|
|
|
114
159
|
Bootstrap environments, generate lock files, and install dependencies.
|
|
115
160
|
|
|
116
161
|
```sh
|
|
117
|
-
$
|
|
162
|
+
$ goose upgrade
|
|
118
163
|
```
|
|
119
164
|
|
|
120
165
|
Run all hooks over all files.
|
|
121
166
|
|
|
122
167
|
```sh
|
|
123
|
-
$
|
|
168
|
+
$ goose run --select=all
|
|
124
169
|
```
|
|
125
170
|
|
|
126
171
|
Commit configuration and lock files.
|
|
@@ -137,7 +182,7 @@ configuration to upgrade hook dependency versions, instead you just run the upgr
|
|
|
137
182
|
command.
|
|
138
183
|
|
|
139
184
|
```sh
|
|
140
|
-
$
|
|
185
|
+
$ goose upgrade
|
|
141
186
|
$ git add .goose
|
|
142
187
|
$ git commit -m 'Bump goose dependencies'
|
|
143
188
|
```
|
|
@@ -12,6 +12,7 @@ ruff.toml
|
|
|
12
12
|
.github/dependabot.yml
|
|
13
13
|
.github/workflows/ci.yaml
|
|
14
14
|
.github/workflows/release.yaml
|
|
15
|
+
.github/workflows/run.yaml
|
|
15
16
|
.goose/node/manifest.json
|
|
16
17
|
.goose/node/package-lock.json
|
|
17
18
|
.goose/node/package.json
|
|
@@ -22,6 +23,7 @@ ruff.toml
|
|
|
22
23
|
src/git_goose.egg-info/PKG-INFO
|
|
23
24
|
src/git_goose.egg-info/SOURCES.txt
|
|
24
25
|
src/git_goose.egg-info/dependency_links.txt
|
|
26
|
+
src/git_goose.egg-info/entry_points.txt
|
|
25
27
|
src/git_goose.egg-info/requires.txt
|
|
26
28
|
src/git_goose.egg-info/top_level.txt
|
|
27
29
|
src/goose/__init__.py
|
|
@@ -2,14 +2,9 @@ import asyncio
|
|
|
2
2
|
import functools
|
|
3
3
|
from collections.abc import Callable
|
|
4
4
|
from collections.abc import Coroutine
|
|
5
|
-
from typing import ParamSpec
|
|
6
|
-
from typing import TypeVar
|
|
7
5
|
|
|
8
|
-
P = ParamSpec("P")
|
|
9
|
-
R = TypeVar("R")
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
def asyncio_entrypoint(
|
|
7
|
+
def asyncio_entrypoint[R, **P](
|
|
13
8
|
fn: Callable[P, Coroutine[None, None, R]],
|
|
14
9
|
) -> Callable[P, R]:
|
|
15
10
|
@functools.wraps(fn)
|
|
@@ -37,10 +37,16 @@ def _run_env(env_path: Path) -> dict[str, str]:
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
async def _create_virtualenv(env_path: Path) -> None:
|
|
40
|
+
async def _create_virtualenv(env_path: Path, version: str) -> None:
|
|
41
41
|
process = await asyncio.create_subprocess_exec(
|
|
42
42
|
system_python(),
|
|
43
|
-
|
|
43
|
+
"-m",
|
|
44
|
+
"uv",
|
|
45
|
+
"venv",
|
|
46
|
+
"--no-project",
|
|
47
|
+
"--python-preference=only-managed",
|
|
48
|
+
f"--python={version}",
|
|
49
|
+
str(env_path),
|
|
44
50
|
env=_bootstrap_env(),
|
|
45
51
|
stdout=asyncio.subprocess.PIPE,
|
|
46
52
|
stderr=asyncio.subprocess.PIPE,
|
|
@@ -56,8 +62,11 @@ async def _pip_install(
|
|
|
56
62
|
dependencies: Iterable[str],
|
|
57
63
|
) -> None:
|
|
58
64
|
process = await asyncio.create_subprocess_exec(
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
"uv",
|
|
66
|
+
"pip",
|
|
67
|
+
"install",
|
|
68
|
+
f"--python={_venv_python(env_path)}",
|
|
69
|
+
*dependencies,
|
|
61
70
|
env=_bootstrap_env(),
|
|
62
71
|
stdout=asyncio.subprocess.PIPE,
|
|
63
72
|
stderr=asyncio.subprocess.PIPE,
|
|
@@ -73,7 +82,12 @@ async def _pip_sync(
|
|
|
73
82
|
requirements_txt: Path,
|
|
74
83
|
) -> None:
|
|
75
84
|
process = await asyncio.create_subprocess_exec(
|
|
76
|
-
|
|
85
|
+
system_python(),
|
|
86
|
+
"-m",
|
|
87
|
+
"uv",
|
|
88
|
+
"pip",
|
|
89
|
+
"sync",
|
|
90
|
+
f"--python={_venv_python(env_path)}",
|
|
77
91
|
str(requirements_txt),
|
|
78
92
|
env=_bootstrap_env(),
|
|
79
93
|
stdout=asyncio.subprocess.PIPE,
|
|
@@ -90,10 +104,7 @@ async def bootstrap(
|
|
|
90
104
|
config: EnvironmentConfig,
|
|
91
105
|
) -> None:
|
|
92
106
|
print(f"Creating virtualenv {env_path.name}", file=sys.stderr)
|
|
93
|
-
await _create_virtualenv(env_path)
|
|
94
|
-
|
|
95
|
-
print("Installing pip-tools ...", file=sys.stderr)
|
|
96
|
-
await _pip_install(env_path, ("pip-tools",))
|
|
107
|
+
await _create_virtualenv(env_path, config.ecosystem.version)
|
|
97
108
|
|
|
98
109
|
|
|
99
110
|
async def freeze(
|
|
@@ -115,18 +126,19 @@ async def freeze(
|
|
|
115
126
|
print(dependency, file=fd)
|
|
116
127
|
|
|
117
128
|
process = await asyncio.create_subprocess_exec(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
129
|
+
system_python(),
|
|
130
|
+
"-m",
|
|
131
|
+
"uv",
|
|
132
|
+
"pip",
|
|
133
|
+
"compile",
|
|
134
|
+
f"--python={_venv_python(env_path)}",
|
|
135
|
+
"--upgrade",
|
|
136
|
+
"--strip-extras",
|
|
137
|
+
"--generate-hashes",
|
|
138
|
+
"--no-annotate",
|
|
139
|
+
"--no-header",
|
|
140
|
+
f"--output-file={requirements_txt}",
|
|
141
|
+
f"{tmp_requirements_in}",
|
|
130
142
|
env=_bootstrap_env(),
|
|
131
143
|
stdout=asyncio.subprocess.PIPE,
|
|
132
144
|
stderr=asyncio.subprocess.PIPE,
|
|
@@ -6,7 +6,6 @@ from collections.abc import Iterable
|
|
|
6
6
|
from functools import total_ordering
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import Self
|
|
9
|
-
from typing import TypeVar
|
|
10
9
|
from typing import final
|
|
11
10
|
|
|
12
11
|
from pydantic import ValidationInfo
|
|
@@ -32,9 +31,6 @@ class LockFile(BaseModel):
|
|
|
32
31
|
return self.path < other.path
|
|
33
32
|
|
|
34
33
|
|
|
35
|
-
C = TypeVar("C", bound=Collection)
|
|
36
|
-
|
|
37
|
-
|
|
38
34
|
class LockManifest(BaseModel):
|
|
39
35
|
source_ecosystem: EcosystemConfig
|
|
40
36
|
source_dependencies: tuple[str, ...]
|
|
@@ -43,21 +39,21 @@ class LockManifest(BaseModel):
|
|
|
43
39
|
|
|
44
40
|
@field_validator("source_dependencies", "lock_files")
|
|
45
41
|
@classmethod
|
|
46
|
-
def validate_sorted(cls, v: C) -> C:
|
|
42
|
+
def validate_sorted[C: Collection](cls, v: C) -> C:
|
|
47
43
|
if sorted(v) != list(v):
|
|
48
44
|
raise ValueError("must be sorted")
|
|
49
45
|
return v
|
|
50
46
|
|
|
51
47
|
@field_validator("source_dependencies", "lock_files")
|
|
52
48
|
@classmethod
|
|
53
|
-
def validate_unique(cls, v: C) -> C:
|
|
49
|
+
def validate_unique[C: Collection](cls, v: C) -> C:
|
|
54
50
|
if len(set(v)) != len(v):
|
|
55
51
|
raise ValueError("must be unique")
|
|
56
52
|
return v
|
|
57
53
|
|
|
58
54
|
@field_validator("source_dependencies", "lock_files")
|
|
59
55
|
@classmethod
|
|
60
|
-
def validate_non_empty(cls, v: C) -> C:
|
|
56
|
+
def validate_non_empty[C: Collection](cls, v: C) -> C:
|
|
61
57
|
if len(v) == 0:
|
|
62
58
|
raise ValueError("must not be empty")
|
|
63
59
|
return v
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"source_ecosystem":{"language":"python","version":"3.13"},"source_dependencies":["pre-commit-hooks","ruff"],"lock_files":[{"path":"requirements.txt","checksum":"sha256:f649a1f943c1cfbd71571de02aedcf7d88e7427c0e985ec26f399d8c40970c8e"}],"checksum":"sha256:2087aaf2b95093aae8f2cfef2b6a55aaddd9e94d1814b268ea2fd699f0a10f11"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
pre-commit-hooks==5.0.0 \
|
|
2
|
-
--hash=sha256:10626959a9eaf602fbfc22bc61b6e75801436f82326bfcee82bb1f2fc4bc646e \
|
|
3
|
-
--hash=sha256:8d71cfb582c5c314a5498d94e0104b6567a8b93fb35903ea845c491f4e290a7a
|
|
4
|
-
ruamel-yaml==0.18.6 \
|
|
5
|
-
--hash=sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636 \
|
|
6
|
-
--hash=sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b
|
|
7
|
-
ruff==0.7.0 \
|
|
8
|
-
--hash=sha256:0cdf20c2b6ff98e37df47b2b0bd3a34aaa155f59a11182c1303cce79be715628 \
|
|
9
|
-
--hash=sha256:10842f69c245e78d6adec7e1db0a7d9ddc2fff0621d730e61657b64fa36f207e \
|
|
10
|
-
--hash=sha256:194d6c46c98c73949a106425ed40a576f52291c12bc21399eb8f13a0f7073495 \
|
|
11
|
-
--hash=sha256:1eb54986f770f49edb14f71d33312d79e00e629a57387382200b1ef12d6a4ef9 \
|
|
12
|
-
--hash=sha256:211d877674e9373d4bb0f1c80f97a0201c61bcd1e9d045b6e9726adc42c156aa \
|
|
13
|
-
--hash=sha256:214b88498684e20b6b2b8852c01d50f0651f3cc6118dfa113b4def9f14faaf06 \
|
|
14
|
-
--hash=sha256:47a86360cf62d9cd53ebfb0b5eb0e882193fc191c6d717e8bef4462bc3b9ea2b \
|
|
15
|
-
--hash=sha256:496494d350c7fdeb36ca4ef1c9f21d80d182423718782222c29b3e72b3512737 \
|
|
16
|
-
--hash=sha256:4b406c2dce5be9bad59f2de26139a86017a517e6bcd2688da515481c05a2cb11 \
|
|
17
|
-
--hash=sha256:630fce3fefe9844e91ea5bbf7ceadab4f9981f42b704fae011bb8efcaf5d84be \
|
|
18
|
-
--hash=sha256:82c2579b82b9973a110fab281860403b397c08c403de92de19568f32f7178598 \
|
|
19
|
-
--hash=sha256:9af971fe85dcd5eaed8f585ddbc6bdbe8c217fb8fcf510ea6bca5bdfff56040e \
|
|
20
|
-
--hash=sha256:ab7d98c7eed355166f367597e513a6c82408df4181a937628dbec79abb2a1fe4 \
|
|
21
|
-
--hash=sha256:b641c7f16939b7d24b7bfc0be4102c56562a18281f84f635604e8a6989948914 \
|
|
22
|
-
--hash=sha256:d71672336e46b34e0c90a790afeac8a31954fd42872c1f6adaea1dff76fd44f9 \
|
|
23
|
-
--hash=sha256:dc452ba6f2bb9cf8726a84aa877061a2462afe9ae0ea1d411c53d226661c601d \
|
|
24
|
-
--hash=sha256:f6c968509f767776f524a8430426539587d5ec5c662f6addb6aa25bc2e8195ec \
|
|
25
|
-
--hash=sha256:ff4aabfbaaba880e85d394603b9e75d32b0693152e16fa659a3064a85df7fce2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"source_ecosystem":{"language":"python","version":"3.13"},"source_dependencies":["identify==2.6.0","mypy","pydantic==2.8.2","rich==13.7.1","typer==0.12.3","types-pyyaml==6.0.12.20240724"],"lock_files":[{"path":"requirements.txt","checksum":"sha256:30a32dcd426ab99471b1d43f5a575db3d8df2b5b64ce3dc756ce730f7f0b388c"}],"checksum":"sha256:40b81307cd69b710976f92453cdf92ef743fdd9882eabea9c6b6b6688779a516"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
annotated-types==0.7.0 \
|
|
2
|
-
--hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \
|
|
3
|
-
--hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89
|
|
4
|
-
click==8.1.7 \
|
|
5
|
-
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
|
|
6
|
-
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
|
|
7
|
-
identify==2.6.0 \
|
|
8
|
-
--hash=sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf \
|
|
9
|
-
--hash=sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0
|
|
10
|
-
markdown-it-py==3.0.0 \
|
|
11
|
-
--hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
|
|
12
|
-
--hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
|
|
13
|
-
mdurl==0.1.2 \
|
|
14
|
-
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
|
|
15
|
-
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
|
|
16
|
-
mypy==1.12.0 \
|
|
17
|
-
--hash=sha256:060a07b10e999ac9e7fa249ce2bdcfa9183ca2b70756f3bce9df7a92f78a3c0a \
|
|
18
|
-
--hash=sha256:06de0498798527451ffb60f68db0d368bd2bae2bbfb5237eae616d4330cc87aa \
|
|
19
|
-
--hash=sha256:0eff042d7257f39ba4ca06641d110ca7d2ad98c9c1fb52200fe6b1c865d360ff \
|
|
20
|
-
--hash=sha256:1ebf9e796521f99d61864ed89d1fb2926d9ab6a5fab421e457cd9c7e4dd65aa9 \
|
|
21
|
-
--hash=sha256:20c7c5ce0c1be0b0aea628374e6cf68b420bcc772d85c3c974f675b88e3e6e57 \
|
|
22
|
-
--hash=sha256:233e11b3f73ee1f10efada2e6da0f555b2f3a5316e9d8a4a1224acc10e7181d3 \
|
|
23
|
-
--hash=sha256:2c40658d4fa1ab27cb53d9e2f1066345596af2f8fe4827defc398a09c7c9519b \
|
|
24
|
-
--hash=sha256:2f106db5ccb60681b622ac768455743ee0e6a857724d648c9629a9bd2ac3f721 \
|
|
25
|
-
--hash=sha256:4397081e620dc4dc18e2f124d5e1d2c288194c2c08df6bdb1db31c38cd1fe1ed \
|
|
26
|
-
--hash=sha256:48d3e37dd7d9403e38fa86c46191de72705166d40b8c9f91a3de77350daa0893 \
|
|
27
|
-
--hash=sha256:4ae8959c21abcf9d73aa6c74a313c45c0b5a188752bf37dace564e29f06e9c1b \
|
|
28
|
-
--hash=sha256:4b86de37a0da945f6d48cf110d5206c5ed514b1ca2614d7ad652d4bf099c7de7 \
|
|
29
|
-
--hash=sha256:52b9e1492e47e1790360a43755fa04101a7ac72287b1a53ce817f35899ba0521 \
|
|
30
|
-
--hash=sha256:5bc81701d52cc8767005fdd2a08c19980de9ec61a25dbd2a937dfb1338a826f9 \
|
|
31
|
-
--hash=sha256:5feee5c74eb9749e91b77f60b30771563327329e29218d95bedbe1257e2fe4b0 \
|
|
32
|
-
--hash=sha256:65a22d87e757ccd95cbbf6f7e181e6caa87128255eb2b6be901bb71b26d8a99d \
|
|
33
|
-
--hash=sha256:684a9c508a283f324804fea3f0effeb7858eb03f85c4402a967d187f64562469 \
|
|
34
|
-
--hash=sha256:6b5df6c8a8224f6b86746bda716bbe4dbe0ce89fd67b1fa4661e11bfe38e8ec8 \
|
|
35
|
-
--hash=sha256:6cabe4cda2fa5eca7ac94854c6c37039324baaa428ecbf4de4567279e9810f9e \
|
|
36
|
-
--hash=sha256:77278e8c6ffe2abfba6db4125de55f1024de9a323be13d20e4f73b8ed3402bd1 \
|
|
37
|
-
--hash=sha256:8462655b6694feb1c99e433ea905d46c478041a8b8f0c33f1dab00ae881b2164 \
|
|
38
|
-
--hash=sha256:923ea66d282d8af9e0f9c21ffc6653643abb95b658c3a8a32dca1eff09c06475 \
|
|
39
|
-
--hash=sha256:9b9ce1ad8daeb049c0b55fdb753d7414260bad8952645367e70ac91aec90e07e \
|
|
40
|
-
--hash=sha256:a64ee25f05fc2d3d8474985c58042b6759100a475f8237da1f4faf7fcd7e6309 \
|
|
41
|
-
--hash=sha256:bfe012b50e1491d439172c43ccb50db66d23fab714d500b57ed52526a1020bb7 \
|
|
42
|
-
--hash=sha256:c72861b7139a4f738344faa0e150834467521a3fba42dc98264e5aa9507dd601 \
|
|
43
|
-
--hash=sha256:dcfb754dea911039ac12434d1950d69a2f05acd4d56f7935ed402be09fad145e \
|
|
44
|
-
--hash=sha256:dee78a8b9746c30c1e617ccb1307b351ded57f0de0d287ca6276378d770006c0 \
|
|
45
|
-
--hash=sha256:e478601cc3e3fa9d6734d255a59c7a2e5c2934da4378f3dd1e3411ea8a248642 \
|
|
46
|
-
--hash=sha256:eafc1b7319b40ddabdc3db8d7d48e76cfc65bbeeafaa525a4e0fa6b76175467f \
|
|
47
|
-
--hash=sha256:faca7ab947c9f457a08dcb8d9a8664fd438080e002b0fa3e41b0535335edcf7f \
|
|
48
|
-
--hash=sha256:fd313226af375d52e1e36c383f39bf3836e1f192801116b31b090dfcd3ec5266
|
|
49
|
-
mypy-extensions==1.0.0 \
|
|
50
|
-
--hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \
|
|
51
|
-
--hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782
|
|
52
|
-
pydantic==2.8.2 \
|
|
53
|
-
--hash=sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a \
|
|
54
|
-
--hash=sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8
|
|
55
|
-
pydantic-core==2.20.1 \
|
|
56
|
-
--hash=sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d \
|
|
57
|
-
--hash=sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f \
|
|
58
|
-
--hash=sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686 \
|
|
59
|
-
--hash=sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482 \
|
|
60
|
-
--hash=sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006 \
|
|
61
|
-
--hash=sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83 \
|
|
62
|
-
--hash=sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6 \
|
|
63
|
-
--hash=sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88 \
|
|
64
|
-
--hash=sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86 \
|
|
65
|
-
--hash=sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a \
|
|
66
|
-
--hash=sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6 \
|
|
67
|
-
--hash=sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a \
|
|
68
|
-
--hash=sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6 \
|
|
69
|
-
--hash=sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6 \
|
|
70
|
-
--hash=sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43 \
|
|
71
|
-
--hash=sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c \
|
|
72
|
-
--hash=sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4 \
|
|
73
|
-
--hash=sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e \
|
|
74
|
-
--hash=sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203 \
|
|
75
|
-
--hash=sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd \
|
|
76
|
-
--hash=sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1 \
|
|
77
|
-
--hash=sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24 \
|
|
78
|
-
--hash=sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc \
|
|
79
|
-
--hash=sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc \
|
|
80
|
-
--hash=sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3 \
|
|
81
|
-
--hash=sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598 \
|
|
82
|
-
--hash=sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98 \
|
|
83
|
-
--hash=sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331 \
|
|
84
|
-
--hash=sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2 \
|
|
85
|
-
--hash=sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a \
|
|
86
|
-
--hash=sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6 \
|
|
87
|
-
--hash=sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688 \
|
|
88
|
-
--hash=sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91 \
|
|
89
|
-
--hash=sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa \
|
|
90
|
-
--hash=sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b \
|
|
91
|
-
--hash=sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0 \
|
|
92
|
-
--hash=sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840 \
|
|
93
|
-
--hash=sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c \
|
|
94
|
-
--hash=sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd \
|
|
95
|
-
--hash=sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3 \
|
|
96
|
-
--hash=sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231 \
|
|
97
|
-
--hash=sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1 \
|
|
98
|
-
--hash=sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953 \
|
|
99
|
-
--hash=sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250 \
|
|
100
|
-
--hash=sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a \
|
|
101
|
-
--hash=sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2 \
|
|
102
|
-
--hash=sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20 \
|
|
103
|
-
--hash=sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434 \
|
|
104
|
-
--hash=sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab \
|
|
105
|
-
--hash=sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703 \
|
|
106
|
-
--hash=sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a \
|
|
107
|
-
--hash=sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2 \
|
|
108
|
-
--hash=sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac \
|
|
109
|
-
--hash=sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611 \
|
|
110
|
-
--hash=sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121 \
|
|
111
|
-
--hash=sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e \
|
|
112
|
-
--hash=sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b \
|
|
113
|
-
--hash=sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09 \
|
|
114
|
-
--hash=sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906 \
|
|
115
|
-
--hash=sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9 \
|
|
116
|
-
--hash=sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7 \
|
|
117
|
-
--hash=sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b \
|
|
118
|
-
--hash=sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987 \
|
|
119
|
-
--hash=sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c \
|
|
120
|
-
--hash=sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b \
|
|
121
|
-
--hash=sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e \
|
|
122
|
-
--hash=sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237 \
|
|
123
|
-
--hash=sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1 \
|
|
124
|
-
--hash=sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19 \
|
|
125
|
-
--hash=sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b \
|
|
126
|
-
--hash=sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad \
|
|
127
|
-
--hash=sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0 \
|
|
128
|
-
--hash=sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94 \
|
|
129
|
-
--hash=sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312 \
|
|
130
|
-
--hash=sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f \
|
|
131
|
-
--hash=sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669 \
|
|
132
|
-
--hash=sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1 \
|
|
133
|
-
--hash=sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe \
|
|
134
|
-
--hash=sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99 \
|
|
135
|
-
--hash=sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a \
|
|
136
|
-
--hash=sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a \
|
|
137
|
-
--hash=sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52 \
|
|
138
|
-
--hash=sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c \
|
|
139
|
-
--hash=sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad \
|
|
140
|
-
--hash=sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1 \
|
|
141
|
-
--hash=sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a \
|
|
142
|
-
--hash=sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f \
|
|
143
|
-
--hash=sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a \
|
|
144
|
-
--hash=sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27
|
|
145
|
-
pygments==2.18.0 \
|
|
146
|
-
--hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \
|
|
147
|
-
--hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a
|
|
148
|
-
rich==13.7.1 \
|
|
149
|
-
--hash=sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222 \
|
|
150
|
-
--hash=sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432
|
|
151
|
-
shellingham==1.5.4 \
|
|
152
|
-
--hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \
|
|
153
|
-
--hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de
|
|
154
|
-
typer==0.12.3 \
|
|
155
|
-
--hash=sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914 \
|
|
156
|
-
--hash=sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482
|
|
157
|
-
types-pyyaml==6.0.12.20240724 \
|
|
158
|
-
--hash=sha256:cf7b31ae67e0c5b2919c703d2affc415485099d3fe6666a6912f040fd05cb67f \
|
|
159
|
-
--hash=sha256:e5becec598f3aa3a2ddf671de4a75fa1c6856fbf73b2840286c9d50fae2d5d48
|
|
160
|
-
typing-extensions==4.12.2 \
|
|
161
|
-
--hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
|
|
162
|
-
--hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|