diff --git a/Cargo.lock b/Cargo.lock index 49e5e0751..647572ecf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1408,9 +1408,9 @@ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" [[package]] name = "fensu-facts" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cebbb33fa7353b9e6d12ad9c62481d9d672da2fd5e9d50429a968b4279d448b2" +checksum = "bbaaeb4fa29af8fa378ebd826e8a28655dfd13ed7acb98919dbe64f882681fef" dependencies = [ "dunce", "get-size2", @@ -1426,9 +1426,9 @@ dependencies = [ [[package]] name = "fensu-native" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385879149037e2b959b21e677c1cd8b302926f3d252b46c014d17cf88a9300cc" +checksum = "8053936f5ea33f32a301649d2178fad69cee1fe8aff7f17b35d56ba88d85024b" dependencies = [ "fensu-facts", "globset", diff --git a/Cargo.toml b/Cargo.toml index 870a5c559..b284cece3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,8 +77,8 @@ tower-http = { version = "0.6", default-features = false, features = ["compressi fensu-policy = "=0.22.0" # Fensu's Python facts and core rules without their Python bindings: the default `python` # feature adds PyO3, rusqlite, flate2 and sha2. -fensu-facts = { version = "=0.30.0", default-features = false } -fensu-native = { version = "=0.30.0", default-features = false } +fensu-facts = { version = "=0.31.0", default-features = false } +fensu-native = { version = "=0.31.0", default-features = false } futures-util = { version = "0.3", default-features = false, features = ["std"] } # `sqb` names compute log captures with random ids, as `uuid.uuid4().hex`. getrandom = "0.4" diff --git a/fensu.toml b/fensu.toml index f6a70bb98..fa7d7ca44 100644 --- a/fensu.toml +++ b/fensu.toml @@ -1175,6 +1175,11 @@ reason = "The custom-rule host tests compute expected module-state tokens with i [targets.python.thresholds] max_positional_args = 1 +[[targets.python.threshold_overrides]] +paths = ["src/sqlbuild/__init__.py"] +thresholds = { max_crate_code_lines = 89457 } +reason = "The runtime package is above the code-line limit; this caps it at its current size until it is split into packages by area. Lower the cap as code moves out." + [targets.python.rule_options.XSB074] pending_budgets = [ "tests/e2e/src/sqlbuild/cli/commands/main/compile/helpers.py=6", @@ -1639,6 +1644,16 @@ rule_modules = [ ] select = ["FPRS", "XSB072", "XSB073", "XSB075", "XSB076", "XSB077", "XSB078", "XSB079"] +[[targets.rust.threshold_overrides]] +paths = ["crates/sqlbuild-python/Cargo.toml"] +thresholds = { max_crate_code_lines = 217769 } +reason = "The Python bindings crate is above the code-line limit; this caps it at its current size until it is split into crates by area. Lower the cap as code moves out." + +[[targets.rust.threshold_overrides]] +paths = ["crates/sqlbuild-python/src/bindings/_helpers"] +thresholds = { max_helpers_container_buckets = 111 } +reason = "The bindings helpers container is above the bucket limit; this caps it at its current bucket count until cohesive groups move into their own modules or crates. Lower the cap as buckets move out." + [targets.rust.rule_options.XSB076] schema_paths = ["crates/sqlbuild-orchestration/src/store"] allowed = [ diff --git a/pyproject.toml b/pyproject.toml index 1f08638f7..90082607b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -81,7 +81,7 @@ dev = [ "pytest-cov>=7.0.0", "pytest-xdist>=3.8.0", "ruff>=0.12.0", - "fensu>=0.29.1", + "fensu>=0.31.0", "testcontainers>=4.8.1", "ty>=0.0.1a19", ] diff --git a/uv.lock b/uv.lock index 85f4c3677..5a2b9185d 100644 --- a/uv.lock +++ b/uv.lock @@ -1343,31 +1343,31 @@ wheels = [ [[package]] name = "fensu" -version = "0.29.1" +version = "0.31.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fensu-cli" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/45/e9/9d8ee916f426abdf40a47305238bec6001e6c1b1021a863d973861dfb738/fensu-0.29.1.tar.gz", hash = "sha256:8461d64efdfadb7eff0f395cb58dd36870d919aec0d15c42a274892a9a1240c1", size = 531134, upload-time = "2026-11-05T11:07:12.133Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/99/a1692065a637e8d85acef4de5496ca0ba93913f3365920995f4e9290f6eb/fensu-0.31.0.tar.gz", hash = "sha256:af5aad8b7595b521940e548ad11a3c649914c60d7a72e5c16f2486ae0ad00727", size = 537385, upload-time = "2026-11-15T12:31:37.016Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/21/5b988f5ec4e76ceaf511472f2a87e94e5a805aa9d5c0c778b6a8cf5121f6/fensu-0.29.1-cp312-abi3-macosx_10_12_x86_64.whl", hash = "sha256:57d3ce1a71064bc100fc0cf0a08f3f22396d48a71ac4f0148e452a9a4af1bdfd", size = 4150776, upload-time = "2026-11-05T11:06:48.593Z" }, - { url = "https://files.pythonhosted.org/packages/f3/f9/96be9309bc8a75df6523243d802e9bd5fedfc6f54113cd577d7b96142b87/fensu-0.29.1-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:3c522e7d11baef472e5f4b7cc1668c490455c4772986941da73dbd556f5abbd0", size = 4000549, upload-time = "2026-11-05T11:06:51.631Z" }, - { url = "https://files.pythonhosted.org/packages/9d/36/35f1800d9d560a2734444e9871dc9da147392736310ea30604f2a5bdb5aa/fensu-0.29.1-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:64e55545d58c158efac682ae0181575fa9af67cb5a4240fe665330db6bf87a2b", size = 4227182, upload-time = "2026-11-05T11:06:54.133Z" }, - { url = "https://files.pythonhosted.org/packages/da/05/f27b63e1ff7e25d2ec7ddcd13e623c2215eacd8dba273ab7dcb91cbff9e6/fensu-0.29.1-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c9b5872a3093da557912242d8fc060d172fb4bf31a3ce3be87866daa70cf76d2", size = 4305965, upload-time = "2026-11-05T11:06:56.436Z" }, - { url = "https://files.pythonhosted.org/packages/3e/4a/266a467e57693c4ee027163d810b4502438fe4fd5b02ab81a81018f70c72/fensu-0.29.1-cp312-abi3-win_amd64.whl", hash = "sha256:d775821b228bb433303e21d676cd6d9202954b62097a15a829862f9898451e9c", size = 3972955, upload-time = "2026-11-05T11:06:58.422Z" }, + { url = "https://files.pythonhosted.org/packages/f8/de/91648b56387827750097b61e17e395164a42c9aa07a9729df83021d4dec7/fensu-0.31.0-cp312-abi3-macosx_10_12_x86_64.whl", hash = "sha256:41b87150cd8fc57539c75209e6212e49c047a9b39ed9808aefdd0d61c85b4491", size = 4157866, upload-time = "2026-11-15T12:31:17.872Z" }, + { url = "https://files.pythonhosted.org/packages/74/e7/7d56f99c2edaf220b6669b2b05f4db816ac7b6b8190b5e91c4497448480d/fensu-0.31.0-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:3b466cbdcdf118a8d5e89f69a38f2c9b17115cb6de3b988443b50b8c6da7b41d", size = 4012595, upload-time = "2026-11-15T12:31:19.625Z" }, + { url = "https://files.pythonhosted.org/packages/e5/78/510278b4542e714cf7c7dd43189ded49de9b8fc7c759cb6c901f1b6e4286/fensu-0.31.0-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:229b8c459a85aa5560ac1b15363df69dd87bc44b68d87147a78ab8ea897fd44b", size = 4249463, upload-time = "2026-11-15T12:31:21.301Z" }, + { url = "https://files.pythonhosted.org/packages/93/d2/eb491ade5cd0b8b40376951965b873688ce05d4aa7d8bfa663ce87c810ea/fensu-0.31.0-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3eed44bc6a830384815dc80e3e9b05ab189c28d49c89a0927b1e88945c01206a", size = 4322607, upload-time = "2026-11-15T12:31:22.777Z" }, + { url = "https://files.pythonhosted.org/packages/bd/44/00d555425c9e9c0b6817416d1bd1f44387e416045c6c94c9793b87bf91ea/fensu-0.31.0-cp312-abi3-win_amd64.whl", hash = "sha256:37e17e24a25f206334f7e26041a378bff9562808aa13ef2a043b0fcee82359b9", size = 3987846, upload-time = "2026-11-15T12:31:24.29Z" }, ] [[package]] name = "fensu-cli" -version = "0.29.1" +version = "0.31.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1a/c0/c128843b495f97dc472a1550e9c49c66a88476b3a9e16805e9c74c1dcfbf/fensu_cli-0.29.1.tar.gz", hash = "sha256:26ed73adc6d0b3b4f3acdc01fc208cf5b3312a05fe10a89746dbc009f2d11270", size = 768252, upload-time = "2026-11-05T11:07:13.722Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/2f/672748107c792850f63af6adaefce85d3145b76de36599e6c0dd6a5939cb/fensu_cli-0.31.0.tar.gz", hash = "sha256:67d3aff62712369de68e9b8d01a9370da8cab2268a35b883eeb1b84728a64561", size = 781412, upload-time = "2026-11-15T12:31:38.26Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e8/bd/f05480d1d22a99f7be590ae1c11269b90249061f145530e249d6cc719451/fensu_cli-0.29.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:aecd95f965434e0506480f27831c878a8b52d1c205271ac5d1aefbe22bff7bb9", size = 7979278, upload-time = "2026-11-05T11:07:00.24Z" }, - { url = "https://files.pythonhosted.org/packages/8f/22/f55869d77767e0b605dd69af3ddb5ae7f2c7c703a59070774f99cf51dbf5/fensu_cli-0.29.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:94d2f18365f4a1526505d5d4c35ce41c10bf4daec3434a179631feb30407fbbe", size = 7498370, upload-time = "2026-11-05T11:07:03.435Z" }, - { url = "https://files.pythonhosted.org/packages/cd/33/985756764406ba114b37bd5b87abfd7a0212b8b7ed2a83e168df3e22303d/fensu_cli-0.29.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:da6ee8e758a1344c09a8ceb9c902d5907cde8699ffc71cd9a91cf3b8c3785c3b", size = 7861563, upload-time = "2026-11-05T11:07:05.264Z" }, - { url = "https://files.pythonhosted.org/packages/a2/c3/24bc7b9824c830e3ad44997a91f80db8e18e0b32ff3d2ee7e19e91accf42/fensu_cli-0.29.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0e63e44f4af2950854cb457393705a40dc4d0ffa084e3710b14a4e513e02813", size = 8320198, upload-time = "2026-11-05T11:07:07.859Z" }, - { url = "https://files.pythonhosted.org/packages/81/ee/5416a68b2b6e385cb48a3f86534246625d052a7275076544a4c9b23681e1/fensu_cli-0.29.1-py3-none-win_amd64.whl", hash = "sha256:c09d1a13cdbf56bf936c2965351282798fad9baf562dc117613607c156df8dfb", size = 7694852, upload-time = "2026-11-05T11:07:09.873Z" }, + { url = "https://files.pythonhosted.org/packages/4d/28/f369973cf3b83d863454737dfd0fc6727f7c78cac86b64a2fb77e0132b16/fensu_cli-0.31.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e914c246f32943f8ceecd359c0d3baf107a156aa8951d09ef6a74b166f4cb09c", size = 8022964, upload-time = "2026-11-15T12:31:25.917Z" }, + { url = "https://files.pythonhosted.org/packages/3e/73/481478bd5192f35627573784a8c4cb3c8b7dfb9ba4e2d693d04949986748/fensu_cli-0.31.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b698b322e27fa7eb83477418329eb9e6b72817ebe36ae7aa7bf50fe1737534ed", size = 7535483, upload-time = "2026-11-15T12:31:27.75Z" }, + { url = "https://files.pythonhosted.org/packages/af/e2/fdcf0db07a5644b0964acc492b316182912f8873f18a19b3a555a79eba03/fensu_cli-0.31.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3fdd19fe970509d8452a8c4e37f0fffdaa85e6e9ec0c0c9054f453ca2dad113d", size = 7894784, upload-time = "2026-11-15T12:31:29.665Z" }, + { url = "https://files.pythonhosted.org/packages/ad/69/87c07af19a513191a326d516541eeff4dea30e022fe1fe0e8fa21af9517b/fensu_cli-0.31.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:de717bc0ad15b147ab7fd31c2add282b446a30eddf72c46910bab6b142ff8f21", size = 8361052, upload-time = "2026-11-15T12:31:31.99Z" }, + { url = "https://files.pythonhosted.org/packages/8a/64/a1551ab57fd25d706fa8f6a4929ba832c7271dad9b9c7a3499ec6398b211/fensu_cli-0.31.0-py3-none-win_amd64.whl", hash = "sha256:66e91cfe28414c87e66c9517945bb93ca02c38273f04f4978604a4cd10cbcba0", size = 7752224, upload-time = "2026-11-15T12:31:35.271Z" }, ] [[package]] @@ -4346,7 +4346,7 @@ dev = [ { name = "dbt-snowflake", specifier = "==1.12.0b1" }, { name = "dbt-sqlserver", specifier = ">=1.9.0,<1.11" }, { name = "dlt", extras = ["duckdb", "filesystem", "sql-database"], specifier = ">=1.28.0,<2" }, - { name = "fensu", specifier = ">=0.29.1" }, + { name = "fensu", specifier = ">=0.31.0" }, { name = "ingestr", specifier = ">=1.1.73" }, { name = "jsonschema", specifier = ">=4.23.0" }, { name = "maturin", specifier = ">=1.9,<2" },