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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zithub
3
- Version: 0.3.0
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.0"
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.0"
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
 
@@ -0,0 +1,3 @@
1
+ from .cli import main, wazup_main
2
+
3
+ __all__ = ["main", "wazup_main"]
@@ -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("INSERT OR IGNORE INTO bots VALUES (?)", [(login.lower(),) for login in logins])
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