zithub 0.3.0__tar.gz → 0.3.1__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.
- {zithub-0.3.0 → zithub-0.3.1}/PKG-INFO +6 -2
- {zithub-0.3.0 → zithub-0.3.1}/README.md +5 -1
- {zithub-0.3.0 → zithub-0.3.1}/pyproject.toml +24 -1
- {zithub-0.3.0 → zithub-0.3.1}/pyproject.toml.orig +11 -1
- zithub-0.3.1/src/zithub/__init__.py +3 -0
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/board.py +5 -4
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/cli.py +236 -106
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/gh.py +205 -48
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/plan.py +4 -1
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/registry.py +14 -9
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/skills/zithub/SKILL.md +4 -1
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/versioning.py +1 -3
- zithub-0.3.0/src/zithub/__init__.py +0 -3
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/skills.py +0 -0
- {zithub-0.3.0 → zithub-0.3.1}/src/zithub/ticket.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zithub
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: What's up with this repo, right now, plus batched gh PR/release actions: status, CI, merge preflight, review-thread reply/resolve, and more
|
|
5
5
|
Keywords: git,github,cli,pull-request,ci,gh
|
|
6
6
|
Author: Ville Vainio
|
|
@@ -48,7 +48,11 @@ authenticated (`gh auth login`).
|
|
|
48
48
|
```
|
|
49
49
|
zh # prints help (bare zh does nothing)
|
|
50
50
|
zh status # repo, branch, local, PR, and CI status in one shot
|
|
51
|
-
# (also recent branches/worktrees on the default branch
|
|
51
|
+
# (also recent branches/worktrees on the default branch, with
|
|
52
|
+
# already-merged branches marked; flags a uv.lock that leaked a
|
|
53
|
+
# private index/mirror, when using a personal gh account)
|
|
54
|
+
zh fixup uv-lock # rewrite uv.lock's private mirror URLs back to public pypi.org
|
|
55
|
+
# (a later `uv lock` re-adds them; rerun after that)
|
|
52
56
|
zh ci # just the CI status for the current branch/PR
|
|
53
57
|
zh pr # current branch's PR: status, checks, and review comment
|
|
54
58
|
# threads (unresolved by default; --all also shows resolved)
|
|
@@ -23,7 +23,11 @@ authenticated (`gh auth login`).
|
|
|
23
23
|
```
|
|
24
24
|
zh # prints help (bare zh does nothing)
|
|
25
25
|
zh status # repo, branch, local, PR, and CI status in one shot
|
|
26
|
-
# (also recent branches/worktrees on the default branch
|
|
26
|
+
# (also recent branches/worktrees on the default branch, with
|
|
27
|
+
# already-merged branches marked; flags a uv.lock that leaked a
|
|
28
|
+
# private index/mirror, when using a personal gh account)
|
|
29
|
+
zh fixup uv-lock # rewrite uv.lock's private mirror URLs back to public pypi.org
|
|
30
|
+
# (a later `uv lock` re-adds them; rerun after that)
|
|
27
31
|
zh ci # just the CI status for the current branch/PR
|
|
28
32
|
zh pr # current branch's PR: status, checks, and review comment
|
|
29
33
|
# threads (unresolved by default; --all also shows resolved)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "zithub"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.1"
|
|
4
4
|
description = "What's up with this repo, right now, plus batched gh PR/release actions: status, CI, merge preflight, review-thread reply/resolve, and more"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -39,6 +39,7 @@ Issues = "https://github.com/vivainio/zithub/issues"
|
|
|
39
39
|
|
|
40
40
|
[project.scripts]
|
|
41
41
|
zh = "zithub:main"
|
|
42
|
+
wazup = "zithub:wazup_main"
|
|
42
43
|
|
|
43
44
|
[build-system]
|
|
44
45
|
requires = ["uv_build>=0.12.3,<0.13.0"]
|
|
@@ -47,9 +48,31 @@ build-backend = "uv_build"
|
|
|
47
48
|
[dependency-groups]
|
|
48
49
|
dev = [
|
|
49
50
|
"pytest>=8.0.0",
|
|
51
|
+
"ruff>=0.17.0",
|
|
50
52
|
"ty>=0.0.72",
|
|
51
53
|
]
|
|
52
54
|
|
|
55
|
+
[tool.ruff]
|
|
56
|
+
line-length = 120
|
|
57
|
+
|
|
58
|
+
[tool.ruff.lint]
|
|
59
|
+
select = [
|
|
60
|
+
"E",
|
|
61
|
+
"F",
|
|
62
|
+
"I",
|
|
63
|
+
"UP",
|
|
64
|
+
"B",
|
|
65
|
+
"BLE",
|
|
66
|
+
"FURB",
|
|
67
|
+
"PLW",
|
|
68
|
+
"RUF",
|
|
69
|
+
]
|
|
70
|
+
ignore = [
|
|
71
|
+
"E501",
|
|
72
|
+
"B905",
|
|
73
|
+
"PLW2901",
|
|
74
|
+
]
|
|
75
|
+
|
|
53
76
|
[tool.pytest.ini_options]
|
|
54
77
|
testpaths = ["tests"]
|
|
55
78
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "zithub"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.1"
|
|
4
4
|
description = "What's up with this repo, right now, plus batched gh PR/release actions: status, CI, merge preflight, review-thread reply/resolve, and more"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -31,6 +31,7 @@ Issues = "https://github.com/vivainio/zithub/issues"
|
|
|
31
31
|
|
|
32
32
|
[project.scripts]
|
|
33
33
|
zh = "zithub:main"
|
|
34
|
+
wazup = "zithub:wazup_main"
|
|
34
35
|
|
|
35
36
|
[build-system]
|
|
36
37
|
requires = ["uv_build>=0.12.3,<0.13.0"]
|
|
@@ -39,9 +40,18 @@ build-backend = "uv_build"
|
|
|
39
40
|
[dependency-groups]
|
|
40
41
|
dev = [
|
|
41
42
|
"pytest>=8.0.0",
|
|
43
|
+
"ruff>=0.17.0",
|
|
42
44
|
"ty>=0.0.72",
|
|
43
45
|
]
|
|
44
46
|
|
|
47
|
+
[tool.ruff]
|
|
48
|
+
line-length = 120
|
|
49
|
+
|
|
50
|
+
[tool.ruff.lint]
|
|
51
|
+
select = ["E", "F", "I", "UP", "B", "BLE", "FURB", "PLW", "RUF"]
|
|
52
|
+
# E501: the formatter wraps code; long string literals are fine.
|
|
53
|
+
ignore = ["E501", "B905", "PLW2901"]
|
|
54
|
+
|
|
45
55
|
[tool.pytest.ini_options]
|
|
46
56
|
testpaths = ["tests"]
|
|
47
57
|
|
|
@@ -84,9 +84,7 @@ def _connect(host: str) -> sqlite3.Connection:
|
|
|
84
84
|
return conn
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
def sync(
|
|
88
|
-
host: str, prs: list[gh.BoardPr], synced_at: str, login: str | None = None
|
|
89
|
-
) -> None:
|
|
87
|
+
def sync(host: str, prs: list[gh.BoardPr], synced_at: str, login: str | None = None) -> None:
|
|
90
88
|
"""Replace the table's contents with exactly `prs` — the scope is
|
|
91
89
|
"your currently-open PRs", so a PR merged/closed since the last sync
|
|
92
90
|
should simply disappear rather than linger as a stale row."""
|
|
@@ -169,7 +167,10 @@ def bot_logins(host: str) -> set[str]:
|
|
|
169
167
|
|
|
170
168
|
def add_bots(host: str, logins: list[str]) -> None:
|
|
171
169
|
with _connect(host) as conn:
|
|
172
|
-
conn.executemany(
|
|
170
|
+
conn.executemany(
|
|
171
|
+
"INSERT OR IGNORE INTO bots VALUES (?)",
|
|
172
|
+
[(login.lower(),) for login in logins],
|
|
173
|
+
)
|
|
173
174
|
_mark_all_for_refetch(conn)
|
|
174
175
|
|
|
175
176
|
|