diff --git a/Cargo.lock b/Cargo.lock index ca66afe3..4f553056 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -176,9 +176,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arrow" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf3437355979f1e93ba84ba108c38be5767713051f3c8ffbf07c094e2e61f9f" +checksum = "dc208515aa0151028e464cc94a692156e945ce5126abd3537bb7fd6ba2143ed1" dependencies = [ "arrow-arith", "arrow-array", @@ -198,24 +198,23 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31dce77d2985522288edae7206bffd5fc4996491841dda01a13a58415867e681" +checksum = "e07e726e2b3f7816a85c6a45b6ec118eeeabf0b2a8c208122ad949437181f49a" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", - "half", "num", ] [[package]] name = "arrow-array" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d45fe6d3faed0435b7313e59a02583b14c6c6339fa7729e94c32a20af319a79" +checksum = "a2262eba4f16c78496adfd559a29fe4b24df6088efc9985a873d58e92be022d5" dependencies = [ "ahash", "arrow-buffer", @@ -230,9 +229,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b02656a35cc103f28084bc80a0159668e0a680d919cef127bd7e0aaccb06ec1" +checksum = "4e899dade2c3b7f5642eb8366cfd898958bcca099cde6dfea543c7e8d3ad88d4" dependencies = [ "bytes", "half", @@ -241,9 +240,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c73c6233c5b5d635a56f6010e6eb1ab9e30e94707db21cea03da317f67d84cf3" +checksum = "4103d88c5b441525ed4ac23153be7458494c2b0c9a11115848fdb9b81f6f886a" dependencies = [ "arrow-array", "arrow-buffer", @@ -262,28 +261,25 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec222848d70fea5a32af9c3602b08f5d740d5e2d33fbd76bf6fd88759b5b13a7" +checksum = "43d3cb0914486a3cae19a5cad2598e44e225d53157926d0ada03c20521191a65" dependencies = [ "arrow-array", - "arrow-buffer", "arrow-cast", - "arrow-data", "arrow-schema", "chrono", "csv", "csv-core", "lazy_static", - "lexical-core", "regex", ] [[package]] name = "arrow-data" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f2861ffa86f107b8ab577d86cff7c7a490243eabe961ba1e1af4f27542bb79" +checksum = "0a329fb064477c9ec5f0870d2f5130966f91055c7c5bce2b3a084f116bc28c3b" dependencies = [ "arrow-buffer", "arrow-schema", @@ -293,13 +289,12 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0270dc511f11bb5fa98a25020ad51a99ca5b08d8a8dfbd17503bb9dba0388f0b" +checksum = "ddecdeab02491b1ce88885986e25002a3da34dd349f682c7cfe67bab7cc17b86" dependencies = [ "arrow-array", "arrow-buffer", - "arrow-cast", "arrow-data", "arrow-schema", "flatbuffers", @@ -309,9 +304,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eff38eeb8a971ad3a4caf62c5d57f0cff8a48b64a55e3207c4fd696a9234aad" +checksum = "d03b9340013413eb84868682ace00a1098c81a5ebc96d279f7ebf9a4cac3c0fd" dependencies = [ "arrow-array", "arrow-buffer", @@ -329,26 +324,23 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f202a879d287099139ff0d121e7f55ae5e0efe634b8cf2106ebc27a8715dee" +checksum = "f841bfcc1997ef6ac48ee0305c4dfceb1f7c786fe31e67c1186edf775e1f1160" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "arrow-select", - "half", - "num", ] [[package]] name = "arrow-row" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f936954991c360ba762dff23f5dda16300774fafd722353d9683abd97630ae" +checksum = "1eeb55b0a0a83851aa01f2ca5ee5648f607e8506ba6802577afdda9d75cdedcd" dependencies = [ - "ahash", "arrow-array", "arrow-buffer", "arrow-data", @@ -358,18 +350,18 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9579b9d8bce47aa41389fe344f2c6758279983b7c0ebb4013e283e3e91bb450e" +checksum = "85934a9d0261e0fa5d4e2a5295107d743b543a6e0484a835d4b8db2da15306f9" dependencies = [ "bitflags 2.8.0", ] [[package]] name = "arrow-select" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7471ba126d0b0aaa24b50a36bc6c25e4e74869a1fd1a5553357027a0b1c8d1f1" +checksum = "7e2932aece2d0c869dd2125feb9bd1709ef5c445daa3838ac4112dcfa0fda52c" dependencies = [ "ahash", "arrow-array", @@ -381,9 +373,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "53.4.0" +version = "54.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72993b01cb62507b06f1fb49648d7286c8989ecfabdb7b77a750fcb54410731b" +checksum = "912e38bd6a7a7714c1d9b61df80315685553b7455e8a6045c27531d8ecd5b458" dependencies = [ "arrow-array", "arrow-buffer", @@ -1708,9 +1700,9 @@ dependencies = [ [[package]] name = "datafusion" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "014fc8c384ecacedaabb3bc8359c2a6c6e9d8f7bea65be3434eccacfc37f52d9" +checksum = "eae420e7a5b0b7f1c39364cc76cbcd0f5fdc416b2514ae3847c2676bbd60702a" dependencies = [ "arrow", "arrow-array", @@ -1719,7 +1711,6 @@ dependencies = [ "async-trait", "bytes", "chrono", - "dashmap", "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", @@ -1738,7 +1729,7 @@ dependencies = [ "datafusion-sql", "futures", "glob", - "itertools 0.13.0", + "itertools 0.14.0", "log", "object_store", "parking_lot", @@ -1753,30 +1744,38 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee60d33e210ef96070377ae667ece7caa0e959c8387496773d4a1a72f1a5012e" +checksum = "6f27987bc22b810939e8dfecc55571e9d50355d6ea8ec1c47af8383a76a6d0e1" dependencies = [ - "arrow-schema", + "arrow", "async-trait", + "dashmap", "datafusion-common", "datafusion-execution", "datafusion-expr", "datafusion-physical-plan", + "datafusion-sql", + "futures", + "itertools 0.14.0", + "log", "parking_lot", + "sqlparser 0.53.0", ] [[package]] name = "datafusion-common" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b42b7d720fe21ed9cca2ebb635f3f13a12cfab786b41e0fba184fb2e620525b" +checksum = "e3f6d5b8c9408cc692f7c194b8aa0c0f9b253e065a8d960ad9cdc2a13e697602" dependencies = [ "ahash", "arrow", "arrow-array", "arrow-buffer", + "arrow-ipc", "arrow-schema", + "base64 0.22.1", "half", "hashbrown 0.14.5", "indexmap 2.7.1", @@ -1791,9 +1790,9 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72fbf14d4079f7ce5306393084fe5057dddfdc2113577e0049310afa12e94281" +checksum = "0d4603c8e8a4baf77660ab7074cc66fc15cc8a18f2ce9dfadb755fc6ee294e48" dependencies = [ "log", "tokio", @@ -1801,15 +1800,15 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278dbd64860ed0bb5240fc1f4cb6aeea437153910aea69bcf7d5a8d6d0454f3" +checksum = "e5bf4bc68623a5cf231eed601ed6eb41f46a37c4d15d11a0bff24cbc8396cd66" [[package]] name = "datafusion-execution" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22cb02af47e756468b3cbfee7a83e3d4f2278d452deb4b033ba933c75169486" +checksum = "88b491c012cdf8e051053426013429a76f74ee3c2db68496c79c323ca1084d27" dependencies = [ "arrow", "dashmap", @@ -1826,9 +1825,9 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62298eadb1d15b525df1315e61a71519ffc563d41d5c3b2a30fda2d70f77b93c" +checksum = "e5a181408d4fc5dc22f9252781a8f39f2d0e5d1b33ec9bde242844980a2689c1" dependencies = [ "arrow", "chrono", @@ -1846,20 +1845,21 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda7f73c5fc349251cd3dcb05773c5bf55d2505a698ef9d38dfc712161ea2f55" +checksum = "d1129b48e8534d8c03c6543bcdccef0b55c8ac0c1272a15a56c67068b6eb1885" dependencies = [ "arrow", "datafusion-common", - "itertools 0.13.0", + "itertools 0.14.0", + "paste", ] [[package]] name = "datafusion-functions" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd197f3b2975424d3a4898ea46651be855a46721a56727515dbd5c9e2fb597da" +checksum = "6125874e4856dfb09b59886784fcb74cde5cfc5930b3a80a1a728ef7a010df6b" dependencies = [ "arrow", "arrow-buffer", @@ -1875,7 +1875,7 @@ dependencies = [ "datafusion-macros", "hashbrown 0.14.5", "hex", - "itertools 0.13.0", + "itertools 0.14.0", "log", "md-5", "rand", @@ -1887,12 +1887,13 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabbe48fba18f9981b134124381bee9e46f93518b8ad2f9721ee296cef5affb9" +checksum = "f3add7b1d3888e05e7c95f2b281af900ca69ebdcb21069ba679b33bde8b3b9d6" dependencies = [ "ahash", "arrow", + "arrow-buffer", "arrow-schema", "datafusion-common", "datafusion-doc", @@ -1909,9 +1910,9 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a3fefed9c8c11268d446d924baca8cabf52fe32f73fdaa20854bac6473590c" +checksum = "6e18baa4cfc3d2f144f74148ed68a1f92337f5072b6dde204a0dbbdf3324989c" dependencies = [ "ahash", "arrow", @@ -1922,9 +1923,9 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6360f27464fab857bec698af39b2ae331dc07c8bf008fb4de387a19cdc6815a5" +checksum = "3ec5ee8cecb0dc370291279673097ddabec03a011f73f30d7f1096457127e03e" dependencies = [ "arrow", "arrow-array", @@ -1932,21 +1933,23 @@ dependencies = [ "arrow-ord", "arrow-schema", "datafusion-common", + "datafusion-doc", "datafusion-execution", "datafusion-expr", "datafusion-functions", "datafusion-functions-aggregate", + "datafusion-macros", "datafusion-physical-expr-common", - "itertools 0.13.0", + "itertools 0.14.0", "log", "paste", ] [[package]] name = "datafusion-functions-table" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c35c070eb705c12795dab399c3809f4dfbc290678c624d3989490ca9b8449c1" +checksum = "2c403ddd473bbb0952ba880008428b3c7febf0ed3ce1eec35a205db20efb2a36" dependencies = [ "arrow", "async-trait", @@ -1960,9 +1963,9 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52229bca26b590b140900752226c829f15fc1a99840e1ca3ce1a9534690b82a8" +checksum = "1ab18c2fb835614d06a75f24a9e09136d3a8c12a92d97c95a6af316a1787a9c5" dependencies = [ "datafusion-common", "datafusion-doc", @@ -1977,9 +1980,9 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367befc303b64a668a10ae6988a064a9289e1999e71a7f8e526b6e14d6bdd9d6" +checksum = "a77b73bc15e7d1967121fdc7a55d819bfb9d6c03766a6c322247dce9094a53a4" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -1987,19 +1990,20 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5de3c8f386ea991696553afe241a326ecbc3c98a12c562867e4be754d3a060c" +checksum = "09369b8d962291e808977cf94d495fd8b5b38647232d7ef562c27ac0f495b0af" dependencies = [ + "datafusion-expr", "quote", "syn 2.0.98", ] [[package]] name = "datafusion-optimizer" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b520413906f755910422b016fb73884ae6e9e1b376de4f9584b6c0e031da75" +checksum = "2403a7e4a84637f3de7d8d4d7a9ccc0cc4be92d89b0161ba3ee5be82f0531c54" dependencies = [ "arrow", "chrono", @@ -2007,7 +2011,7 @@ dependencies = [ "datafusion-expr", "datafusion-physical-expr", "indexmap 2.7.1", - "itertools 0.13.0", + "itertools 0.14.0", "log", "regex", "regex-syntax 0.8.5", @@ -2015,9 +2019,9 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd6ddc378f6ad19af95ccd6790dec8f8e1264bc4c70e99ddc1830c1a1c78ccd" +checksum = "86ff72ac702b62dbf2650c4e1d715ebd3e4aab14e3885e72e8549e250307347c" dependencies = [ "ahash", "arrow", @@ -2032,47 +2036,53 @@ dependencies = [ "half", "hashbrown 0.14.5", "indexmap 2.7.1", - "itertools 0.13.0", + "itertools 0.14.0", "log", "paste", - "petgraph 0.6.5", + "petgraph", ] [[package]] name = "datafusion-physical-expr-common" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e6c05458eccd74b4c77ed6a1fe63d52434240711de7f6960034794dad1caf5" +checksum = "60982b7d684e25579ee29754b4333057ed62e2cc925383c5f0bd8cab7962f435" dependencies = [ "ahash", "arrow", + "arrow-buffer", "datafusion-common", "datafusion-expr-common", "hashbrown 0.14.5", - "itertools 0.13.0", + "itertools 0.14.0", ] [[package]] name = "datafusion-physical-optimizer" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dc3a82190f49c37d377f31317e07ab5d7588b837adadba8ac367baad5dc2351" +checksum = "ac5e85c189d5238a5cf181a624e450c4cd4c66ac77ca551d6f3ff9080bac90bb" dependencies = [ "arrow", + "arrow-schema", "datafusion-common", "datafusion-execution", + "datafusion-expr", "datafusion-expr-common", "datafusion-physical-expr", + "datafusion-physical-expr-common", "datafusion-physical-plan", - "itertools 0.13.0", + "futures", + "itertools 0.14.0", "log", + "url", ] [[package]] name = "datafusion-physical-plan" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6608bc9844b4ddb5ed4e687d173e6c88700b1d0482f43894617d18a1fe75da" +checksum = "c36bf163956d7e2542657c78b3383fdc78f791317ef358a359feffcdb968106f" dependencies = [ "ahash", "arrow", @@ -2093,7 +2103,7 @@ dependencies = [ "half", "hashbrown 0.14.5", "indexmap 2.7.1", - "itertools 0.13.0", + "itertools 0.14.0", "log", "parking_lot", "pin-project-lite", @@ -2102,9 +2112,9 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "44.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a884061c79b33d0c8e84a6f4f4be8bdc12c0f53f5af28ddf5d6d95ac0b15fdc" +checksum = "e13caa4daede211ecec53c78b13c503b592794d125f9a3cc3afe992edf9e7f43" dependencies = [ "arrow", "arrow-array", @@ -2484,12 +2494,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "fixedbitset" version = "0.5.7" @@ -2570,8 +2574,9 @@ dependencies = [ [[package]] name = "fsst" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "499049427ae23480696a1b728a292fec9fa554742ee26c0f35acbdade47801be" dependencies = [ "rand", ] @@ -3532,8 +3537,9 @@ dependencies = [ [[package]] name = "lance" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "748d2bd8e36f25a7fc130398e115678d01a1b821aceafe790965a0511d2443fe" dependencies = [ "arrow", "arrow-arith", @@ -3592,8 +3598,9 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ca5041940b2623daf6398c1e297aedd99a9fc38070222e69a69f600dd374c9" dependencies = [ "arrow-array", "arrow-buffer", @@ -3610,8 +3617,9 @@ dependencies = [ [[package]] name = "lance-core" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc3cd36bd1de369dd957e98fbacf8963fd1b147595fd4d2ba5e9f5866f143db9" dependencies = [ "arrow-array", "arrow-buffer", @@ -3647,8 +3655,9 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72791574cb837c5d2e89f3688b71c5fc9cc584f8f79cc50005787f5cbe285506" dependencies = [ "arrow", "arrow-array", @@ -3673,8 +3682,9 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4739cefb4757f5405c09c848d71e5a3ec05fbff26ac1a6e799774a1e878ba72" dependencies = [ "arrayref", "arrow", @@ -3712,8 +3722,9 @@ dependencies = [ [[package]] name = "lance-file" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "005824228e561b4fda8f3bfd9d755a6cbd14b2d68da93c4f094af9ee6981977f" dependencies = [ "arrow-arith", "arrow-array", @@ -3747,8 +3758,9 @@ dependencies = [ [[package]] name = "lance-index" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49177175c77cc1201366aba59ca4aa457893d1a0aad0fa6cbf7095741be7aeba" dependencies = [ "arrow", "arrow-array", @@ -3800,8 +3812,9 @@ dependencies = [ [[package]] name = "lance-io" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5e9a5bbbab0e5efc3038abb49c74add55fe7d72541a448e8c8dc45d7cbe406" dependencies = [ "arrow", "arrow-arith", @@ -3839,8 +3852,9 @@ dependencies = [ [[package]] name = "lance-linalg" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6958010c1f35babc9c68c5a4a49c154a3ecc2d0a9a11a11a970c06e2f2bdb5" dependencies = [ "arrow-array", "arrow-ord", @@ -3863,8 +3877,9 @@ dependencies = [ [[package]] name = "lance-table" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c08830bb24cadbbd24069e76d17570bfa7518eca9f2aa3651afb72035b74331" dependencies = [ "arrow", "arrow-array", @@ -3903,8 +3918,9 @@ dependencies = [ [[package]] name = "lance-testing" -version = "0.24.0" -source = "git+https://github.com/lancedb/lance.git?tag=v0.24.0-beta.1#33ae43b2944c12e0dbd139e8aa098cffa74edef5" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae923e5c09091bcf48aa166ac362b0dd189b55779ff553281094510728ea0c66" dependencies = [ "arrow-array", "arrow-schema", @@ -4053,7 +4069,7 @@ dependencies = [ "pin-project", "pyo3", "pyo3-async-runtimes", - "pyo3-build-config 0.20.3", + "pyo3-build-config", "tokio", ] @@ -4974,23 +4990,13 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df202b0b0f5b8e389955afd5f27b007b00fb948162953f1db9c70d2c7e3157d7" -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset 0.4.2", - "indexmap 2.7.1", -] - [[package]] name = "petgraph" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ - "fixedbitset 0.5.7", + "fixedbitset", "indexmap 2.7.1", ] @@ -5508,7 +5514,7 @@ dependencies = [ "log", "multimap", "once_cell", - "petgraph 0.7.1", + "petgraph", "prettyplease", "prost", "prost-types", @@ -5562,9 +5568,9 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.22.6" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884" +checksum = "7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872" dependencies = [ "cfg-if", "indoc", @@ -5572,7 +5578,7 @@ dependencies = [ "memoffset", "once_cell", "portable-atomic", - "pyo3-build-config 0.22.6", + "pyo3-build-config", "pyo3-ffi", "pyo3-macros", "unindent", @@ -5580,9 +5586,9 @@ dependencies = [ [[package]] name = "pyo3-async-runtimes" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2529f0be73ffd2be0cc43c013a640796558aa12d7ca0aab5cc14f375b4733031" +checksum = "977dc837525cfd22919ba6a831413854beb7c99a256c03bf8624ad707e45810e" dependencies = [ "futures", "once_cell", @@ -5594,9 +5600,9 @@ dependencies = [ [[package]] name = "pyo3-async-runtimes-macros" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22c26fd8e9fc19f53f0c1e00bf61471de6789f7eb263056f7f944a9cceb5823e" +checksum = "b2df2884957d2476731f987673befac5d521dff10abb0a7cbe12015bc7702fe9" dependencies = [ "proc-macro2", "quote", @@ -5605,19 +5611,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.20.3" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" -dependencies = [ - "once_cell", - "target-lexicon", -] - -[[package]] -name = "pyo3-build-config" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38" +checksum = "94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb" dependencies = [ "once_cell", "target-lexicon", @@ -5625,19 +5621,19 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.22.6" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636" +checksum = "e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d" dependencies = [ "libc", - "pyo3-build-config 0.22.6", + "pyo3-build-config", ] [[package]] name = "pyo3-macros" -version = "0.22.6" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453" +checksum = "fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -5647,13 +5643,13 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.22.6" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe" +checksum = "fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028" dependencies = [ "heck 0.5.0", "proc-macro2", - "pyo3-build-config 0.22.6", + "pyo3-build-config", "quote", "syn 2.0.98", ] diff --git a/Cargo.toml b/Cargo.toml index 765a91a6..4e8a64e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,32 +21,30 @@ categories = ["database-implementations"] rust-version = "1.78.0" [workspace.dependencies] -lance = { "version" = "=0.24.0", "features" = [ - "dynamodb", -], git = "https://github.com/lancedb/lance.git", tag = "v0.24.0-beta.1" } -lance-io = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } -lance-index = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } -lance-linalg = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } -lance-table = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } -lance-testing = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } -lance-datafusion = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } -lance-encoding = { version = "=0.24.0", tag = "v0.24.0-beta.1", git = "https://github.com/lancedb/lance.git" } +lance = { "version" = "=0.24.1", "features" = ["dynamodb"] } +lance-io = { version = "=0.24.1" } +lance-index = { version = "=0.24.1" } +lance-linalg = { version = "=0.24.1" } +lance-table = { version = "=0.24.1" } +lance-testing = { version = "=0.24.1" } +lance-datafusion = { version = "=0.24.1" } +lance-encoding = { version = "=0.24.1" } # Note that this one does not include pyarrow -arrow = { version = "53.2", optional = false } -arrow-array = "53.2" -arrow-data = "53.2" -arrow-ipc = "53.2" -arrow-ord = "53.2" -arrow-schema = "53.2" -arrow-arith = "53.2" -arrow-cast = "53.2" +arrow = { version = "54.1", optional = false } +arrow-array = "54.1" +arrow-data = "54.1" +arrow-ipc = "54.1" +arrow-ord = "54.1" +arrow-schema = "54.1" +arrow-arith = "54.1" +arrow-cast = "54.1" async-trait = "0" -datafusion = { version = "44.0", default-features = false } -datafusion-catalog = "44.0" -datafusion-common = { version = "44.0", default-features = false } -datafusion-execution = "44.0" -datafusion-expr = "44.0" -datafusion-physical-plan = "44.0" +datafusion = { version = "45.0", default-features = false } +datafusion-catalog = "45.0" +datafusion-common = { version = "45.0", default-features = false } +datafusion-execution = "45.0" +datafusion-expr = "45.0" +datafusion-physical-plan = "45.0" env_logger = "0.11" half = { "version" = "=2.4.1", default-features = false, features = [ "num-traits", diff --git a/python/Cargo.toml b/python/Cargo.toml index 33622a7d..0296fbf2 100644 --- a/python/Cargo.toml +++ b/python/Cargo.toml @@ -14,21 +14,20 @@ name = "_lancedb" crate-type = ["cdylib"] [dependencies] -arrow = { version = "53.2", features = ["pyarrow"] } +arrow = { version = "54.1", features = ["pyarrow"] } lancedb = { path = "../rust/lancedb", default-features = false } env_logger.workspace = true -pyo3 = { version = "0.22.2", features = [ - "extension-module", - "abi3-py39", - "gil-refs" +pyo3 = { version = "0.23", features = ["extension-module", "abi3-py39"] } +pyo3-async-runtimes = { version = "0.23", features = [ + "attributes", + "tokio-runtime", ] } -pyo3-async-runtimes = { version = "0.22", features = ["attributes", "tokio-runtime"] } pin-project = "1.1.5" futures.workspace = true tokio = { version = "1.40", features = ["sync"] } [build-dependencies] -pyo3-build-config = { version = "0.20.3", features = [ +pyo3-build-config = { version = "0.23", features = [ "extension-module", "abi3-py39", ] } diff --git a/python/pyproject.toml b/python/pyproject.toml index 39e7b981..b9f02dd0 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -54,7 +54,7 @@ tests = [ "polars>=0.19, <=1.3.0", "tantivy", "pyarrow-stubs", - "pylance~=0.23.2", + "pylance>=0.23.2", ] dev = [ "ruff", diff --git a/python/src/error.rs b/python/src/error.rs index 3c35184b..fd3ed825 100644 --- a/python/src/error.rs +++ b/python/src/error.rs @@ -43,7 +43,7 @@ impl PythonErrorExt for std::result::Result { } => Python::with_gil(|py| { let message = err.to_string(); let http_err_cls = py - .import_bound(intern!(py, "lancedb.remote.errors"))? + .import(intern!(py, "lancedb.remote.errors"))? .getattr(intern!(py, "HttpError"))?; let err = http_err_cls.call1(( message, @@ -63,7 +63,7 @@ impl PythonErrorExt for std::result::Result { err.setattr(intern!(py, "__cause__"), cause_err)?; } - Err(PyErr::from_value_bound(err)) + Err(PyErr::from_value(err)) }), LanceError::Retry { request_id, @@ -85,7 +85,7 @@ impl PythonErrorExt for std::result::Result { let message = err.to_string(); let retry_error_cls = py - .import_bound(intern!(py, "lancedb.remote.errors"))? + .import(intern!(py, "lancedb.remote.errors"))? .getattr("RetryError")?; let err = retry_error_cls.call1(( message, @@ -100,7 +100,7 @@ impl PythonErrorExt for std::result::Result { ))?; err.setattr(intern!(py, "__cause__"), cause_err)?; - Err(PyErr::from_value_bound(err)) + Err(PyErr::from_value(err)) }), _ => self.runtime_error(), }, @@ -127,18 +127,16 @@ fn http_from_rust_error( status_code: Option, ) -> PyResult { let message = err.to_string(); - let http_err_cls = py - .import_bound("lancedb.remote.errors")? - .getattr("HttpError")?; + let http_err_cls = py.import("lancedb.remote.errors")?.getattr("HttpError")?; let py_err = http_err_cls.call1((message, request_id, status_code))?; // Reset the traceback since it doesn't provide additional information. - let py_err = py_err.call_method1(intern!(py, "with_traceback"), (PyNone::get_bound(py),))?; + let py_err = py_err.call_method1(intern!(py, "with_traceback"), (PyNone::get(py),))?; if let Some(cause) = err.source() { let cause_err = http_from_rust_error(py, cause, request_id, status_code)?; py_err.setattr(intern!(py, "__cause__"), cause_err)?; } - Ok(PyErr::from_value_bound(py_err)) + Ok(PyErr::from_value(py_err)) } diff --git a/python/src/index.rs b/python/src/index.rs index 3f50e9a6..54cc4701 100644 --- a/python/src/index.rs +++ b/python/src/index.rs @@ -7,29 +7,32 @@ use lancedb::index::{ vector::{IvfHnswPqIndexBuilder, IvfHnswSqIndexBuilder, IvfPqIndexBuilder}, Index as LanceDbIndex, }; +use pyo3::types::PyStringMethods; +use pyo3::IntoPyObject; use pyo3::{ exceptions::{PyKeyError, PyValueError}, intern, pyclass, pymethods, types::PyAnyMethods, - Bound, FromPyObject, IntoPy, PyAny, PyObject, PyResult, Python, + Bound, FromPyObject, PyAny, PyResult, Python, }; use crate::util::parse_distance_type; -pub fn class_name<'a>(ob: &'a Bound<'_, PyAny>) -> PyResult<&'a str> { - let full_name: &str = ob +pub fn class_name(ob: &'_ Bound<'_, PyAny>) -> PyResult { + let full_name = ob .getattr(intern!(ob.py(), "__class__"))? - .getattr(intern!(ob.py(), "__name__"))? - .extract()?; + .getattr(intern!(ob.py(), "__name__"))?; + let full_name = full_name.downcast()?.to_string_lossy(); + match full_name.rsplit_once('.') { - Some((_, name)) => Ok(name), - None => Ok(full_name), + Some((_, name)) => Ok(name.to_string()), + None => Ok(full_name.to_string()), } } pub fn extract_index_params(source: &Option>) -> PyResult { if let Some(source) = source { - match class_name(source)? { + match class_name(source)?.as_str() { "BTree" => Ok(LanceDbIndex::BTree(BTreeIndexBuilder::default())), "Bitmap" => Ok(LanceDbIndex::Bitmap(Default::default())), "LabelList" => Ok(LanceDbIndex::LabelList(Default::default())), @@ -196,11 +199,11 @@ impl IndexConfig { // For backwards-compatibility with the old sync SDK, we also support getting // attributes via __getitem__. - pub fn __getitem__(&self, key: String, py: Python<'_>) -> PyResult { + pub fn __getitem__<'a>(&self, key: String, py: Python<'a>) -> PyResult> { match key.as_str() { - "index_type" => Ok(self.index_type.clone().into_py(py)), - "columns" => Ok(self.columns.clone().into_py(py)), - "name" | "index_name" => Ok(self.name.clone().into_py(py)), + "index_type" => Ok(self.index_type.clone().into_pyobject(py)?.into_any()), + "columns" => Ok(self.columns.clone().into_pyobject(py)?.into_any()), + "name" | "index_name" => Ok(self.name.clone().into_pyobject(py)?.into_any()), _ => Err(PyKeyError::new_err(format!("Invalid key: {}", key))), } } diff --git a/python/src/table.rs b/python/src/table.rs index 87f4b2ef..73a91dcc 100644 --- a/python/src/table.rs +++ b/python/src/table.rs @@ -13,7 +13,7 @@ use pyo3::{ exceptions::{PyKeyError, PyRuntimeError, PyValueError}, pyclass, pymethods, types::{IntoPyDict, PyAnyMethods, PyDict, PyDictMethods}, - Bound, FromPyObject, PyAny, PyRef, PyResult, Python, ToPyObject, + Bound, FromPyObject, PyAny, PyRef, PyResult, Python, }; use pyo3_async_runtimes::tokio::future_into_py; use std::collections::HashMap; @@ -222,7 +222,7 @@ impl Table { let stats = inner.index_stats(&index_name).await.infer_error()?; if let Some(stats) = stats { Python::with_gil(|py| { - let dict = PyDict::new_bound(py); + let dict = PyDict::new(py); dict.set_item("num_indexed_rows", stats.num_indexed_rows)?; dict.set_item("num_unindexed_rows", stats.num_unindexed_rows)?; dict.set_item("index_type", stats.index_type.to_string())?; @@ -235,7 +235,7 @@ impl Table { dict.set_item("num_indices", num_indices)?; } - Ok(Some(dict.to_object(py))) + Ok(Some(dict.unbind())) }) } else { Ok(None) @@ -266,7 +266,7 @@ impl Table { versions .iter() .map(|v| { - let dict = PyDict::new_bound(py); + let dict = PyDict::new(py); dict.set_item("version", v.version).unwrap(); dict.set_item( "timestamp", @@ -275,14 +275,13 @@ impl Table { .unwrap(); let tup: Vec<(&String, &String)> = v.metadata.iter().collect(); - dict.set_item("metadata", tup.into_py_dict_bound(py)) - .unwrap(); - dict.to_object(py) + dict.set_item("metadata", tup.into_py_dict(py)?).unwrap(); + Ok(dict.unbind()) }) - .collect::>() + .collect::>>() }); - Ok(versions_as_dict) + versions_as_dict }) }