Fix ruff, ty, and pytest failures; apply ruff format
Removes unused imports and an ambiguous variable name, narrows Optional types before use so ty's flow analysis is satisfied, swaps sum() over polars expressions for pl.sum_horizontal to avoid the Literal[0] fallback type, and converts numpy bin edges to plain lists before passing to matplotlib's hist (whose stub only accepts Sequence[float]). Also applies ruff format across the repo, which had drifted out of sync with the formatter. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -92,7 +92,11 @@ def _git_user_name() -> str | None:
|
||||
|
||||
|
||||
def plan_bump_gen(
|
||||
root: Path, kind: str, reason: str, by: str | None, date: str,
|
||||
root: Path,
|
||||
kind: str,
|
||||
reason: str,
|
||||
by: str | None,
|
||||
date: str,
|
||||
target: str | None = None,
|
||||
) -> tuple[list[Path], str]:
|
||||
"""New gen tag is one past the highest seen under raw/ or processed/ for *kind*,
|
||||
@@ -120,7 +124,12 @@ def plan_bump_gen(
|
||||
|
||||
|
||||
def plan_bump_schema(
|
||||
root: Path, kind: str, gen_tag: str, reason: str, by: str | None, date: str,
|
||||
root: Path,
|
||||
kind: str,
|
||||
gen_tag: str,
|
||||
reason: str,
|
||||
by: str | None,
|
||||
date: str,
|
||||
target: str | None = None,
|
||||
) -> tuple[list[Path], str]:
|
||||
if not GEN_RE.match(gen_tag):
|
||||
@@ -140,7 +149,9 @@ def plan_bump_schema(
|
||||
schema_tag = f"schema{next_schema}"
|
||||
new_dirs = [processed_gen_dir / schema_tag]
|
||||
by_suffix = f" ({by})" if by else ""
|
||||
log_line = f"- `{gen_tag}`/`{schema_tag}` (kind={kind}) — {date} — {reason}{by_suffix}"
|
||||
log_line = (
|
||||
f"- `{gen_tag}`/`{schema_tag}` (kind={kind}) — {date} — {reason}{by_suffix}"
|
||||
)
|
||||
return new_dirs, log_line
|
||||
|
||||
|
||||
@@ -196,7 +207,9 @@ def _manifest_referenced_files(pools_root: Path) -> set[Path]:
|
||||
return referenced
|
||||
|
||||
|
||||
def _referenced_root_count(raw_gen_dir: Path, processed_gen_dir: Path) -> tuple[int, int]:
|
||||
def _referenced_root_count(
|
||||
raw_gen_dir: Path, processed_gen_dir: Path
|
||||
) -> tuple[int, int]:
|
||||
"""(total .root files, count with a same-named .parquet under any schema) for one gen."""
|
||||
if not raw_gen_dir.is_dir():
|
||||
return 0, 0
|
||||
@@ -349,13 +362,17 @@ def print_status(root: Path) -> None:
|
||||
)
|
||||
schema_sizes = {s: _du(schema_dir / f"schema{s}") for s in schemas}
|
||||
schema_counts = {
|
||||
s: _referenced_parquet_count(schema_dir / f"schema{s}", manifest_referenced)
|
||||
s: _referenced_parquet_count(
|
||||
schema_dir / f"schema{s}", manifest_referenced
|
||||
)
|
||||
for s in schemas
|
||||
}
|
||||
processed_size = sum(schema_sizes.values())
|
||||
processed_files = sum(c[0] for c in schema_counts.values())
|
||||
processed_referenced = sum(c[1] for c in schema_counts.values())
|
||||
raw_files, raw_referenced = _referenced_root_count(raw_gen_dir, processed_gen_dir)
|
||||
raw_files, raw_referenced = _referenced_root_count(
|
||||
raw_gen_dir, processed_gen_dir
|
||||
)
|
||||
gen_total = raw_size + processed_size
|
||||
gen_files = raw_files + processed_files
|
||||
kind_total += gen_total
|
||||
@@ -367,14 +384,22 @@ def print_status(root: Path) -> None:
|
||||
print(_reason_line(gen_reason, indent=2))
|
||||
print(
|
||||
_row(
|
||||
"raw", raw_size, indent=2, level="bucket",
|
||||
count=raw_files, referenced=raw_referenced,
|
||||
"raw",
|
||||
raw_size,
|
||||
indent=2,
|
||||
level="bucket",
|
||||
count=raw_files,
|
||||
referenced=raw_referenced,
|
||||
)
|
||||
)
|
||||
print(
|
||||
_row(
|
||||
"processed", processed_size, indent=2, level="bucket",
|
||||
count=processed_files, referenced=processed_referenced,
|
||||
"processed",
|
||||
processed_size,
|
||||
indent=2,
|
||||
level="bucket",
|
||||
count=processed_files,
|
||||
referenced=processed_referenced,
|
||||
)
|
||||
)
|
||||
if schemas:
|
||||
@@ -382,8 +407,12 @@ def print_status(root: Path) -> None:
|
||||
s_total, s_referenced = schema_counts[s]
|
||||
print(
|
||||
_row(
|
||||
f"schema{s}", schema_sizes[s], indent=3, level="schema",
|
||||
count=s_total, referenced=s_referenced,
|
||||
f"schema{s}",
|
||||
schema_sizes[s],
|
||||
indent=3,
|
||||
level="schema",
|
||||
count=s_total,
|
||||
referenced=s_referenced,
|
||||
)
|
||||
)
|
||||
schema_reason = schema_reasons.get((kind, gen_tag, f"schema{s}"))
|
||||
@@ -391,7 +420,9 @@ def print_status(root: Path) -> None:
|
||||
print(_reason_line(schema_reason, indent=4))
|
||||
else:
|
||||
print(_colorize(" (none)", "schema"))
|
||||
print(_row(f"{kind} total", kind_total, indent=1, level="gen", count=kind_files))
|
||||
print(
|
||||
_row(f"{kind} total", kind_total, indent=1, level="gen", count=kind_files)
|
||||
)
|
||||
print()
|
||||
grand_total += kind_total
|
||||
grand_files += kind_files
|
||||
@@ -414,6 +445,7 @@ def print_status(root: Path) -> None:
|
||||
# update-manifest
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def plan_update_manifest(
|
||||
manifest_path: Path,
|
||||
target_schema: str | None,
|
||||
@@ -489,8 +521,13 @@ def plan_update_manifest(
|
||||
return result, missing
|
||||
|
||||
|
||||
def apply_update_manifest(manifest_path: Path, lines: list[tuple[str, str | None]]) -> None:
|
||||
out = [replacement if replacement is not None else original for original, replacement in lines]
|
||||
def apply_update_manifest(
|
||||
manifest_path: Path, lines: list[tuple[str, str | None]]
|
||||
) -> None:
|
||||
out = [
|
||||
replacement if replacement is not None else original
|
||||
for original, replacement in lines
|
||||
]
|
||||
manifest_path.write_text("\n".join(out) + "\n")
|
||||
|
||||
|
||||
@@ -498,6 +535,7 @@ def apply_update_manifest(manifest_path: Path, lines: list[tuple[str, str | None
|
||||
# create-manifest
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def _resolve_manifest_files(manifest_path: Path) -> list[Path]:
|
||||
"""Read a manifest and return its entries as resolved absolute paths."""
|
||||
files = []
|
||||
@@ -571,6 +609,7 @@ def apply_create_manifest(output_path: Path, lines: list[str]) -> None:
|
||||
# CLI entry points (called from scripts/dwarf.py)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def run_status(root: str) -> None:
|
||||
root_path = Path(root)
|
||||
if not root_path.is_dir():
|
||||
@@ -597,7 +636,9 @@ def _run_bump(
|
||||
if gen is None:
|
||||
new_dirs, log_line = plan_bump_gen(root_path, kind, reason, by, date, to)
|
||||
else:
|
||||
new_dirs, log_line = plan_bump_schema(root_path, kind, gen, reason, by, date, to)
|
||||
new_dirs, log_line = plan_bump_schema(
|
||||
root_path, kind, gen, reason, by, date, to
|
||||
)
|
||||
|
||||
print(f"=== {'EXECUTING' if execute else 'DRY RUN'} ===")
|
||||
print("new directories:")
|
||||
|
||||
Reference in New Issue
Block a user