From 880a433510635f32d616fabeecff839f52cda789 Mon Sep 17 00:00:00 2001 From: Nicholas Karlson Date: Tue, 20 Jan 2026 01:17:29 -0800 Subject: [PATCH] Track D: standardize repo-level business shims (explicit imports) --- scripts/_business_etl.py | 18 ++++++++++++++- scripts/_business_recon.py | 22 ++++++++++++++++++- .../test_trackd_business_schema_shim_smoke.py | 22 +++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/scripts/_business_etl.py b/scripts/_business_etl.py index cb4a3bd..62a9511 100644 --- a/scripts/_business_etl.py +++ b/scripts/_business_etl.py @@ -9,4 +9,20 @@ from __future__ import annotations -from pystatsv1.trackd.etl import * # noqa: F401,F403 +from pystatsv1.trackd.etl import ( + GLPrepOutputs, + analyze_gl_preparation, + build_data_dictionary, + build_gl_tidy_dataset, + prepare_gl_monthly_summary, + prepare_gl_tidy, +) + +__all__ = [ + "GLPrepOutputs", + "prepare_gl_tidy", + "build_gl_tidy_dataset", + "prepare_gl_monthly_summary", + "build_data_dictionary", + "analyze_gl_preparation", +] diff --git a/scripts/_business_recon.py b/scripts/_business_recon.py index 4bfaee5..39d9e8e 100644 --- a/scripts/_business_recon.py +++ b/scripts/_business_recon.py @@ -9,4 +9,24 @@ from __future__ import annotations -from pystatsv1.trackd.recon import * # noqa: F401,F403 +from pystatsv1.trackd.recon import ( + BankReconOutputs, + ar_rollforward_vs_tb, + bank_reconcile, + build_ar_rollforward, + build_cash_txn_from_gl, + build_cash_txns_from_gl, + reconcile_bank_statement, + write_json, +) + +__all__ = [ + "write_json", + "build_cash_txns_from_gl", + "build_cash_txn_from_gl", + "BankReconOutputs", + "bank_reconcile", + "reconcile_bank_statement", + "ar_rollforward_vs_tb", + "build_ar_rollforward", +] diff --git a/tests/test_trackd_business_schema_shim_smoke.py b/tests/test_trackd_business_schema_shim_smoke.py index 4fd9f80..d8f2884 100644 --- a/tests/test_trackd_business_schema_shim_smoke.py +++ b/tests/test_trackd_business_schema_shim_smoke.py @@ -89,3 +89,25 @@ def test_track_d_template_business_recon_is_a_shim() -> None: assert "build_cash_txns_from_gl" in text assert "bank_reconcile" in text assert "ar_rollforward_vs_tb" in text + + +def test_repo_level_business_etl_shim_is_explicit() -> None: + root = Path(__file__).resolve().parents[1] + shim_path = root / "scripts" / "_business_etl.py" + assert shim_path.exists() + + text = shim_path.read_text(encoding="utf-8") + assert "pystatsv1.trackd.etl" in text + assert "__all__" in text + assert "import *" not in text + + +def test_repo_level_business_recon_shim_is_explicit() -> None: + root = Path(__file__).resolve().parents[1] + shim_path = root / "scripts" / "_business_recon.py" + assert shim_path.exists() + + text = shim_path.read_text(encoding="utf-8") + assert "pystatsv1.trackd.recon" in text + assert "__all__" in text + assert "import *" not in text