Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit cde1e35

Browse files
augrayJosh Bauer
andauthored
Switch to SQLAlchemy 2.0 (#1127)
SQLAlchemy 2.0 came out in January of 2023 (>1.5 years ago). It introduced a variety of breaking changes. Sematic uses SQLAlchemy heavily, and in complex ways (ORM type introspection for dynamic serialization/deserialization, ORM type mixins, complex and dynamic query builds). This meant we had to wait to upgrade until sufficient time could be dedicated to migrating and testing it. We don't want to wait too much longer, it's only a matter of time before 1.x releases stop getting published and SQLAlchemy's development has largely shifted to >=2.0. So this PR bites the bullet and does the upgrade. This PR also upgrades the server image python version to 3.12. While not technically related to the SQLAlchemy changes, it follows closely on the heels of #1126 , and since that did not change anything running on the server (but this does) it seemed like an OK place to add so the 3.12 server and SQLAlchemy 2.0 changes could be tested together. Finally, there was actually a bug for custom metrics usage that was not caught in unit tests. This PR fixes that bug, confirmed in remote testing. Testing -------- In addition to all unit tests passing, I also tested running a local server with bazel and running the MNIST example in it. I confirmed built-in metrics worked and the pipeline passed with the expected resulting UI. I then built a wheel with these changes and published a release candidate Docker image for the standard and EE images. In a remote environment, I: - Confirmed the built-in system pipeline metrics (ex: success rate and timings) worked - ran a pipeline end-to-end - ran a pipeline that used a Ray cluster - ran a pipeline that used custom metrics and confirmed the UI works - cofirmed that the cleaner is working - tested run search extensively --------- Co-authored-by: Josh Bauer <josh@sematic.dev>
1 parent 3d18ed2 commit cde1e35

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+826
-534
lines changed

docker/Dockerfile.server

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# see https://stackoverflow.com/questions/65612411/forcing-docker-to-use-linux-amd64-platform-by-default-on-macos/69636473#69636473
66
# for why --platform
7-
FROM --platform=linux/amd64 python:3.9-bullseye
7+
FROM --platform=linux/amd64 python:3.12-bookworm
88
ARG EXTRA
99

1010
RUN python3 -m pip install --upgrade pip

docs/upgrades.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,17 @@ delta, but only:
117117
when performing the upgrade.
118118
{% endhint %}
119119

120+
### vX.X.X to v0.39.0
121+
122+
In v0.39.0, Sematic switched its [SQLAlchemy](https://www.sqlalchemy.org/)
123+
dependency from a pre 2.0 version to a post 2.0 version. SQLAlchemy introduced
124+
breaking changes in 2.0, so if you arte using Sematic in a python environment
125+
that depends on SQLAlchemy <2.0 (even transiently), you will need to upgrade
126+
your code and its dependencies to use SQLAlchemy >=2.0 before upgrading
127+
to or past this version of Sematic. If you need to know what changes to
128+
make to your own code, a migration guide can be found
129+
[here](https://docs.sqlalchemy.org/en/20/changelog/migration_20.html)
130+
120131
### vX.X.X to v0.35.0
121132

122133
In v0.35.0 support for deploying Sematic with a combined API and SocketIO server

mypy.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
[mypy]
2-
plugins = sqlalchemy.ext.mypy.plugin
32

43
# sematic/examples/liver_cirrhosis: pandas, matplotlib, and seaborn are poorly typed
54
# sematic/examples/template: Because it uses relative import in order to not polute

requirements/ci-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pytest
1111
pip-tools
1212

1313
# Required for mypy
14-
sqlalchemy[mypy]<2.0.0
14+
sqlalchemy>=2.0.0
1515
flask
1616
types-requests
1717
pandas-stubs

requirements/requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ipython==8.2.0
99
setuptools==58.1.0
1010

1111
# DB
12-
SQLAlchemy==1.4.36
12+
SQLAlchemy>=2.0
1313
psycopg2-binary
1414

1515
# Code

requirements/requirements3_10.txt

Lines changed: 51 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2573,43 +2573,56 @@ sortedcontainers==2.4.0 \
25732573
--hash=sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 \
25742574
--hash=sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0
25752575
# via snowflake-connector-python
2576-
sqlalchemy==1.4.36 \
2577-
--hash=sha256:09c606d8238feae2f360b8742ffbe67741937eb0a05b57f536948d198a3def96 \
2578-
--hash=sha256:166a3887ec355f7d2f12738f7fa25dc8ac541867147a255f790f2f41f614cb44 \
2579-
--hash=sha256:16abf35af37a3d5af92725fc9ec507dd9e9183d261c2069b6606d60981ed1c6e \
2580-
--hash=sha256:2e885548da361aa3f8a9433db4cfb335b2107e533bf314359ae3952821d84b3e \
2581-
--hash=sha256:2ec89bf98cc6a0f5d1e28e3ad28e9be6f3b4bdbd521a4053c7ae8d5e1289a8a1 \
2582-
--hash=sha256:2ecac4db8c1aa4a269f5829df7e706639a24b780d2ac46b3e485cbbd27ec0028 \
2583-
--hash=sha256:316c7e5304dda3e3ad711569ac5d02698bbc71299b168ac56a7076b86259f7ea \
2584-
--hash=sha256:5041474dcab7973baa91ec1f3112049a9dd4652898d6a95a6a895ff5c58beb6b \
2585-
--hash=sha256:53d2d9ee93970c969bc4e3c78b1277d7129554642f6ffea039c282c7dc4577bc \
2586-
--hash=sha256:5864a83bd345871ad9699ce466388f836db7572003d67d9392a71998092210e3 \
2587-
--hash=sha256:5c90ef955d429966d84326d772eb34333178737ebb669845f1d529eb00c75e72 \
2588-
--hash=sha256:5d50cb71c1dbed70646d521a0975fb0f92b7c3f84c61fa59e07be23a1aaeecfc \
2589-
--hash=sha256:64678ac321d64a45901ef2e24725ec5e783f1f4a588305e196431447e7ace243 \
2590-
--hash=sha256:64d796e9af522162f7f2bf7a3c5531a0a550764c426782797bbeed809d0646c5 \
2591-
--hash=sha256:6cb4c4f57a20710cea277edf720d249d514e587f796b75785ad2c25e1c0fed26 \
2592-
--hash=sha256:6e1fe00ee85c768807f2a139b83469c1e52a9ffd58a6eb51aa7aeb524325ab18 \
2593-
--hash=sha256:6e859fa96605027bd50d8e966db1c4e1b03e7b3267abbc4b89ae658c99393c58 \
2594-
--hash=sha256:7a052bd9f53004f8993c624c452dfad8ec600f572dd0ed0445fbe64b22f5570e \
2595-
--hash=sha256:81e53bd383c2c33de9d578bfcc243f559bd3801a0e57f2bcc9a943c790662e0c \
2596-
--hash=sha256:83cf3077712be9f65c9aaa0b5bc47bc1a44789fd45053e2e3ecd59ff17c63fe9 \
2597-
--hash=sha256:8b20c4178ead9bc398be479428568ff31b6c296eb22e75776273781a6551973f \
2598-
--hash=sha256:8d07fe2de0325d06e7e73281e9a9b5e259fbd7cbfbe398a0433cbb0082ad8fa7 \
2599-
--hash=sha256:a0ae3aa2e86a4613f2d4c49eb7da23da536e6ce80b2bfd60bbb2f55fc02b0b32 \
2600-
--hash=sha256:af2587ae11400157753115612d6c6ad255143efba791406ad8a0cbcccf2edcb3 \
2601-
--hash=sha256:b3db741beaa983d4cbf9087558620e7787106319f7e63a066990a70657dd6b35 \
2602-
--hash=sha256:be094460930087e50fd08297db9d7aadaed8408ad896baf758e9190c335632da \
2603-
--hash=sha256:cb441ca461bf97d00877b607f132772644b623518b39ced54da433215adce691 \
2604-
--hash=sha256:ce20f5da141f8af26c123ebaa1b7771835ca6c161225ce728962a79054f528c3 \
2605-
--hash=sha256:d57ac32f8dc731fddeb6f5d1358b4ca5456e72594e664769f0a9163f13df2a31 \
2606-
--hash=sha256:dce3468bf1fc12374a1a732c9efd146ce034f91bb0482b602a9311cb6166a920 \
2607-
--hash=sha256:e12532c4d3f614678623da5d852f038ace1f01869b89f003ed6fe8c793f0c6a3 \
2608-
--hash=sha256:e74ce103b81c375c3853b436297952ef8d7863d801dcffb6728d01544e5191b5 \
2609-
--hash=sha256:f0394a3acfb8925db178f7728adb38c027ed7e303665b225906bfa8099dc1ce8 \
2610-
--hash=sha256:f522214f6749bc073262529c056f7dfd660f3b5ec4180c5354d985eb7219801e \
2611-
--hash=sha256:fbf8c09fe9728168f8cc1b40c239eab10baf9c422c18be7f53213d70434dea43 \
2612-
--hash=sha256:fca8322e04b2dde722fcb0558682740eebd3bd239bea7a0d0febbc190e99dc15
2576+
sqlalchemy==2.0.24 \
2577+
--hash=sha256:00d76fe5d7cdb5d84d625ce002ce29fefba0bfd98e212ae66793fed30af73931 \
2578+
--hash=sha256:07cc423892f2ceda9ae1daa28c0355757f362ecc7505b1ab1a3d5d8dc1c44ac6 \
2579+
--hash=sha256:0bb7cedcddffca98c40bb0becd3423e293d1fef442b869da40843d751785beb3 \
2580+
--hash=sha256:1ca7903d5e7db791a355b579c690684fac6304478b68efdc7f2ebdcfe770d8d7 \
2581+
--hash=sha256:1d9b3fd5eca3c0b137a5e0e468e24ca544ed8ca4783e0e55341b7ed2807518ee \
2582+
--hash=sha256:2587e108463cc2e5b45a896b2e7cc8659a517038026922a758bde009271aed11 \
2583+
--hash=sha256:29e51f848f843bbd75d74ae64ab1ab06302cb1dccd4549d1f5afe6b4a946edb2 \
2584+
--hash=sha256:2a479aa1ab199178ff1956b09ca8a0693e70f9c762875d69292d37049ffd0d8f \
2585+
--hash=sha256:37e89d965b52e8b20571b5d44f26e2124b26ab63758bf1b7598a0e38fb2c4005 \
2586+
--hash=sha256:38732884eabc64982a09a846bacf085596ff2371e4e41d20c0734f7e50525d01 \
2587+
--hash=sha256:396f05c552f7fa30a129497c41bef5b4d1423f9af8fe4df0c3dcd38f3e3b9a14 \
2588+
--hash=sha256:4a1d4856861ba9e73bac05030cec5852eabfa9ef4af8e56c19d92de80d46fc34 \
2589+
--hash=sha256:56a0e90a959e18ac5f18c80d0cad9e90cb09322764f536e8a637426afb1cae2f \
2590+
--hash=sha256:57ef6f2cb8b09a042d0dbeaa46a30f2df5dd1e1eb889ba258b0d5d7d6011b81c \
2591+
--hash=sha256:5f801d85ba4753d4ed97181d003e5d3fa330ac7c4587d131f61d7f968f416862 \
2592+
--hash=sha256:6db686a1d9f183c639f7e06a2656af25d4ed438eda581de135d15569f16ace33 \
2593+
--hash=sha256:6db97656fd3fe3f7e5b077f12fa6adb5feb6e0b567a3e99f47ecf5f7ea0a09e3 \
2594+
--hash=sha256:6f5e75de91c754365c098ac08c13fdb267577ce954fa239dd49228b573ca88d7 \
2595+
--hash=sha256:7a6209e689d0ff206c40032b6418e3cfcfc5af044b3f66e381d7f1ae301544b4 \
2596+
--hash=sha256:7ae5d44517fe81079ce75cf10f96978284a6db2642c5932a69c82dbae09f009a \
2597+
--hash=sha256:83fa6df0e035689df89ff77a46bf8738696785d3156c2c61494acdcddc75c69d \
2598+
--hash=sha256:8f358f5cfce04417b6ff738748ca4806fe3d3ae8040fb4e6a0c9a6973ccf9b6e \
2599+
--hash=sha256:9036ebfd934813990c5b9f71f297e77ed4963720db7d7ceec5a3fdb7cd2ef6ce \
2600+
--hash=sha256:95bae3d38f8808d79072da25d5e5a6095f36fe1f9d6c614dd72c59ca8397c7c0 \
2601+
--hash=sha256:9aaaaa846b10dfbe1bda71079d0e31a7e2cebedda9409fa7dba3dfed1ae803e8 \
2602+
--hash=sha256:9b8d0e8578e7f853f45f4512b5c920f6a546cd4bed44137460b2a56534644205 \
2603+
--hash=sha256:9bafaa05b19dc07fa191c1966c5e852af516840b0d7b46b7c3303faf1a349bc9 \
2604+
--hash=sha256:9f29c7f0f4b42337ec5a779e166946a9f86d7d56d827e771b69ecbdf426124ac \
2605+
--hash=sha256:9f992e0f916201731993eab8502912878f02287d9f765ef843677ff118d0e0b1 \
2606+
--hash=sha256:a04191a7c8d77e63f6fc1e8336d6c6e93176c0c010833e74410e647f0284f5a1 \
2607+
--hash=sha256:a0f611b431b84f55779cbb7157257d87b4a2876b067c77c4f36b15e44ced65e2 \
2608+
--hash=sha256:a3c2753bf4f48b7a6024e5e8a394af49b1b12c817d75d06942cae03d14ff87b3 \
2609+
--hash=sha256:a5cd7d30e47f87b21362beeb3e86f1b5886e7d9b0294b230dde3d3f4a1591375 \
2610+
--hash=sha256:acc58b7c2e40235712d857fdfc8f2bda9608f4a850d8d9ac0dd1fc80939ca6ac \
2611+
--hash=sha256:adbd67dac4ebf54587198b63cd30c29fd7eafa8c0cab58893d9419414f8efe4b \
2612+
--hash=sha256:b35c35e3923ade1e7ac44e150dec29f5863513246c8bf85e2d7d313e3832bcfb \
2613+
--hash=sha256:c6910eb4ea90c0889f363965cd3c8c45a620ad27b526a7899f0054f6c1b9219e \
2614+
--hash=sha256:cc889fda484d54d0b31feec409406267616536d048a450fc46943e152700bb79 \
2615+
--hash=sha256:ccfd336f96d4c9bbab0309f2a565bf15c468c2d8b2d277a32f89c5940f71fcf9 \
2616+
--hash=sha256:d8e7e8a150e7b548e7ecd6ebb9211c37265991bf2504297d9454e01b58530fc6 \
2617+
--hash=sha256:db09e424d7bb89b6215a184ca93b4f29d7f00ea261b787918a1af74143b98c06 \
2618+
--hash=sha256:e17e7e27af178d31b436dda6a596703b02a89ba74a15e2980c35ecd9909eea3a \
2619+
--hash=sha256:e69290b921b7833c04206f233d6814c60bee1d135b09f5ae5d39229de9b46cd4 \
2620+
--hash=sha256:e8398593ccc4440ce6dffcc4f47d9b2d72b9fe7112ac12ea4a44e7d4de364db1 \
2621+
--hash=sha256:e9d036e343a604db3f5a6c33354018a84a1d3f6dcae3673358b404286204798c \
2622+
--hash=sha256:ea490564435b5b204d8154f0e18387b499ea3cedc1e6af3b3a2ab18291d85aa7 \
2623+
--hash=sha256:f073321a79c81e1a009218a21089f61d87ee5fa3c9563f6be94f8b41ff181812 \
2624+
--hash=sha256:f0cc0b486a56dff72dddae6b6bfa7ff201b0eeac29d4bc6f0e9725dc3c360d71 \
2625+
--hash=sha256:fcf84fe93397a0f67733aa2a38ed4eab9fc6348189fc950e656e1ea198f45668
26132626
# via -r requirements/requirements.in
26142627
stack-data==0.6.2 \
26152628
--hash=sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815 \
@@ -2834,6 +2847,7 @@ typing-extensions==4.4.0 \
28342847
# pydantic
28352848
# pytorch-lightning
28362849
# snowflake-connector-python
2850+
# sqlalchemy
28372851
# starlette
28382852
# torch
28392853
# torchmetrics

requirements/requirements3_11.txt

Lines changed: 51 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2573,43 +2573,56 @@ sortedcontainers==2.4.0 \
25732573
--hash=sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88 \
25742574
--hash=sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0
25752575
# via snowflake-connector-python
2576-
sqlalchemy==1.4.36 \
2577-
--hash=sha256:09c606d8238feae2f360b8742ffbe67741937eb0a05b57f536948d198a3def96 \
2578-
--hash=sha256:166a3887ec355f7d2f12738f7fa25dc8ac541867147a255f790f2f41f614cb44 \
2579-
--hash=sha256:16abf35af37a3d5af92725fc9ec507dd9e9183d261c2069b6606d60981ed1c6e \
2580-
--hash=sha256:2e885548da361aa3f8a9433db4cfb335b2107e533bf314359ae3952821d84b3e \
2581-
--hash=sha256:2ec89bf98cc6a0f5d1e28e3ad28e9be6f3b4bdbd521a4053c7ae8d5e1289a8a1 \
2582-
--hash=sha256:2ecac4db8c1aa4a269f5829df7e706639a24b780d2ac46b3e485cbbd27ec0028 \
2583-
--hash=sha256:316c7e5304dda3e3ad711569ac5d02698bbc71299b168ac56a7076b86259f7ea \
2584-
--hash=sha256:5041474dcab7973baa91ec1f3112049a9dd4652898d6a95a6a895ff5c58beb6b \
2585-
--hash=sha256:53d2d9ee93970c969bc4e3c78b1277d7129554642f6ffea039c282c7dc4577bc \
2586-
--hash=sha256:5864a83bd345871ad9699ce466388f836db7572003d67d9392a71998092210e3 \
2587-
--hash=sha256:5c90ef955d429966d84326d772eb34333178737ebb669845f1d529eb00c75e72 \
2588-
--hash=sha256:5d50cb71c1dbed70646d521a0975fb0f92b7c3f84c61fa59e07be23a1aaeecfc \
2589-
--hash=sha256:64678ac321d64a45901ef2e24725ec5e783f1f4a588305e196431447e7ace243 \
2590-
--hash=sha256:64d796e9af522162f7f2bf7a3c5531a0a550764c426782797bbeed809d0646c5 \
2591-
--hash=sha256:6cb4c4f57a20710cea277edf720d249d514e587f796b75785ad2c25e1c0fed26 \
2592-
--hash=sha256:6e1fe00ee85c768807f2a139b83469c1e52a9ffd58a6eb51aa7aeb524325ab18 \
2593-
--hash=sha256:6e859fa96605027bd50d8e966db1c4e1b03e7b3267abbc4b89ae658c99393c58 \
2594-
--hash=sha256:7a052bd9f53004f8993c624c452dfad8ec600f572dd0ed0445fbe64b22f5570e \
2595-
--hash=sha256:81e53bd383c2c33de9d578bfcc243f559bd3801a0e57f2bcc9a943c790662e0c \
2596-
--hash=sha256:83cf3077712be9f65c9aaa0b5bc47bc1a44789fd45053e2e3ecd59ff17c63fe9 \
2597-
--hash=sha256:8b20c4178ead9bc398be479428568ff31b6c296eb22e75776273781a6551973f \
2598-
--hash=sha256:8d07fe2de0325d06e7e73281e9a9b5e259fbd7cbfbe398a0433cbb0082ad8fa7 \
2599-
--hash=sha256:a0ae3aa2e86a4613f2d4c49eb7da23da536e6ce80b2bfd60bbb2f55fc02b0b32 \
2600-
--hash=sha256:af2587ae11400157753115612d6c6ad255143efba791406ad8a0cbcccf2edcb3 \
2601-
--hash=sha256:b3db741beaa983d4cbf9087558620e7787106319f7e63a066990a70657dd6b35 \
2602-
--hash=sha256:be094460930087e50fd08297db9d7aadaed8408ad896baf758e9190c335632da \
2603-
--hash=sha256:cb441ca461bf97d00877b607f132772644b623518b39ced54da433215adce691 \
2604-
--hash=sha256:ce20f5da141f8af26c123ebaa1b7771835ca6c161225ce728962a79054f528c3 \
2605-
--hash=sha256:d57ac32f8dc731fddeb6f5d1358b4ca5456e72594e664769f0a9163f13df2a31 \
2606-
--hash=sha256:dce3468bf1fc12374a1a732c9efd146ce034f91bb0482b602a9311cb6166a920 \
2607-
--hash=sha256:e12532c4d3f614678623da5d852f038ace1f01869b89f003ed6fe8c793f0c6a3 \
2608-
--hash=sha256:e74ce103b81c375c3853b436297952ef8d7863d801dcffb6728d01544e5191b5 \
2609-
--hash=sha256:f0394a3acfb8925db178f7728adb38c027ed7e303665b225906bfa8099dc1ce8 \
2610-
--hash=sha256:f522214f6749bc073262529c056f7dfd660f3b5ec4180c5354d985eb7219801e \
2611-
--hash=sha256:fbf8c09fe9728168f8cc1b40c239eab10baf9c422c18be7f53213d70434dea43 \
2612-
--hash=sha256:fca8322e04b2dde722fcb0558682740eebd3bd239bea7a0d0febbc190e99dc15
2576+
sqlalchemy==2.0.24 \
2577+
--hash=sha256:00d76fe5d7cdb5d84d625ce002ce29fefba0bfd98e212ae66793fed30af73931 \
2578+
--hash=sha256:07cc423892f2ceda9ae1daa28c0355757f362ecc7505b1ab1a3d5d8dc1c44ac6 \
2579+
--hash=sha256:0bb7cedcddffca98c40bb0becd3423e293d1fef442b869da40843d751785beb3 \
2580+
--hash=sha256:1ca7903d5e7db791a355b579c690684fac6304478b68efdc7f2ebdcfe770d8d7 \
2581+
--hash=sha256:1d9b3fd5eca3c0b137a5e0e468e24ca544ed8ca4783e0e55341b7ed2807518ee \
2582+
--hash=sha256:2587e108463cc2e5b45a896b2e7cc8659a517038026922a758bde009271aed11 \
2583+
--hash=sha256:29e51f848f843bbd75d74ae64ab1ab06302cb1dccd4549d1f5afe6b4a946edb2 \
2584+
--hash=sha256:2a479aa1ab199178ff1956b09ca8a0693e70f9c762875d69292d37049ffd0d8f \
2585+
--hash=sha256:37e89d965b52e8b20571b5d44f26e2124b26ab63758bf1b7598a0e38fb2c4005 \
2586+
--hash=sha256:38732884eabc64982a09a846bacf085596ff2371e4e41d20c0734f7e50525d01 \
2587+
--hash=sha256:396f05c552f7fa30a129497c41bef5b4d1423f9af8fe4df0c3dcd38f3e3b9a14 \
2588+
--hash=sha256:4a1d4856861ba9e73bac05030cec5852eabfa9ef4af8e56c19d92de80d46fc34 \
2589+
--hash=sha256:56a0e90a959e18ac5f18c80d0cad9e90cb09322764f536e8a637426afb1cae2f \
2590+
--hash=sha256:57ef6f2cb8b09a042d0dbeaa46a30f2df5dd1e1eb889ba258b0d5d7d6011b81c \
2591+
--hash=sha256:5f801d85ba4753d4ed97181d003e5d3fa330ac7c4587d131f61d7f968f416862 \
2592+
--hash=sha256:6db686a1d9f183c639f7e06a2656af25d4ed438eda581de135d15569f16ace33 \
2593+
--hash=sha256:6db97656fd3fe3f7e5b077f12fa6adb5feb6e0b567a3e99f47ecf5f7ea0a09e3 \
2594+
--hash=sha256:6f5e75de91c754365c098ac08c13fdb267577ce954fa239dd49228b573ca88d7 \
2595+
--hash=sha256:7a6209e689d0ff206c40032b6418e3cfcfc5af044b3f66e381d7f1ae301544b4 \
2596+
--hash=sha256:7ae5d44517fe81079ce75cf10f96978284a6db2642c5932a69c82dbae09f009a \
2597+
--hash=sha256:83fa6df0e035689df89ff77a46bf8738696785d3156c2c61494acdcddc75c69d \
2598+
--hash=sha256:8f358f5cfce04417b6ff738748ca4806fe3d3ae8040fb4e6a0c9a6973ccf9b6e \
2599+
--hash=sha256:9036ebfd934813990c5b9f71f297e77ed4963720db7d7ceec5a3fdb7cd2ef6ce \
2600+
--hash=sha256:95bae3d38f8808d79072da25d5e5a6095f36fe1f9d6c614dd72c59ca8397c7c0 \
2601+
--hash=sha256:9aaaaa846b10dfbe1bda71079d0e31a7e2cebedda9409fa7dba3dfed1ae803e8 \
2602+
--hash=sha256:9b8d0e8578e7f853f45f4512b5c920f6a546cd4bed44137460b2a56534644205 \
2603+
--hash=sha256:9bafaa05b19dc07fa191c1966c5e852af516840b0d7b46b7c3303faf1a349bc9 \
2604+
--hash=sha256:9f29c7f0f4b42337ec5a779e166946a9f86d7d56d827e771b69ecbdf426124ac \
2605+
--hash=sha256:9f992e0f916201731993eab8502912878f02287d9f765ef843677ff118d0e0b1 \
2606+
--hash=sha256:a04191a7c8d77e63f6fc1e8336d6c6e93176c0c010833e74410e647f0284f5a1 \
2607+
--hash=sha256:a0f611b431b84f55779cbb7157257d87b4a2876b067c77c4f36b15e44ced65e2 \
2608+
--hash=sha256:a3c2753bf4f48b7a6024e5e8a394af49b1b12c817d75d06942cae03d14ff87b3 \
2609+
--hash=sha256:a5cd7d30e47f87b21362beeb3e86f1b5886e7d9b0294b230dde3d3f4a1591375 \
2610+
--hash=sha256:acc58b7c2e40235712d857fdfc8f2bda9608f4a850d8d9ac0dd1fc80939ca6ac \
2611+
--hash=sha256:adbd67dac4ebf54587198b63cd30c29fd7eafa8c0cab58893d9419414f8efe4b \
2612+
--hash=sha256:b35c35e3923ade1e7ac44e150dec29f5863513246c8bf85e2d7d313e3832bcfb \
2613+
--hash=sha256:c6910eb4ea90c0889f363965cd3c8c45a620ad27b526a7899f0054f6c1b9219e \
2614+
--hash=sha256:cc889fda484d54d0b31feec409406267616536d048a450fc46943e152700bb79 \
2615+
--hash=sha256:ccfd336f96d4c9bbab0309f2a565bf15c468c2d8b2d277a32f89c5940f71fcf9 \
2616+
--hash=sha256:d8e7e8a150e7b548e7ecd6ebb9211c37265991bf2504297d9454e01b58530fc6 \
2617+
--hash=sha256:db09e424d7bb89b6215a184ca93b4f29d7f00ea261b787918a1af74143b98c06 \
2618+
--hash=sha256:e17e7e27af178d31b436dda6a596703b02a89ba74a15e2980c35ecd9909eea3a \
2619+
--hash=sha256:e69290b921b7833c04206f233d6814c60bee1d135b09f5ae5d39229de9b46cd4 \
2620+
--hash=sha256:e8398593ccc4440ce6dffcc4f47d9b2d72b9fe7112ac12ea4a44e7d4de364db1 \
2621+
--hash=sha256:e9d036e343a604db3f5a6c33354018a84a1d3f6dcae3673358b404286204798c \
2622+
--hash=sha256:ea490564435b5b204d8154f0e18387b499ea3cedc1e6af3b3a2ab18291d85aa7 \
2623+
--hash=sha256:f073321a79c81e1a009218a21089f61d87ee5fa3c9563f6be94f8b41ff181812 \
2624+
--hash=sha256:f0cc0b486a56dff72dddae6b6bfa7ff201b0eeac29d4bc6f0e9725dc3c360d71 \
2625+
--hash=sha256:fcf84fe93397a0f67733aa2a38ed4eab9fc6348189fc950e656e1ea198f45668
26132626
# via -r requirements/requirements.in
26142627
stack-data==0.6.2 \
26152628
--hash=sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815 \
@@ -2834,6 +2847,7 @@ typing-extensions==4.4.0 \
28342847
# pydantic
28352848
# pytorch-lightning
28362849
# snowflake-connector-python
2850+
# sqlalchemy
28372851
# starlette
28382852
# torch
28392853
# torchmetrics

0 commit comments

Comments
 (0)