diff --git a/.github/workflows/dagster-cloud-deploy.yaml b/.github/workflows/dagster-cloud-deploy.yaml index e1d3a59a0a..255057979b 100644 --- a/.github/workflows/dagster-cloud-deploy.yaml +++ b/.github/workflows/dagster-cloud-deploy.yaml @@ -13,7 +13,7 @@ on: python-version: type: string required: false - default: 3.12.3 + default: 3.12 dbt-version: type: string required: false diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml index 8706ab643d..af6c448846 100644 --- a/.trunk/trunk.yaml +++ b/.trunk/trunk.yaml @@ -19,14 +19,14 @@ lint: - osv-scanner@1.8.2 - oxipng@9.1.2 - prettier@3.3.3 - - ruff@0.5.2 + - ruff@0.5.3 - shellcheck@0.10.0 - shfmt@3.6.0 - sqlfluff@3.1.0 - sqlfmt@0.21.4 - svgo@3.3.2 - taplo@0.9.2 - - trufflehog@3.79.0 + - trufflehog@3.80.1 - yamllint@1.35.1 disabled: - black diff --git a/pdm.lock b/pdm.lock index 43131dc97f..e5410033ca 100644 --- a/pdm.lock +++ b/pdm.lock @@ -447,7 +447,7 @@ files = [ [[package]] name = "dagster" -version = "1.7.13" +version = "1.7.14" requires_python = "<3.13,>=3.8" summary = "Dagster is an orchestration platform for the development, production, and observation of data assets." groups = ["default", "dev"] @@ -458,11 +458,11 @@ dependencies = [ "click>=5.0", "coloredlogs<=14.0,>=6.1", "croniter>=0.3.34", - "dagster-pipes==1.7.13", + "dagster-pipes==1.7.14", "docstring-parser", "filelock", - "grpcio-health-checking>=1.44.0", - "grpcio>=1.44.0", + "grpcio-health-checking<1.65.0,>=1.44.0", + "grpcio<1.65.0,>=1.44.0", "packaging>=20.9", "pendulum<3,>=0.7.0; python_version < \"3.9\"", "pendulum<4,>=0.7.0; python_version >= \"3.9\" and python_version < \"3.12\"", @@ -489,51 +489,51 @@ dependencies = [ "watchdog>=0.8.3", ] files = [ - {file = "dagster-1.7.13-py3-none-any.whl", hash = "sha256:0d8abadab72d7ea617655b08ff51eee8071a4b2694a7fc697ec9f8e3e3403176"}, - {file = "dagster-1.7.13.tar.gz", hash = "sha256:3a246bc6658ae2deadf96e7f5055210bf07a54817767243ed8ec9c72c876e633"}, + {file = "dagster-1.7.14-py3-none-any.whl", hash = "sha256:6030e47b34a59cf9146443e864b6755b2b95f9fb68285632bfd52898f0c2770c"}, + {file = "dagster-1.7.14.tar.gz", hash = "sha256:5f6557170e46d35f526a4559986e5e83007dc10e2e8626e31b79d577138b2e1d"}, ] [[package]] name = "dagster-airbyte" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "Package for integrating Airbyte with Dagster." groups = ["default"] dependencies = [ - "dagster==1.7.13", + "dagster==1.7.14", "requests", ] files = [ - {file = "dagster-airbyte-0.23.13.tar.gz", hash = "sha256:b9f9fad8349b79f420edb0d1013b95fd4b9254068c142fd18e5d64a161f63a9c"}, - {file = "dagster_airbyte-0.23.13-py3-none-any.whl", hash = "sha256:b673050383f1b0f8875719e412adc79b809b3bb090e04cbfb34d6161980812ac"}, + {file = "dagster-airbyte-0.23.14.tar.gz", hash = "sha256:246418813b34df8a33ab5e9cf6d17c831eb38f9d81fb631dc457d568a9e1b5fd"}, + {file = "dagster_airbyte-0.23.14-py3-none-any.whl", hash = "sha256:ae59d623c3c881aaaaad4189a68a1d09997bd1565e190e1754051304709e9b32"}, ] [[package]] name = "dagster-cloud" -version = "1.7.13" +version = "1.7.14" summary = "" groups = ["default"] dependencies = [ - "dagster-cloud-cli==1.7.13", - "dagster==1.7.13", + "dagster-cloud-cli==1.7.14", + "dagster==1.7.14", "pex<3,>=2.1.132", "questionary", "requests", "typer", ] files = [ - {file = "dagster-cloud-1.7.13.tar.gz", hash = "sha256:37e0a1ba08958cd301a5ef98ef1a6ddd91e5fa4a598cb1ce3bab031b4cec24df"}, - {file = "dagster_cloud-1.7.13-py3-none-any.whl", hash = "sha256:847e8aa6d017c105470b49713dc6ec9648f3a0433de5cda8cec4de60ed43a040"}, + {file = "dagster-cloud-1.7.14.tar.gz", hash = "sha256:8a18c4c23ee59aa6901f68496b6170473d5fdf6e155ee2ccb268c53c4819d4a1"}, + {file = "dagster_cloud-1.7.14-py3-none-any.whl", hash = "sha256:cb58cc6dbbb05d879d0fe28e0082204e40df23b1d9b7175cf59b8c2da83e43f2"}, ] [[package]] name = "dagster-cloud-cli" -version = "1.7.13" +version = "1.7.14" summary = "" groups = ["default"] dependencies = [ "PyYAML>=5.1", - "dagster==1.7.13", + "dagster==1.7.14", "github3-py", "packaging>=20.9", "questionary", @@ -541,19 +541,19 @@ dependencies = [ "typer>=0.4.1", ] files = [ - {file = "dagster-cloud-cli-1.7.13.tar.gz", hash = "sha256:4b579a0e2999c922e75453fef8676b2235e4ab509c5500ada4f8a40dafb4a0a5"}, - {file = "dagster_cloud_cli-1.7.13-py3-none-any.whl", hash = "sha256:22c2e8eb046901f8c6af5ded8ffd85fb7f9adcbf67e1808f6180a9e21ef6e65a"}, + {file = "dagster-cloud-cli-1.7.14.tar.gz", hash = "sha256:7f8832d1c083276361fa062fce66afc810de0256c18523772e3264084a72fd3d"}, + {file = "dagster_cloud_cli-1.7.14-py3-none-any.whl", hash = "sha256:0a906d6061f5ab68406e3c8ffac0d972e63a4f8833dc7e3f1eae2e6eafb9f3ca"}, ] [[package]] name = "dagster-dbt" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "A Dagster integration for dbt" groups = ["default"] dependencies = [ "Jinja2", - "dagster==1.7.13", + "dagster==1.7.14", "dbt-core<1.9,>=1.6", "networkx", "orjson", @@ -564,33 +564,33 @@ dependencies = [ "typer>=0.9.0", ] files = [ - {file = "dagster-dbt-0.23.13.tar.gz", hash = "sha256:d58d9cb843294f2bbe0383dbe5af5bf75fef2c9e67caa7dc7e9d9f20d08e28ad"}, - {file = "dagster_dbt-0.23.13-py3-none-any.whl", hash = "sha256:584ab8bd8a422eb68b59271fe7f6bd1a17c93dc5926debf98c78bea4830d7929"}, + {file = "dagster-dbt-0.23.14.tar.gz", hash = "sha256:0f912d900d1ac91d841b6ca5c65f643ac2d819764a9b3b4de5df211e2664ecc5"}, + {file = "dagster_dbt-0.23.14-py3-none-any.whl", hash = "sha256:ad287426de2786e0179d076ce193759c6e4e555b984aa380a5be9a20296f52f5"}, ] [[package]] name = "dagster-fivetran" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "Package for integrating Fivetran with Dagster." groups = ["default"] dependencies = [ - "dagster==1.7.13", + "dagster==1.7.14", ] files = [ - {file = "dagster-fivetran-0.23.13.tar.gz", hash = "sha256:b6ae5c94668b8eb72d8dc8fcb27f313fabe10e8b06c9378072b44050100715e0"}, - {file = "dagster_fivetran-0.23.13-py3-none-any.whl", hash = "sha256:eec55fc4191adeab94ce95dd46d0a47de4da9c1c460bb871e0c3e25f003f7a50"}, + {file = "dagster-fivetran-0.23.14.tar.gz", hash = "sha256:b17e819430f752e4de41a267291402805b2c5110892d01f74166b6d015a1172b"}, + {file = "dagster_fivetran-0.23.14-py3-none-any.whl", hash = "sha256:84451fcb724ff4a6fa9693311d4daada100a5d605176a72f32373f0be5170d90"}, ] [[package]] name = "dagster-gcp" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "Package for GCP-specific Dagster framework op and resource components." groups = ["default"] dependencies = [ - "dagster-pandas==0.23.13", - "dagster==1.7.13", + "dagster-pandas==0.23.14", + "dagster==1.7.14", "db-dtypes", "google-api-python-client", "google-cloud-bigquery", @@ -598,103 +598,103 @@ dependencies = [ "oauth2client", ] files = [ - {file = "dagster-gcp-0.23.13.tar.gz", hash = "sha256:d42c00416be6a5f81b5f1635eaabd9a64fc9a5a07f55419a2a4497b468be61ff"}, - {file = "dagster_gcp-0.23.13-py3-none-any.whl", hash = "sha256:f27e317960a8c3681850465f99eb9860d09061d5c3a4e284cf5757f413559686"}, + {file = "dagster-gcp-0.23.14.tar.gz", hash = "sha256:44444e20574152b58d763e66c6f311e0f1629458557463e1e75baa2f9275a2c8"}, + {file = "dagster_gcp-0.23.14-py3-none-any.whl", hash = "sha256:1e8a83d47836e5acc87b8143f786865ed39a550850aa054ed861e24ffe4b06cd"}, ] [[package]] name = "dagster-graphql" -version = "1.7.13" +version = "1.7.14" requires_python = "<3.13,>=3.8" summary = "The GraphQL frontend to python dagster." groups = ["dev"] dependencies = [ - "dagster==1.7.13", + "dagster==1.7.14", "gql[requests]<4,>=3", "graphene<4,>=3", "requests", "starlette", ] files = [ - {file = "dagster-graphql-1.7.13.tar.gz", hash = "sha256:735381993feaba4d54630c52cdcffb139e558a6389f1ed2441ed4356cd4ee2e9"}, - {file = "dagster_graphql-1.7.13-py3-none-any.whl", hash = "sha256:169c0ac2c4ad771a0a6936afe19ce5f06a563d331e997bf148bb8e07c678d1e8"}, + {file = "dagster-graphql-1.7.14.tar.gz", hash = "sha256:33bf5beb7957259e59c1fbbecb6c31d9389dc4657dd231a19e3bf7f287c5a1f9"}, + {file = "dagster_graphql-1.7.14-py3-none-any.whl", hash = "sha256:b663611056202b17e8a8e5437c8f3235c949983453851512b31929887b439b5d"}, ] [[package]] name = "dagster-k8s" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "A Dagster integration for k8s" groups = ["default"] dependencies = [ - "dagster==1.7.13", + "dagster==1.7.14", "google-auth!=2.23.1", "kubernetes", ] files = [ - {file = "dagster-k8s-0.23.13.tar.gz", hash = "sha256:398d2516eec369f912b5d06c2a116acccdc712544d0942c792f919419fcde441"}, - {file = "dagster_k8s-0.23.13-py3-none-any.whl", hash = "sha256:421f42e1371adb3c4b8e7e5ee4909ebbb14611e26d56cc808fc8bcc23f37f653"}, + {file = "dagster-k8s-0.23.14.tar.gz", hash = "sha256:5c83abb6f095cdbeed9c3f7bab5f77f98938a6ff0d6ed56b47e228f2d0004e91"}, + {file = "dagster_k8s-0.23.14-py3-none-any.whl", hash = "sha256:2facb93fcf4e9bdde5a8bf90a3a28d596df93ed153bf30d262d14d33b02792a1"}, ] [[package]] name = "dagster-pandas" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "Utilities and examples for working with pandas and dagster, an opinionated framework for expressing data pipelines" groups = ["default"] dependencies = [ - "dagster==1.7.13", + "dagster==1.7.14", "numpy<2", "pandas", ] files = [ - {file = "dagster-pandas-0.23.13.tar.gz", hash = "sha256:e1eb3e0fceee685c4a75dc1586cc9a6f91fc0fec1034b6eb25d66b8ddd27a3a5"}, - {file = "dagster_pandas-0.23.13-py3-none-any.whl", hash = "sha256:6bee9259d07832b459c0864f53c6f1026f70eaa52dd07ea5f4c9dc562b6ef558"}, + {file = "dagster-pandas-0.23.14.tar.gz", hash = "sha256:c8dfbe19353d8cb016feefa45004248c36ed1dcea0da0d7b0d787ef1101fa75e"}, + {file = "dagster_pandas-0.23.14-py3-none-any.whl", hash = "sha256:df8e998fda5501c3bccced03e8e90e5e188002cb665c7452ad7c30a9639ebcd2"}, ] [[package]] name = "dagster-pipes" -version = "1.7.13" +version = "1.7.14" requires_python = "<3.13,>=3.8" summary = "Toolkit for Dagster integrations with transform logic outside of Dagster" groups = ["default", "dev"] files = [ - {file = "dagster-pipes-1.7.13.tar.gz", hash = "sha256:4a70baca8e78045045aedf5dc9319005d1c6eb8e3e84a8f6a5c58ea157853aef"}, - {file = "dagster_pipes-1.7.13-py3-none-any.whl", hash = "sha256:84011a3b8d294c5dc060bc574fa458b0582a1a98954ea12b83fe5196f71dc5ce"}, + {file = "dagster-pipes-1.7.14.tar.gz", hash = "sha256:e80b198739e52f83109a236cf3e1277f47feedc754bf4ae55b110800f2fe9fb0"}, + {file = "dagster_pipes-1.7.14-py3-none-any.whl", hash = "sha256:0f0d16be47a985787d57652c173a9384ae28fe365a93f1076ac2b3d66fef473a"}, ] [[package]] name = "dagster-ssh" -version = "0.23.13" +version = "0.23.14" requires_python = "<3.13,>=3.8" summary = "Package for ssh Dagster framework components." groups = ["default"] dependencies = [ - "dagster==1.7.13", + "dagster==1.7.14", "paramiko", "sshtunnel", ] files = [ - {file = "dagster-ssh-0.23.13.tar.gz", hash = "sha256:9f3722cd17f8cd270822958f6533ddfeace181d41a114742487c01a6e307a25b"}, - {file = "dagster_ssh-0.23.13-py3-none-any.whl", hash = "sha256:9e038dade21dc33dcd48079b976c56da9387c1286fb5503142c56c2945be98ad"}, + {file = "dagster-ssh-0.23.14.tar.gz", hash = "sha256:a21c6fc867d8b7a040d062c8823fed6edebe5b0a6c0296f8e8dc52e8a638e6e7"}, + {file = "dagster_ssh-0.23.14-py3-none-any.whl", hash = "sha256:7dcddcc6c86b107a0b635fe85d180f1ff3e879bd910ad3ddf53e30a34f10fe7d"}, ] [[package]] name = "dagster-webserver" -version = "1.7.13" +version = "1.7.14" requires_python = "<3.13,>=3.8" summary = "Web UI for dagster." groups = ["dev"] dependencies = [ "click<9.0,>=7.0", - "dagster-graphql==1.7.13", - "dagster==1.7.13", + "dagster-graphql==1.7.14", + "dagster==1.7.14", "starlette!=0.36.0", "uvicorn[standard]", ] files = [ - {file = "dagster-webserver-1.7.13.tar.gz", hash = "sha256:e8c9042cf464fe6fbe490f80ed70b12790611faf478fce3a3e08c1b6429feabf"}, - {file = "dagster_webserver-1.7.13-py3-none-any.whl", hash = "sha256:2ae4ea43e4157addaed477082e748ac306dde2dcab96005e2ca39552f57f7384"}, + {file = "dagster-webserver-1.7.14.tar.gz", hash = "sha256:44fd8dce19ea796cb14f8d0c08f6fa7654f067a67c877d4f2c7f8d3a69c3943b"}, + {file = "dagster_webserver-1.7.14-py3-none-any.whl", hash = "sha256:9ab0c63280bb0f9dd76ea14505cf8dbb0d79c2cd2f855d3d4896e40e705afd89"}, ] [[package]] @@ -806,7 +806,7 @@ files = [ [[package]] name = "dbt-core" -version = "1.8.3" +version = "1.8.4" requires_python = ">=3.8" summary = "With dbt, data analysts and engineers can build analytics the way engineers build applications." groups = ["default"] @@ -833,8 +833,8 @@ dependencies = [ "typing-extensions>=4.4", ] files = [ - {file = "dbt_core-1.8.3-py3-none-any.whl", hash = "sha256:29c4d3ed4385090492ea48e88c58a405e4d646aabde81e7945bedddb2a55e86e"}, - {file = "dbt_core-1.8.3.tar.gz", hash = "sha256:e98ea11f0c91f086e9df9ac4d2e6093cf30a94e6fd419541a32374ddd6b92d9e"}, + {file = "dbt_core-1.8.4-py3-none-any.whl", hash = "sha256:d748d51b9d38c0b93b7f047cc32bdd97a5933cb89aec33bf17a47172c12fda03"}, + {file = "dbt_core-1.8.4.tar.gz", hash = "sha256:3eb37273f7ceaa070a8e3e42bfd806954be769f87292971829ce8e5baa9abad5"}, ] [[package]] @@ -1372,21 +1372,21 @@ files = [ [[package]] name = "grpcio" -version = "1.65.1" +version = "1.64.1" requires_python = ">=3.8" summary = "HTTP/2-based RPC framework" groups = ["default", "dev"] files = [ - {file = "grpcio-1.65.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:54cb822e177374b318b233e54b6856c692c24cdbd5a3ba5335f18a47396bac8f"}, - {file = "grpcio-1.65.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:aaf3c54419a28d45bd1681372029f40e5bfb58e5265e3882eaf21e4a5f81a119"}, - {file = "grpcio-1.65.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:557de35bdfbe8bafea0a003dbd0f4da6d89223ac6c4c7549d78e20f92ead95d9"}, - {file = "grpcio-1.65.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8bfd95ef3b097f0cc86ade54eafefa1c8ed623aa01a26fbbdcd1a3650494dd11"}, - {file = "grpcio-1.65.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e6a8f3d6c41e6b642870afe6cafbaf7b61c57317f9ec66d0efdaf19db992b90"}, - {file = "grpcio-1.65.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1faaf7355ceed07ceaef0b9dcefa4c98daf1dd8840ed75c2de128c3f4a4d859d"}, - {file = "grpcio-1.65.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:60f1f38eed830488ad2a1b11579ef0f345ff16fffdad1d24d9fbc97ba31804ff"}, - {file = "grpcio-1.65.1-cp312-cp312-win32.whl", hash = "sha256:e75acfa52daf5ea0712e8aa82f0003bba964de7ae22c26d208cbd7bc08500177"}, - {file = "grpcio-1.65.1-cp312-cp312-win_amd64.whl", hash = "sha256:ff5a84907e51924973aa05ed8759210d8cdae7ffcf9e44fd17646cf4a902df59"}, - {file = "grpcio-1.65.1.tar.gz", hash = "sha256:3c492301988cd720cd145d84e17318d45af342e29ef93141228f9cd73222368b"}, + {file = "grpcio-1.64.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:4657d24c8063e6095f850b68f2d1ba3b39f2b287a38242dcabc166453e950c59"}, + {file = "grpcio-1.64.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:62b4e6eb7bf901719fce0ca83e3ed474ae5022bb3827b0a501e056458c51c0a1"}, + {file = "grpcio-1.64.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:ee73a2f5ca4ba44fa33b4d7d2c71e2c8a9e9f78d53f6507ad68e7d2ad5f64a22"}, + {file = "grpcio-1.64.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:198908f9b22e2672a998870355e226a725aeab327ac4e6ff3a1399792ece4762"}, + {file = "grpcio-1.64.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39b9d0acaa8d835a6566c640f48b50054f422d03e77e49716d4c4e8e279665a1"}, + {file = "grpcio-1.64.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5e42634a989c3aa6049f132266faf6b949ec2a6f7d302dbb5c15395b77d757eb"}, + {file = "grpcio-1.64.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1a82e0b9b3022799c336e1fc0f6210adc019ae84efb7321d668129d28ee1efb"}, + {file = "grpcio-1.64.1-cp312-cp312-win32.whl", hash = "sha256:55260032b95c49bee69a423c2f5365baa9369d2f7d233e933564d8a47b893027"}, + {file = "grpcio-1.64.1-cp312-cp312-win_amd64.whl", hash = "sha256:c1a786ac592b47573a5bb7e35665c08064a5d77ab88a076eec11f8ae86b3e3f6"}, + {file = "grpcio-1.64.1.tar.gz", hash = "sha256:8d51dd1c59d5fa0f34266b80a3805ec29a1f26425c2a54736133f6d87fc4968a"}, ] [[package]] @@ -2762,29 +2762,29 @@ files = [ [[package]] name = "sqlglot" -version = "25.6.0" +version = "25.6.1" requires_python = ">=3.7" summary = "An easily customizable SQL parser and transpiler" groups = ["default"] files = [ - {file = "sqlglot-25.6.0-py3-none-any.whl", hash = "sha256:629dbd7a043987f42203369288f44f059cbbaa4bfee6d7778b8c56020215557e"}, - {file = "sqlglot-25.6.0.tar.gz", hash = "sha256:4c68fbf78f31606a99a75650de710db80a0d6bc32f04d0839626629ae624a3c9"}, + {file = "sqlglot-25.6.1-py3-none-any.whl", hash = "sha256:c1fcbaa00429979f16fb8cea20279a8b3f5312e76d97abb8f8c6a9b21be450d7"}, + {file = "sqlglot-25.6.1.tar.gz", hash = "sha256:ea40f3bf8452e2c1a696fe120163190bd67e49b346336e7db6d34400b57b7601"}, ] [[package]] name = "sqlglot" -version = "25.6.0" +version = "25.6.1" extras = ["rs"] requires_python = ">=3.7" summary = "An easily customizable SQL parser and transpiler" groups = ["default"] dependencies = [ - "sqlglot==25.6.0", + "sqlglot==25.6.1", "sqlglotrs==0.2.8", ] files = [ - {file = "sqlglot-25.6.0-py3-none-any.whl", hash = "sha256:629dbd7a043987f42203369288f44f059cbbaa4bfee6d7778b8c56020215557e"}, - {file = "sqlglot-25.6.0.tar.gz", hash = "sha256:4c68fbf78f31606a99a75650de710db80a0d6bc32f04d0839626629ae624a3c9"}, + {file = "sqlglot-25.6.1-py3-none-any.whl", hash = "sha256:c1fcbaa00429979f16fb8cea20279a8b3f5312e76d97abb8f8c6a9b21be450d7"}, + {file = "sqlglot-25.6.1.tar.gz", hash = "sha256:ea40f3bf8452e2c1a696fe120163190bd67e49b346336e7db6d34400b57b7601"}, ] [[package]] diff --git a/requirements.txt b/requirements.txt index 0e94a5a406..a80eb69203 100644 --- a/requirements.txt +++ b/requirements.txt @@ -154,39 +154,39 @@ cryptography==42.0.8 \ --hash=sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e daff==1.3.46 \ --hash=sha256:22d0da9fd6a3275b54c926a9c97b180f9258aad65113ea18f3fec52cbadcd818 -dagster==1.7.13 \ - --hash=sha256:0d8abadab72d7ea617655b08ff51eee8071a4b2694a7fc697ec9f8e3e3403176 \ - --hash=sha256:3a246bc6658ae2deadf96e7f5055210bf07a54817767243ed8ec9c72c876e633 -dagster-airbyte==0.23.13 \ - --hash=sha256:b673050383f1b0f8875719e412adc79b809b3bb090e04cbfb34d6161980812ac \ - --hash=sha256:b9f9fad8349b79f420edb0d1013b95fd4b9254068c142fd18e5d64a161f63a9c -dagster-cloud==1.7.13 \ - --hash=sha256:37e0a1ba08958cd301a5ef98ef1a6ddd91e5fa4a598cb1ce3bab031b4cec24df \ - --hash=sha256:847e8aa6d017c105470b49713dc6ec9648f3a0433de5cda8cec4de60ed43a040 -dagster-cloud-cli==1.7.13 \ - --hash=sha256:22c2e8eb046901f8c6af5ded8ffd85fb7f9adcbf67e1808f6180a9e21ef6e65a \ - --hash=sha256:4b579a0e2999c922e75453fef8676b2235e4ab509c5500ada4f8a40dafb4a0a5 -dagster-dbt==0.23.13 \ - --hash=sha256:584ab8bd8a422eb68b59271fe7f6bd1a17c93dc5926debf98c78bea4830d7929 \ - --hash=sha256:d58d9cb843294f2bbe0383dbe5af5bf75fef2c9e67caa7dc7e9d9f20d08e28ad -dagster-fivetran==0.23.13 \ - --hash=sha256:b6ae5c94668b8eb72d8dc8fcb27f313fabe10e8b06c9378072b44050100715e0 \ - --hash=sha256:eec55fc4191adeab94ce95dd46d0a47de4da9c1c460bb871e0c3e25f003f7a50 -dagster-gcp==0.23.13 \ - --hash=sha256:d42c00416be6a5f81b5f1635eaabd9a64fc9a5a07f55419a2a4497b468be61ff \ - --hash=sha256:f27e317960a8c3681850465f99eb9860d09061d5c3a4e284cf5757f413559686 -dagster-k8s==0.23.13 \ - --hash=sha256:398d2516eec369f912b5d06c2a116acccdc712544d0942c792f919419fcde441 \ - --hash=sha256:421f42e1371adb3c4b8e7e5ee4909ebbb14611e26d56cc808fc8bcc23f37f653 -dagster-pandas==0.23.13 \ - --hash=sha256:6bee9259d07832b459c0864f53c6f1026f70eaa52dd07ea5f4c9dc562b6ef558 \ - --hash=sha256:e1eb3e0fceee685c4a75dc1586cc9a6f91fc0fec1034b6eb25d66b8ddd27a3a5 -dagster-pipes==1.7.13 \ - --hash=sha256:4a70baca8e78045045aedf5dc9319005d1c6eb8e3e84a8f6a5c58ea157853aef \ - --hash=sha256:84011a3b8d294c5dc060bc574fa458b0582a1a98954ea12b83fe5196f71dc5ce -dagster-ssh==0.23.13 \ - --hash=sha256:9e038dade21dc33dcd48079b976c56da9387c1286fb5503142c56c2945be98ad \ - --hash=sha256:9f3722cd17f8cd270822958f6533ddfeace181d41a114742487c01a6e307a25b +dagster==1.7.14 \ + --hash=sha256:5f6557170e46d35f526a4559986e5e83007dc10e2e8626e31b79d577138b2e1d \ + --hash=sha256:6030e47b34a59cf9146443e864b6755b2b95f9fb68285632bfd52898f0c2770c +dagster-airbyte==0.23.14 \ + --hash=sha256:246418813b34df8a33ab5e9cf6d17c831eb38f9d81fb631dc457d568a9e1b5fd \ + --hash=sha256:ae59d623c3c881aaaaad4189a68a1d09997bd1565e190e1754051304709e9b32 +dagster-cloud==1.7.14 \ + --hash=sha256:8a18c4c23ee59aa6901f68496b6170473d5fdf6e155ee2ccb268c53c4819d4a1 \ + --hash=sha256:cb58cc6dbbb05d879d0fe28e0082204e40df23b1d9b7175cf59b8c2da83e43f2 +dagster-cloud-cli==1.7.14 \ + --hash=sha256:0a906d6061f5ab68406e3c8ffac0d972e63a4f8833dc7e3f1eae2e6eafb9f3ca \ + --hash=sha256:7f8832d1c083276361fa062fce66afc810de0256c18523772e3264084a72fd3d +dagster-dbt==0.23.14 \ + --hash=sha256:0f912d900d1ac91d841b6ca5c65f643ac2d819764a9b3b4de5df211e2664ecc5 \ + --hash=sha256:ad287426de2786e0179d076ce193759c6e4e555b984aa380a5be9a20296f52f5 +dagster-fivetran==0.23.14 \ + --hash=sha256:84451fcb724ff4a6fa9693311d4daada100a5d605176a72f32373f0be5170d90 \ + --hash=sha256:b17e819430f752e4de41a267291402805b2c5110892d01f74166b6d015a1172b +dagster-gcp==0.23.14 \ + --hash=sha256:1e8a83d47836e5acc87b8143f786865ed39a550850aa054ed861e24ffe4b06cd \ + --hash=sha256:44444e20574152b58d763e66c6f311e0f1629458557463e1e75baa2f9275a2c8 +dagster-k8s==0.23.14 \ + --hash=sha256:2facb93fcf4e9bdde5a8bf90a3a28d596df93ed153bf30d262d14d33b02792a1 \ + --hash=sha256:5c83abb6f095cdbeed9c3f7bab5f77f98938a6ff0d6ed56b47e228f2d0004e91 +dagster-pandas==0.23.14 \ + --hash=sha256:c8dfbe19353d8cb016feefa45004248c36ed1dcea0da0d7b0d787ef1101fa75e \ + --hash=sha256:df8e998fda5501c3bccced03e8e90e5e188002cb665c7452ad7c30a9639ebcd2 +dagster-pipes==1.7.14 \ + --hash=sha256:0f0d16be47a985787d57652c173a9384ae28fe365a93f1076ac2b3d66fef473a \ + --hash=sha256:e80b198739e52f83109a236cf3e1277f47feedc754bf4ae55b110800f2fe9fb0 +dagster-ssh==0.23.14 \ + --hash=sha256:7dcddcc6c86b107a0b635fe85d180f1ff3e879bd910ad3ddf53e30a34f10fe7d \ + --hash=sha256:a21c6fc867d8b7a040d062c8823fed6edebe5b0a6c0296f8e8dc52e8a638e6e7 db-dtypes==1.2.0 \ --hash=sha256:3531bb1fb8b5fbab33121fe243ccc2ade16ab2524f4c113b05cc702a1908e6ea \ --hash=sha256:6320bddd31d096447ef749224d64aab00972ed20e4392d86f7d8b81ad79f7ff0 @@ -199,9 +199,9 @@ dbt-bigquery==1.8.2 \ dbt-common==1.6.0 \ --hash=sha256:1e3063921354ba8681da21fe1882f516ce7418fa2838996254e466f9e31cdc16 \ --hash=sha256:543ffe14e81e126cf573f3f5badf17408a1cd350993214f4a6346e3ac0187806 -dbt-core==1.8.3 \ - --hash=sha256:29c4d3ed4385090492ea48e88c58a405e4d646aabde81e7945bedddb2a55e86e \ - --hash=sha256:e98ea11f0c91f086e9df9ac4d2e6093cf30a94e6fd419541a32374ddd6b92d9e +dbt-core==1.8.4 \ + --hash=sha256:3eb37273f7ceaa070a8e3e42bfd806954be769f87292971829ce8e5baa9abad5 \ + --hash=sha256:d748d51b9d38c0b93b7f047cc32bdd97a5933cb89aec33bf17a47172c12fda03 dbt-extractor==0.5.1 \ --hash=sha256:100453ba06e169cbdb118234ab3f06f6722a2e0e316089b81c88dea701212abc \ --hash=sha256:1b25fa7a276ab26aa2d70ff6e0cf4cfb1490d7831fb57ee1337c24d2b0333b84 \ @@ -306,17 +306,17 @@ greenlet==3.0.3; (platform_machine == "win32" or platform_machine == "WIN32" or grpc-google-iam-v1==0.13.1 \ --hash=sha256:3ff4b2fd9d990965e410965253c0da6f66205d5a8291c4c31c6ebecca18a9001 \ --hash=sha256:c3e86151a981811f30d5e7330f271cee53e73bb87755e88cc3b6f0c7b5fe374e -grpcio==1.65.1 \ - --hash=sha256:1faaf7355ceed07ceaef0b9dcefa4c98daf1dd8840ed75c2de128c3f4a4d859d \ - --hash=sha256:3c492301988cd720cd145d84e17318d45af342e29ef93141228f9cd73222368b \ - --hash=sha256:54cb822e177374b318b233e54b6856c692c24cdbd5a3ba5335f18a47396bac8f \ - --hash=sha256:557de35bdfbe8bafea0a003dbd0f4da6d89223ac6c4c7549d78e20f92ead95d9 \ - --hash=sha256:60f1f38eed830488ad2a1b11579ef0f345ff16fffdad1d24d9fbc97ba31804ff \ - --hash=sha256:8bfd95ef3b097f0cc86ade54eafefa1c8ed623aa01a26fbbdcd1a3650494dd11 \ - --hash=sha256:9e6a8f3d6c41e6b642870afe6cafbaf7b61c57317f9ec66d0efdaf19db992b90 \ - --hash=sha256:aaf3c54419a28d45bd1681372029f40e5bfb58e5265e3882eaf21e4a5f81a119 \ - --hash=sha256:e75acfa52daf5ea0712e8aa82f0003bba964de7ae22c26d208cbd7bc08500177 \ - --hash=sha256:ff5a84907e51924973aa05ed8759210d8cdae7ffcf9e44fd17646cf4a902df59 +grpcio==1.64.1 \ + --hash=sha256:198908f9b22e2672a998870355e226a725aeab327ac4e6ff3a1399792ece4762 \ + --hash=sha256:39b9d0acaa8d835a6566c640f48b50054f422d03e77e49716d4c4e8e279665a1 \ + --hash=sha256:4657d24c8063e6095f850b68f2d1ba3b39f2b287a38242dcabc166453e950c59 \ + --hash=sha256:55260032b95c49bee69a423c2f5365baa9369d2f7d233e933564d8a47b893027 \ + --hash=sha256:5e42634a989c3aa6049f132266faf6b949ec2a6f7d302dbb5c15395b77d757eb \ + --hash=sha256:62b4e6eb7bf901719fce0ca83e3ed474ae5022bb3827b0a501e056458c51c0a1 \ + --hash=sha256:8d51dd1c59d5fa0f34266b80a3805ec29a1f26425c2a54736133f6d87fc4968a \ + --hash=sha256:b1a82e0b9b3022799c336e1fc0f6210adc019ae84efb7321d668129d28ee1efb \ + --hash=sha256:c1a786ac592b47573a5bb7e35665c08064a5d77ab88a076eec11f8ae86b3e3f6 \ + --hash=sha256:ee73a2f5ca4ba44fa33b4d7d2c71e2c8a9e9f78d53f6507ad68e7d2ad5f64a22 grpcio-health-checking==1.62.2 \ --hash=sha256:a44d1ea1e1510b5c62265dada04d86621bb1491d75de987713c9c0ea005c10a8 \ --hash=sha256:f0d77e02457aa00e98ce12c741dca6df7e34dbcc3859681c4a473dc589288e56 @@ -688,12 +688,12 @@ sqlalchemy==2.0.31 \ --hash=sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67 \ --hash=sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449 \ --hash=sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a -sqlglot==25.6.0 \ - --hash=sha256:4c68fbf78f31606a99a75650de710db80a0d6bc32f04d0839626629ae624a3c9 \ - --hash=sha256:629dbd7a043987f42203369288f44f059cbbaa4bfee6d7778b8c56020215557e -sqlglot[rs]==25.6.0 \ - --hash=sha256:4c68fbf78f31606a99a75650de710db80a0d6bc32f04d0839626629ae624a3c9 \ - --hash=sha256:629dbd7a043987f42203369288f44f059cbbaa4bfee6d7778b8c56020215557e +sqlglot==25.6.1 \ + --hash=sha256:c1fcbaa00429979f16fb8cea20279a8b3f5312e76d97abb8f8c6a9b21be450d7 \ + --hash=sha256:ea40f3bf8452e2c1a696fe120163190bd67e49b346336e7db6d34400b57b7601 +sqlglot[rs]==25.6.1 \ + --hash=sha256:c1fcbaa00429979f16fb8cea20279a8b3f5312e76d97abb8f8c6a9b21be450d7 \ + --hash=sha256:ea40f3bf8452e2c1a696fe120163190bd67e49b346336e7db6d34400b57b7601 sqlglotrs==0.2.8 \ --hash=sha256:010e453e7f86a5b26e2cb31c7bbdadaf4131fc5b7c9cfd79a42d4b989446c317 \ --hash=sha256:1798db5197d4f450efc8585c9c6d5d554d25d1cdfe3c2a8de147e116ea09fa5f \ diff --git a/src/dbt/renlearn/models/staging/stg_renlearn__fast_star.sql b/src/dbt/renlearn/models/staging/stg_renlearn__fast_star.sql index 0d2ad0d5e4..2856d2d945 100644 --- a/src/dbt/renlearn/models/staging/stg_renlearn__fast_star.sql +++ b/src/dbt/renlearn/models/staging/stg_renlearn__fast_star.sql @@ -1,178 +1,181 @@ select - assess_num as `assess_num`, - assess_status as `assess_status`, - cbtflag as `cbt_flag`, - cid as `cid`, - classcode as `class_code`, - clientid as `client_id`, - cname as `cname`, - completeddate as `completed_date`, - completeddatelocal as `completed_date_local`, - currentsgp as `current_sgp`, - dbm_level as `dbm_level`, - dbmc_nol as `dbmc_nol`, - dbmc_pr_max as `dbmc_pr_max`, - dbmc_pr_min as `dbmc_pr_min`, - dbmc as `dbmc`, - dbmp as `dbmp`, - dis as `dis`, - disname as `dis_name`, - dob as `dob`, - email_s as `email_s`, - email_t as `email_t`, - enrolled as `enrolled`, - estorf as `est_orf`, - ethhisp as `eth_hisp`, - exempted_absence as `exempted_absence`, - exempted_failedprac as `exempted_failed_prac`, - exempted_nonengspeaker as `exempted_non_eng_speaker`, - exempted_wrongtest as `exempted_wrong_test`, - extratime as `extra_time`, - firstname_t as `first_name_t`, - firstname as `first_name`, - fleid as `fleid`, - gender as `gender`, - gid_rid as `gid_rid`, - gname as `gname`, - grade_e as `grade_e`, - grade_p as `grade_p`, - grade_t as `grade_t`, - `guid` as `guid`, - lastname_t as `last_name_t`, - lastname as `last_name`, - launchdate as `launch_date`, - mi_t as `mi_t`, - mi as `mi`, - multirace as `multi_race`, - nce as `nce`, - paperaccommodations as `paper_accommodations`, - pnp_answer_eliminator as `pnp_answer_eliminator`, - pnp_audio_options as `pnp_audio_options`, - pnp_calculator as `pnp_calculator`, - pnp_color_scheme as `pnp_color_scheme`, - pnp_contrast_overlay as `pnp_contrast_overlay`, - pnp_enlarge_text as `pnp_enlarge_text`, - pnp_highlighter as `pnp_highlighter`, - pnp_line_reader as `pnp_line_reader`, - pnp_other_assistive_technology as `pnp_other_assistive_technology`, - pnp_screen_reader as `pnp_screen_reader`, - pnp_unlimited_time as `pnp_unlimited_time`, - pr as `pr`, - racea as `race_a`, - raceb as `race_b`, - racei as `race_i`, - racep as `race_p`, - racew as `race_w`, - rbm_level as `rbm_level`, - rbmc_nol as `rbmc_nol`, - rbmc_pr_max as `rbmc_pr_max`, - rbmc_pr_min as `rbmc_pr_min`, - rbmc as `rbmc`, - reported as `reported`, - sbm_level as `sbm_level`, - sbm as `sbm`, - sbmc_nol as `sbmc_nol`, - sbmc_ss_max as `sbmc_ss_max`, - sbmc_ss_min as `sbmc_ss_min`, - sbmc as `sbmc`, - sbmp as `sbmp`, - sch as `sch`, - schbm_level as `sch_bm_level`, - schbmc_nol as `sch_bmc_nol`, - schbmc_pr_max as `sch_bmc_pr_max`, - schbmc_pr_min as `sch_bmc_pr_min`, - schbmc as `sch_bmc`, - schbmp as `sch_bmp`, - schname as `sch_name`, - schoolyear_ed as `school_year_ed`, - schoolyear_sd as `school_year_sd`, - schoolyear as `school_year`, - sem as `sem`, - sgp_ff as `sgp_ff`, - sgp_fs as `sgp_fs`, - sgp_fw as `sgp_fw`, - sgp_sf as `sgp_sf`, - sgp_ss as `sgp_ss`, - sgp_ws as `sgp_ws`, - sgrade as `sgrade`, - sid_sid as `sid_sid`, - sw_ed as `sw_ed`, - sw_name as `sw_name`, - sw_sd as `sw_sd`, - testingip as `testing_ip`, - testingsite as `testing_site`, - testname as `test_name`, - tid_rid as `tid_rid`, - tid as `tid`, - totalcorrect as `total_correct`, - totalpossible as `total_possible`, - totaltime as `total_time`, - unifiedscore as `unified_score`, - quantile as `quantile`, - attempts_g3 as `attempts_g3`, - irl as `irl`, - lexile as `lexile`, - passingscore_g3 as `passing_score_g3`, - passingstatus_g3 as `passing_status_g3`, - zpd_lexile_lower as `zpd_lexile_lower`, - zpd_lexile_upper as `zpd_lexile_upper`, - zpd_lower as `zpd_lower`, - zpd_upper as `zpd_upper`, - lexilerange as `lexile_range`, - litclassification as `lit_classification`, - subdomain_ap as `sub_domain_ap`, - subdomain_ap_skillset_a as `sub_domain_ap_skill_set_a`, - subdomain_ap_skillset_b as `sub_domain_ap_skill_set_b`, - subdomain_ap_skillset_c as `sub_domain_ap_skill_set_c`, - subdomain_cw as `sub_domain_cw`, - subdomain_cw_skillset_a as `sub_domain_cw_skill_set_a`, - subdomain_cw_skillset_b as `sub_domain_cw_skill_set_b`, - subdomain_cw_skillset_c as `sub_domain_cw_skill_set_c`, - subdomain_cw_skillset_d as `sub_domain_cw_skill_set_d`, - subdomain_en as `sub_domain_en`, - subdomain_en_skillset_a as `sub_domain_en_skill_set_a`, - subdomain_en_skillset_b as `sub_domain_en_skill_set_b`, - subdomain_en_skillset_c as `sub_domain_en_skill_set_c`, - subdomain_en_skillset_d as `sub_domain_en_skill_set_d`, - subdomain_en_skillset_e as `sub_domain_en_skill_set_e`, - subdomain_pa as `sub_domain_pa`, - subdomain_pa_skillset_a as `sub_domain_pa_skill_set_a`, - subdomain_pa_skillset_b as `sub_domain_pa_skill_set_b`, - subdomain_pa_skillset_c as `sub_domain_pa_skill_set_c`, - subdomain_pa_skillset_d as `sub_domain_pa_skill_set_d`, - subdomain_pa_skillset_e as `sub_domain_pa_skill_set_e`, - subdomain_pa_skillset_f as `sub_domain_pa_skill_set_f`, - subdomain_pa_skillset_g as `sub_domain_pa_skill_set_g`, - subdomain_pa_skillset_h as `sub_domain_pa_skill_set_h`, - subdomain_pc as `sub_domain_pc`, - subdomain_pc_skillset_a as `sub_domain_pc_skill_set_a`, - subdomain_ph as `sub_domain_ph`, - subdomain_ph_skillset_a as `sub_domain_ph_skill_set_a`, - subdomain_ph_skillset_b as `sub_domain_ph_skill_set_b`, - subdomain_ph_skillset_c as `sub_domain_ph_skill_set_c`, - subdomain_ph_skillset_d as `sub_domain_ph_skill_set_d`, - subdomain_ph_skillset_e as `sub_domain_ph_skill_set_e`, - subdomain_ph_skillset_f as `sub_domain_ph_skill_set_f`, - subdomain_ph_skillset_g as `sub_domain_ph_skill_set_g`, - subdomain_ph_skillset_h as `sub_domain_ph_skill_set_h`, - subdomain_ph_skillset_i as `sub_domain_ph_skill_set_i`, - subdomain_ph_skillset_j as `sub_domain_ph_skill_set_j`, - subdomain_ph_skillset_k as `sub_domain_ph_skill_set_k`, - subdomain_ph_skillset_l as `sub_domain_ph_skill_set_l`, - subdomain_sa as `sub_domain_sa`, - subdomain_sa_skillset_a as `sub_domain_sa_skill_set_a`, - subdomain_sa_skillset_b as `sub_domain_sa_skill_set_b`, - subdomain_sa_skillset_c as `sub_domain_sa_skill_set_c`, - subdomain_sa_skillset_d as `sub_domain_sa_skill_set_d`, - subdomain_sc as `sub_domain_sc`, - subdomain_sc_skillset_a as `sub_domain_sc_skill_set_a`, - subdomain_vo as `sub_domain_vo`, - subdomain_vo_skillset_a as `sub_domain_vo_skill_set_a`, - subdomain_vo_skillset_b as `sub_domain_vo_skill_set_b`, - subdomain_vo_skillset_c as `sub_domain_vo_skill_set_c`, - subdomain_vs as `sub_domain_vs`, - subdomain_vs_skillset_a as `sub_domain_vs_skill_set_a`, - subdomain_vs_skillset_b as `sub_domain_vs_skill_set_b`, - _dagster_partition_fiscal_year as `_dagster_partition_fiscal_year`, - _dagster_partition_subject as `_dagster_partition_subject`, + _dagster_partition_fiscal_year, + _dagster_partition_subject, + + `guid`, + assess_num, + assess_status, + attempts_g3, + cbtflag as cbt_flag, + cid, + classcode as class_code, + clientid as client_id, + cname, + completeddate as completed_date, + completeddatelocal as completed_date_local, + currentsgp as current_sgp, + dbm_level, + dbmc_nol, + dbmc_pr_max, + dbmc_pr_min, + dbmc, + dbmp, + dis, + disname as dis_name, + dob, + email_s, + email_t, + enrolled, + estorf as est_orf, + ethhisp as eth_hisp, + exempted_absence, + exempted_failedprac as exempted_failed_prac, + exempted_nonengspeaker as exempted_non_eng_speaker, + exempted_wrongtest as exempted_wrong_test, + extratime as extra_time, + firstname as first_name, + firstname_t as first_name_t, + fleid, + gender, + gid_rid, + gname, + grade_e, + grade_p, + grade_t, + irl, + lastname as last_name, + lastname_t as last_name_t, + launchdate as launch_date, + lexilerange as lexile_range, + litclassification as lit_classification, + mi_t, + mi, + multirace as multi_race, + nce, + paperaccommodations as paper_accommodations, + passingscore_g3 as passing_score_g3, + passingstatus_g3 as passing_status_g3, + pnp_answer_eliminator, + pnp_audio_options, + pnp_calculator, + pnp_color_scheme, + pnp_contrast_overlay, + pnp_enlarge_text, + pnp_highlighter, + pnp_line_reader, + pnp_other_assistive_technology, + pnp_screen_reader, + pnp_unlimited_time, + pr, + quantile, + racea as race_a, + raceb as race_b, + racei as race_i, + racep as race_p, + racew as race_w, + rbm_level, + rbmc_nol, + rbmc_pr_max, + rbmc_pr_min, + rbmc, + reported, + sbm_level, + sbm, + sbmc_nol, + sbmc_ss_max, + sbmc_ss_min, + sbmc, + sbmp, + sch, + schbm_level as sch_bm_level, + schbmc as sch_bmc, + schbmc_nol as sch_bmc_nol, + schbmc_pr_max as sch_bmc_pr_max, + schbmc_pr_min as sch_bmc_pr_min, + schbmp as sch_bmp, + schname as sch_name, + schoolyear as school_year, + schoolyear_ed as school_year_ed, + schoolyear_sd as school_year_sd, + sem, + sgp_ff, + sgp_fs, + sgp_fw, + sgp_sf, + sgp_ss, + sgp_ws, + sgrade, + sid_sid, + sw_ed, + sw_name, + sw_sd, + testingip as testing_ip, + testingsite as testing_site, + testname as test_name, + tid_rid, + tid, + totalcorrect as total_correct, + totalpossible as total_possible, + totaltime as total_time, + unifiedscore as unified_score, + zpd_lexile_lower, + zpd_lexile_upper, + zpd_lower, + zpd_upper, + + subdomain_ap as sub_domain_ap, + subdomain_ap_skillset_a as sub_domain_ap_skill_set_a, + subdomain_ap_skillset_b as sub_domain_ap_skill_set_b, + subdomain_ap_skillset_c as sub_domain_ap_skill_set_c, + subdomain_cw as sub_domain_cw, + subdomain_cw_skillset_a as sub_domain_cw_skill_set_a, + subdomain_cw_skillset_b as sub_domain_cw_skill_set_b, + subdomain_cw_skillset_c as sub_domain_cw_skill_set_c, + subdomain_cw_skillset_d as sub_domain_cw_skill_set_d, + subdomain_en as sub_domain_en, + subdomain_en_skillset_a as sub_domain_en_skill_set_a, + subdomain_en_skillset_b as sub_domain_en_skill_set_b, + subdomain_en_skillset_c as sub_domain_en_skill_set_c, + subdomain_en_skillset_d as sub_domain_en_skill_set_d, + subdomain_en_skillset_e as sub_domain_en_skill_set_e, + subdomain_pa as sub_domain_pa, + subdomain_pa_skillset_a as sub_domain_pa_skill_set_a, + subdomain_pa_skillset_b as sub_domain_pa_skill_set_b, + subdomain_pa_skillset_c as sub_domain_pa_skill_set_c, + subdomain_pa_skillset_d as sub_domain_pa_skill_set_d, + subdomain_pa_skillset_e as sub_domain_pa_skill_set_e, + subdomain_pa_skillset_f as sub_domain_pa_skill_set_f, + subdomain_pa_skillset_g as sub_domain_pa_skill_set_g, + subdomain_pa_skillset_h as sub_domain_pa_skill_set_h, + subdomain_pc as sub_domain_pc, + subdomain_pc_skillset_a as sub_domain_pc_skill_set_a, + subdomain_ph as sub_domain_ph, + subdomain_ph_skillset_a as sub_domain_ph_skill_set_a, + subdomain_ph_skillset_b as sub_domain_ph_skill_set_b, + subdomain_ph_skillset_c as sub_domain_ph_skill_set_c, + subdomain_ph_skillset_d as sub_domain_ph_skill_set_d, + subdomain_ph_skillset_e as sub_domain_ph_skill_set_e, + subdomain_ph_skillset_f as sub_domain_ph_skill_set_f, + subdomain_ph_skillset_g as sub_domain_ph_skill_set_g, + subdomain_ph_skillset_h as sub_domain_ph_skill_set_h, + subdomain_ph_skillset_i as sub_domain_ph_skill_set_i, + subdomain_ph_skillset_j as sub_domain_ph_skill_set_j, + subdomain_ph_skillset_k as sub_domain_ph_skill_set_k, + subdomain_ph_skillset_l as sub_domain_ph_skill_set_l, + subdomain_sa as sub_domain_sa, + subdomain_sa_skillset_a as sub_domain_sa_skill_set_a, + subdomain_sa_skillset_b as sub_domain_sa_skill_set_b, + subdomain_sa_skillset_c as sub_domain_sa_skill_set_c, + subdomain_sa_skillset_d as sub_domain_sa_skill_set_d, + subdomain_sc as sub_domain_sc, + subdomain_sc_skillset_a as sub_domain_sc_skill_set_a, + subdomain_vo as sub_domain_vo, + subdomain_vo_skillset_a as sub_domain_vo_skill_set_a, + subdomain_vo_skillset_b as sub_domain_vo_skill_set_b, + subdomain_vo_skillset_c as sub_domain_vo_skill_set_c, + subdomain_vs as sub_domain_vs, + subdomain_vs_skillset_a as sub_domain_vs_skill_set_a, + subdomain_vs_skillset_b as sub_domain_vs_skill_set_b, + + coalesce(lexile.string_value, cast(lexile.long_value as string)) as lexile, from {{ source("renlearn", "src_renlearn__fast_star") }} diff --git a/src/dbt/renlearn/models/staging/stg_renlearn__star.sql b/src/dbt/renlearn/models/staging/stg_renlearn__star.sql index 2d33e96754..4963e657b6 100644 --- a/src/dbt/renlearn/models/staging/stg_renlearn__star.sql +++ b/src/dbt/renlearn/models/staging/stg_renlearn__star.sql @@ -1,162 +1,163 @@ select - _dagster_partition_fiscal_year as `_dagster_partition_fiscal_year`, - _dagster_partition_subject as `_dagster_partition_subject`, - actbenchmarkcategory as `act_benchmark_category`, - americanindianoralaskanative as `american_indian_or_alaska_native`, - asian as `asian`, - assessmentid as `assessment_id`, - assessmentnumber as `assessment_number`, - assessmentstatus as `assessment_status`, - assessmenttype as `assessment_type`, - birthdate as `birth_date`, - blackorafricanamerican as `black_or_african_american`, - classcode as `class_code`, - classrenaissanceid as `class_renaissance_id`, - classsourcedid as `class_sourced_id`, - completeddate as `completed_date`, - completeddatelocal as `completed_date_local`, - coursecode as `course_code`, - coursename as `course_name`, - courserenaissanceid as `course_renaissance_id`, - coursesourcedid as `course_sourced_id`, - currentsgp as `current_sgp`, - deactivationreason as `deactivation_reason`, - districtbenchmarkcategorylevel as `district_benchmark_category_level`, - districtbenchmarkcategoryname as `district_benchmark_category_name`, - districtbenchmarkmaxpercentilerank as `district_benchmark_max_percentile_rank`, - districtbenchmarkminpercentilerank as `district_benchmark_min_percentile_rank`, + _dagster_partition_fiscal_year, + _dagster_partition_subject, + actbenchmarkcategory as act_benchmark_category, + americanindianoralaskanative as american_indian_or_alaska_native, + asian, + assessmentid as assessment_id, + assessmentnumber as assessment_number, + assessmentstatus as assessment_status, + assessmenttype as assessment_type, + birthdate as birth_date, + blackorafricanamerican as black_or_african_american, + classcode as class_code, + classrenaissanceid as class_renaissance_id, + classsourcedid as class_sourced_id, + completeddate as completed_date, + completeddatelocal as completed_date_local, + coursecode as course_code, + coursename as course_name, + courserenaissanceid as course_renaissance_id, + coursesourcedid as course_sourced_id, + currentsgp as current_sgp, + deactivationreason as deactivation_reason, + districtbenchmarkcategorylevel as district_benchmark_category_level, + districtbenchmarkcategoryname as district_benchmark_category_name, + districtbenchmarkmaxpercentilerank as district_benchmark_max_percentile_rank, + districtbenchmarkminpercentilerank as district_benchmark_min_percentile_rank, districtbenchmarknumberofcategorylevels - as `district_benchmark_number_of_category_levels`, - districtbenchmarkproficient as `district_benchmark_proficient`, - districtidentifier as `district_identifier`, - districtname as `district_name`, - districtrenaissanceid as `district_renaissance_id`, - districtsourcedid as `district_sourced_id`, - enrollmentstatus as `enrollment_status`, - estimatedoralreadingfluency as `estimated_oral_reading_fluency`, - extratime as `extra_time`, - gender as `gender`, - grade3_assessmentattempts as `grade3_assessment_attempts`, - grade3_passingscore as `grade3_passing_score`, - grade3_passingstatus as `grade3_passing_status`, - gradeplacement as `grade_placement`, - groupid as `group_id`, - grouporclassname as `group_or_class_name`, - hispanicorlatino as `hispanic_or_latino`, - instructionalreadinglevel as `instructional_reading_level`, - launchdate as `launch_date`, - lexile as `lexile`, - lexilerange as `lexile_range`, - literacyclassification as `literacy_classification`, - lowerlexilezoneofproximaldevelopment as `lower_lexile_zone_of_proximal_development`, - lowerzoneofproximaldevelopment as `lower_zone_of_proximal_development`, - multirace as `multi_race`, - nativehawaiianorotherpacificislander as `native_hawaiian_or_other_pacific_islander`, - normalcurveequivalent as `normal_curve_equivalent`, - opengrowthscore as `open_growth_score`, + as district_benchmark_number_of_category_levels, + districtbenchmarkproficient as district_benchmark_proficient, + districtidentifier as district_identifier, + districtname as district_name, + districtrenaissanceid as district_renaissance_id, + districtsourcedid as district_sourced_id, + enrollmentstatus as enrollment_status, + estimatedoralreadingfluency as estimated_oral_reading_fluency, + extratime as extra_time, + gender, + grade3_assessmentattempts as grade3_assessment_attempts, + grade3_passingscore as grade3_passing_score, + grade3_passingstatus as grade3_passing_status, + gradeplacement as grade_placement, + groupid as group_id, + grouporclassname as group_or_class_name, + hispanicorlatino as hispanic_or_latino, + instructionalreadinglevel as instructional_reading_level, + launchdate as launch_date, + lexilerange as lexile_range, + literacyclassification as literacy_classification, + lowerlexilezoneofproximaldevelopment as lower_lexile_zone_of_proximal_development, + lowerzoneofproximaldevelopment as lower_zone_of_proximal_development, + multirace as multi_race, + nativehawaiianorotherpacificislander as native_hawaiian_or_other_pacific_islander, + normalcurveequivalent as normal_curve_equivalent, + opengrowthscore as open_growth_score, partnershipforassessmentofreadinessforcollegeandcareers - as `partnership_for_assessment_of_readiness_for_college_and_careers`, - percentilerank as `percentile_rank`, - quantile as `quantile`, - raschscore as `rasch_score`, - renaissancebenchmarkcategorylevel as `renaissance_benchmark_category_level`, + as partnership_for_assessment_of_readiness_for_college_and_careers, + percentilerank as percentile_rank, + quantile, + raschscore as rasch_score, + renaissancebenchmarkcategorylevel as renaissance_benchmark_category_level, renaissancebenchmarkcategorymaxpercentilerank - as `renaissance_benchmark_category_max_percentile_rank`, + as renaissance_benchmark_category_max_percentile_rank, renaissancebenchmarkcategoryminpercentilerank - as `renaissance_benchmark_category_min_percentile_rank`, - renaissancebenchmarkcategoryname as `renaissance_benchmark_category_name`, - renaissanceclientid as `renaissance_client_id`, - satbenchmarkcategory as `sat_benchmark_category`, - scaledscore as `scaled_score`, - schoolbenchmarkcategorylevel as `school_benchmark_category_level`, - schoolbenchmarkcategoryname as `school_benchmark_category_name`, - schoolbenchmarkmaxpercentilerank as `school_benchmark_max_percentile_rank`, - schoolbenchmarkminpercentilerank as `school_benchmark_min_percentile_rank`, - schoolbenchmarknumberofcategorylevels - as `school_benchmark_number_of_category_levels`, - schoolbenchmarkproficient as `school_benchmark_proficient`, - schoolidentifier as `school_identifier`, - schoolname as `school_name`, - schoolrenaissanceid as `school_renaissance_id`, - schoolsourcedid as `school_sourced_id`, - schoolyear as `school_year`, - schoolyearenddate as `school_year_end_date`, - schoolyearstartdate as `school_year_start_date`, - screeningperiodwindowname as `screening_period_window_name`, - screeningwindowenddate as `screening_window_end_date`, - screeningwindowstartdate as `screening_window_start_date`, - smarterbalancedassessmentconsortium as `smarter_balanced_assessment_consortium`, - standarderrorofmeasurement as `standard_error_of_measurement`, - statebenchmarkassessmentname as `state_benchmark_assessment_name`, - statebenchmarkcategorylevel as `state_benchmark_category_level`, - statebenchmarkcategoryname as `state_benchmark_category_name`, - statebenchmarkmaxscaledscore as `state_benchmark_max_scaled_score`, - statebenchmarkminscaledscore as `state_benchmark_min_scaled_score`, - statebenchmarknumberofcategorylevels as `state_benchmark_number_of_category_levels`, - statebenchmarkproficient as `state_benchmark_proficient`, - studentemail.string_value as `student_email`, - studentfirstname as `student_first_name`, - studentgrowthpercentilefallfall as `student_growth_percentile_fall_fall`, - studentgrowthpercentilefallspring as `student_growth_percentile_fall_spring`, - studentgrowthpercentilefallwinter as `student_growth_percentile_fall_winter`, - studentgrowthpercentilespringfall as `student_growth_percentile_spring_fall`, - studentgrowthpercentilespringspring as `student_growth_percentile_spring_spring`, - studentgrowthpercentilewinterspring as `student_growth_percentile_winter_spring`, - studentlastname as `student_last_name`, - studentmiddlename as `student_middle_name`, - studentrenaissanceid as `student_renaissance_id`, - takenat as `taken_at`, - takenatbyipaddress as `taken_at_by_ip_address`, - teacherdisplayid as `teacher_display_id`, - teacheremail as `teacher_email`, - teacherfirstname as `teacher_first_name`, - teacheridentifier as `teacher_identifier`, - teacherlastname as `teacher_last_name`, - teachermiddlename as `teacher_middle_name`, - teacherrenaissanceid as `teacher_renaissance_id`, - teachersourcedid as `teacher_sourced_id`, - teacheruserid as `teacher_user_id`, - totalcorrect as `total_correct`, - totalpossible as `total_possible`, - totaltimeinseconds as `total_time_in_seconds`, - unifiedscore as `unified_score`, - upperlexilezoneofproximaldevelopment as `upper_lexile_zone_of_proximal_development`, - upperzoneofproximaldevelopment as `upper_zone_of_proximal_development`, - white as `white`, - coalesce(audio.string_value, safe_cast(audio.double_value as string)) as `audio`, + as renaissance_benchmark_category_min_percentile_rank, + renaissancebenchmarkcategoryname as renaissance_benchmark_category_name, + renaissanceclientid as renaissance_client_id, + satbenchmarkcategory as sat_benchmark_category, + scaledscore as scaled_score, + schoolbenchmarkcategorylevel as school_benchmark_category_level, + schoolbenchmarkcategoryname as school_benchmark_category_name, + schoolbenchmarkmaxpercentilerank as school_benchmark_max_percentile_rank, + schoolbenchmarkminpercentilerank as school_benchmark_min_percentile_rank, + schoolbenchmarknumberofcategorylevels as school_benchmark_number_of_category_levels, + schoolbenchmarkproficient as school_benchmark_proficient, + schoolidentifier as school_identifier, + schoolname as school_name, + schoolrenaissanceid as school_renaissance_id, + schoolsourcedid as school_sourced_id, + schoolyear as school_year, + schoolyearenddate as school_year_end_date, + schoolyearstartdate as school_year_start_date, + screeningperiodwindowname as screening_period_window_name, + screeningwindowenddate as screening_window_end_date, + screeningwindowstartdate as screening_window_start_date, + smarterbalancedassessmentconsortium as smarter_balanced_assessment_consortium, + standarderrorofmeasurement as standard_error_of_measurement, + statebenchmarkassessmentname as state_benchmark_assessment_name, + statebenchmarkcategorylevel as state_benchmark_category_level, + statebenchmarkcategoryname as state_benchmark_category_name, + statebenchmarkmaxscaledscore as state_benchmark_max_scaled_score, + statebenchmarkminscaledscore as state_benchmark_min_scaled_score, + statebenchmarknumberofcategorylevels as state_benchmark_number_of_category_levels, + statebenchmarkproficient as state_benchmark_proficient, + studentemail.string_value as student_email, + studentfirstname as student_first_name, + studentgrowthpercentilefallfall as student_growth_percentile_fall_fall, + studentgrowthpercentilefallspring as student_growth_percentile_fall_spring, + studentgrowthpercentilefallwinter as student_growth_percentile_fall_winter, + studentgrowthpercentilespringfall as student_growth_percentile_spring_fall, + studentgrowthpercentilespringspring as student_growth_percentile_spring_spring, + studentgrowthpercentilewinterspring as student_growth_percentile_winter_spring, + studentlastname as student_last_name, + studentmiddlename as student_middle_name, + studentrenaissanceid as student_renaissance_id, + takenat as taken_at, + takenatbyipaddress as taken_at_by_ip_address, + teacherdisplayid as teacher_display_id, + teacheremail as teacher_email, + teacherfirstname as teacher_first_name, + teacheridentifier as teacher_identifier, + teacherlastname as teacher_last_name, + teachermiddlename as teacher_middle_name, + teacherrenaissanceid as teacher_renaissance_id, + teachersourcedid as teacher_sourced_id, + teacheruserid as teacher_user_id, + totalcorrect as total_correct, + totalpossible as total_possible, + totaltimeinseconds as total_time_in_seconds, + unifiedscore as unified_score, + upperlexilezoneofproximaldevelopment as upper_lexile_zone_of_proximal_development, + upperzoneofproximaldevelopment as upper_zone_of_proximal_development, + white, + + coalesce(audio.string_value, cast(audio.double_value as string)) as audio, coalesce( - currentgrade.string_value, safe_cast(currentgrade.long_value as string) - ) as `current_grade`, - coalesce(grade.string_value, safe_cast(grade.long_value as string)) as `grade`, + currentgrade.string_value, cast(currentgrade.long_value as string) + ) as current_grade, + coalesce(grade.string_value, cast(grade.long_value as string)) as grade, coalesce( - gradeequivalent.string_value, safe_cast(gradeequivalent.double_value as string) - ) as `grade_equivalent`, + gradeequivalent.string_value, cast(gradeequivalent.double_value as string) + ) as grade_equivalent, + coalesce(lexile.string_value, cast(lexile.long_value as string)) as lexile, coalesce( - studentstateid.string_value, safe_cast(studentstateid.double_value as string) - ) as `student_state_id`, + studentstateid.string_value, cast(studentstateid.double_value as string) + ) as student_state_id, + coalesce( - districtstateid.long_value, safe_cast(districtstateid.double_value as int) - ) as `district_state_id`, + districtstateid.long_value, cast(districtstateid.double_value as int) + ) as district_state_id, coalesce( renaissancebenchmarkcategorynumberoflevels.long_value, - safe_cast(renaissancebenchmarkcategorynumberoflevels.double_value as int) - ) as `renaissance_benchmark_category_number_of_levels`, + cast(renaissancebenchmarkcategorynumberoflevels.double_value as int) + ) as renaissance_benchmark_category_number_of_levels, coalesce( - schoolstateid.long_value, safe_cast(schoolstateid.double_value as int) - ) as `school_state_id`, + schoolstateid.long_value, cast(schoolstateid.double_value as int) + ) as school_state_id, coalesce( - studentdisplayid.long_value, safe_cast(studentdisplayid.double_value as int) - ) as `student_display_id`, + studentdisplayid.long_value, cast(studentdisplayid.double_value as int) + ) as student_display_id, coalesce( - studentidentifier.long_value, safe_cast(studentidentifier.double_value as int) - ) as `student_identifier`, + studentidentifier.long_value, cast(studentidentifier.double_value as int) + ) as student_identifier, coalesce( - studentsourcedid.long_value, safe_cast(studentsourcedid.double_value as int) - ) as `student_sourced_id`, + studentsourcedid.long_value, cast(studentsourcedid.double_value as int) + ) as student_sourced_id, coalesce( - studentuserid.long_value, safe_cast(studentuserid.double_value as int) - ) as `student_user_id`, + studentuserid.long_value, cast(studentuserid.double_value as int) + ) as student_user_id, coalesce( - teacherstateid.long_value, safe_cast(teacherstateid.double_value as int) - ) as `teacher_state_id`, + teacherstateid.long_value, cast(teacherstateid.double_value as int) + ) as teacher_state_id, from {{ source("renlearn", "src_renlearn__star") }} diff --git a/src/teamster/code_locations/kippnewark/powerschool/config/assets-nonpartition.yaml b/src/teamster/code_locations/kippnewark/powerschool/config/assets-nonpartition.yaml index b0612af3c9..ab8eb770d0 100644 --- a/src/teamster/code_locations/kippnewark/powerschool/config/assets-nonpartition.yaml +++ b/src/teamster/code_locations/kippnewark/powerschool/config/assets-nonpartition.yaml @@ -31,6 +31,6 @@ assets: container_config: resources: requests: - cpu: 750m + cpu: 1000m limits: - cpu: 750m + cpu: 1000m diff --git a/src/teamster/code_locations/kipptaf/_google/sheets/sensors.py b/src/teamster/code_locations/kipptaf/_google/sheets/sensors.py index b05cb9573e..0aa262872b 100644 --- a/src/teamster/code_locations/kipptaf/_google/sheets/sensors.py +++ b/src/teamster/code_locations/kipptaf/_google/sheets/sensors.py @@ -22,8 +22,6 @@ for a in google_sheets_assets }.items() -TIMEOUT = 60 / len(ASSET_KEYS_BY_SHEET_ID) - @sensor( name=f"{CODE_LOCATION}_google_sheets_asset_sensor", @@ -35,8 +33,6 @@ def google_sheets_asset_sensor( cursor: dict = json.loads(context.cursor or "{}") asset_events: list = [] - gsheets._client.http_client.set_timeout(TIMEOUT) - for sheet_id, asset_keys in ASSET_KEYS_BY_SHEET_ID: spreadsheet = _check.not_none(value=gsheets.open(sheet_id=sheet_id)) diff --git a/src/teamster/code_locations/kipptaf/adp/workforce_now/sftp/sensors.py b/src/teamster/code_locations/kipptaf/adp/workforce_now/sftp/sensors.py index db1862368d..14d6de5816 100644 --- a/src/teamster/code_locations/kipptaf/adp/workforce_now/sftp/sensors.py +++ b/src/teamster/code_locations/kipptaf/adp/workforce_now/sftp/sensors.py @@ -6,6 +6,7 @@ RunRequest, SensorEvaluationContext, SensorResult, + SkipReason, _check, define_asset_job, sensor, @@ -27,7 +28,13 @@ def adp_wfn_sftp_sensor( run_requests = [] cursor: dict = json.loads(context.cursor or "{}") - files = ssh_adp_workforce_now.listdir_attr_r() + try: + files = ssh_adp_workforce_now.listdir_attr_r() + except TimeoutError as e: + if "timed out" in e.args: + return SkipReason(str(e)) + else: + raise TimeoutError from e for asset in assets: asset_metadata = asset.metadata_by_key[asset.key] diff --git a/src/teamster/libraries/google/sheets/resources.py b/src/teamster/libraries/google/sheets/resources.py index 3cd7be5060..61fc6ab47c 100644 --- a/src/teamster/libraries/google/sheets/resources.py +++ b/src/teamster/libraries/google/sheets/resources.py @@ -2,6 +2,7 @@ import google.auth from dagster import ConfigurableResource, DagsterLogManager, InitResourceContext, _check +from google.auth.credentials import Credentials from gspread.auth import authorize, service_account from gspread.client import Client from gspread.exceptions import SpreadsheetNotFound @@ -30,7 +31,9 @@ def setup_for_execution(self, context: InitResourceContext) -> None: ] ) - self._client = authorize(credentials=credentials) + self._client = authorize( + credentials=_check.inst(obj=credentials, ttype=Credentials) + ) def open(self, **kwargs): kwargs_keys = kwargs.keys() diff --git a/src/teamster/libraries/renlearn/schema.py b/src/teamster/libraries/renlearn/schema.py index 954d5f4b61..15a0867103 100644 --- a/src/teamster/libraries/renlearn/schema.py +++ b/src/teamster/libraries/renlearn/schema.py @@ -149,7 +149,6 @@ class Star(RenLearningCore): Quantile: str | None = None # Reading InstructionalReadingLevel: str | None = None - Lexile: str | None = None Grade3_AssessmentAttempts: int | None = None Grade3_PassingStatus: float | None = None Grade3_PassingScore: float | None = None @@ -162,11 +161,12 @@ class Star(RenLearningCore): LiteracyClassification: str | None = None LexileRange: str | None = None + Audio: float | str | None = None Grade: int | str | None = None GradeEquivalent: float | str | None - StudentDisplayID: int | float | None + Lexile: str | int | None = None RenaissanceBenchmarkCategoryNumberOfLevels: int | float | None = None - Audio: float | str | None = None + StudentDisplayID: int | float | None = None class StarDashboardStandard(BaseModel): diff --git a/src/teamster/libraries/smartrecruiters/schema.py b/src/teamster/libraries/smartrecruiters/schema.py index b593e81916..999feedb3e 100644 --- a/src/teamster/libraries/smartrecruiters/schema.py +++ b/src/teamster/libraries/smartrecruiters/schema.py @@ -29,6 +29,7 @@ class Application(BaseModel): application_status_interview_phone_screen_requested_date: str | None = None application_status: str | None = None candidate_email: str | None = None + candidate_first_and_last_name: str | None = None candidate_first_name: str | None = None candidate_id: str | None = None candidate_last_name: str | None = None diff --git a/src/teamster/libraries/titan/sensors.py b/src/teamster/libraries/titan/sensors.py index 351072aa10..e71db22e45 100644 --- a/src/teamster/libraries/titan/sensors.py +++ b/src/teamster/libraries/titan/sensors.py @@ -44,6 +44,11 @@ def _sensor(context: SensorEvaluationContext, ssh_titan: SSHResource): return SkipReason(str(e)) else: raise SSHException from e + except TimeoutError as e: + if "timed out" in e.args: + return SkipReason(str(e)) + else: + raise TimeoutError from e run_requests = [] for asset in asset_defs: