polars-df 0.9.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/Cargo.lock +144 -57
  4. data/README.md +7 -6
  5. data/ext/polars/Cargo.toml +10 -6
  6. data/ext/polars/src/batched_csv.rs +53 -50
  7. data/ext/polars/src/conversion/anyvalue.rs +3 -2
  8. data/ext/polars/src/conversion/mod.rs +31 -67
  9. data/ext/polars/src/dataframe/construction.rs +186 -0
  10. data/ext/polars/src/dataframe/export.rs +48 -0
  11. data/ext/polars/src/dataframe/general.rs +607 -0
  12. data/ext/polars/src/dataframe/io.rs +463 -0
  13. data/ext/polars/src/dataframe/mod.rs +26 -0
  14. data/ext/polars/src/expr/array.rs +6 -2
  15. data/ext/polars/src/expr/datetime.rs +13 -4
  16. data/ext/polars/src/expr/general.rs +50 -9
  17. data/ext/polars/src/expr/list.rs +6 -2
  18. data/ext/polars/src/expr/rolling.rs +185 -69
  19. data/ext/polars/src/expr/string.rs +12 -33
  20. data/ext/polars/src/file.rs +158 -11
  21. data/ext/polars/src/functions/lazy.rs +20 -3
  22. data/ext/polars/src/functions/range.rs +74 -0
  23. data/ext/polars/src/functions/whenthen.rs +47 -17
  24. data/ext/polars/src/interop/mod.rs +1 -0
  25. data/ext/polars/src/interop/numo/mod.rs +2 -0
  26. data/ext/polars/src/interop/numo/to_numo_df.rs +23 -0
  27. data/ext/polars/src/interop/numo/to_numo_series.rs +60 -0
  28. data/ext/polars/src/lazyframe/mod.rs +111 -56
  29. data/ext/polars/src/lib.rs +68 -34
  30. data/ext/polars/src/map/dataframe.rs +17 -9
  31. data/ext/polars/src/map/lazy.rs +5 -25
  32. data/ext/polars/src/map/series.rs +7 -1
  33. data/ext/polars/src/series/aggregation.rs +47 -30
  34. data/ext/polars/src/series/export.rs +131 -49
  35. data/ext/polars/src/series/mod.rs +13 -133
  36. data/lib/polars/array_expr.rb +6 -2
  37. data/lib/polars/batched_csv_reader.rb +11 -3
  38. data/lib/polars/convert.rb +6 -1
  39. data/lib/polars/data_frame.rb +225 -370
  40. data/lib/polars/date_time_expr.rb +11 -4
  41. data/lib/polars/date_time_name_space.rb +14 -4
  42. data/lib/polars/dynamic_group_by.rb +2 -2
  43. data/lib/polars/exceptions.rb +4 -0
  44. data/lib/polars/expr.rb +1171 -54
  45. data/lib/polars/functions/lazy.rb +3 -3
  46. data/lib/polars/functions/range/date_range.rb +92 -0
  47. data/lib/polars/functions/range/datetime_range.rb +149 -0
  48. data/lib/polars/functions/range/time_range.rb +141 -0
  49. data/lib/polars/functions/whenthen.rb +74 -5
  50. data/lib/polars/group_by.rb +88 -23
  51. data/lib/polars/io/avro.rb +24 -0
  52. data/lib/polars/{io.rb → io/csv.rb} +307 -489
  53. data/lib/polars/io/database.rb +73 -0
  54. data/lib/polars/io/ipc.rb +247 -0
  55. data/lib/polars/io/json.rb +18 -0
  56. data/lib/polars/io/ndjson.rb +69 -0
  57. data/lib/polars/io/parquet.rb +226 -0
  58. data/lib/polars/lazy_frame.rb +55 -195
  59. data/lib/polars/lazy_group_by.rb +100 -3
  60. data/lib/polars/list_expr.rb +6 -2
  61. data/lib/polars/rolling_group_by.rb +2 -2
  62. data/lib/polars/series.rb +14 -12
  63. data/lib/polars/string_expr.rb +38 -36
  64. data/lib/polars/utils.rb +89 -1
  65. data/lib/polars/version.rb +1 -1
  66. data/lib/polars/whenthen.rb +83 -0
  67. data/lib/polars.rb +10 -3
  68. metadata +23 -8
  69. data/ext/polars/src/dataframe.rs +0 -1182
  70. data/lib/polars/when.rb +0 -16
  71. data/lib/polars/when_then.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d6852d4e91c063866f1a64c32607e62f536c1faa5730c57f278632b41d418614
4
- data.tar.gz: 3c3aef0366fb2e182826a6fc70b5b278974cd71ce9a968ea2faf7dd6c3324a8c
3
+ metadata.gz: 2f3ab43985e7c935b41db31806bde6389ab5f01a0674e5c94d8e109d8b74ec0e
4
+ data.tar.gz: 9742bb044b65f5fccf41ced07c849b5fa70f241e3100c0f0bf8ec0de4f61d1dd
5
5
  SHA512:
6
- metadata.gz: 7ce8f3a7c5e5f01d673361a5cd070dbdd675099794cebdd12c29dc5e5963b2b7d0798f432f32e917ed5d77eb2ffe9f5def99d9dbd616b04a45e5483d562c49e1
7
- data.tar.gz: f69de773948caf4dcf48a59f52c881ae71b1a2a45f16aad65bc8aea0c4b4c31b2603a02907b62718d8f345dcb85ba1ec46abc2d3356cd2603c16a26cac596f60
6
+ metadata.gz: ab7f8f4a20790038760603ff9a86175a354f7264de3630c4116c4eff7271d83b5dfc4f5b16b16ba5aa6286606487923b3491dfe1849dc4117341eb864ff0a000
7
+ data.tar.gz: 5416270f6a5fb234ee846b6eb1e57bb4f287269d0d8172abf4b00154e797807634014ba5b2f43223ce5bb0e0721d90b5b33b910c679dcd6d8ec70b1c53376cdf
data/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ ## 0.11.0 (2024-06-02)
2
+
3
+ - Updated Polars to 0.40.0
4
+ - Added `date_ranges` method to `Polars`
5
+ - Added `read_ipc_stream` method to `Polars`
6
+ - Added `write_ipc_stream` to `DataFrame`
7
+ - Added `flags` method to `DataFrame`
8
+ - Added support for keyword arguments to `agg` methods
9
+ - Aliased `apply` to `map_rows` for `DataFrame`
10
+ - Changed default `name` for `with_row_index` from `row_nr` to `index`
11
+
12
+ ## 0.10.0 (2024-05-02)
13
+
14
+ - Updated Polars to 0.39.2
15
+ - Added support for writing JSON to string
16
+ - Added support for writing Parquet to `StringIO`
17
+ - Added support for cross joins
18
+ - Added `data_page_size` option to `write_parquet` method
19
+ - Added `truncate_ragged_lines` option to `read_csv`, `read_csv_batched`, and `scan_csv` methods
20
+ - Added precompiled gem for Linux x86-64 MUSL
21
+ - Changed `drop` method to ignore missing columns
22
+ - Fixed error with `then` method
23
+
1
24
  ## 0.9.0 (2024-03-03)
2
25
 
3
26
  See the [upgrade guide](https://docs.pola.rs/releases/upgrade/0.20/)
data/Cargo.lock CHANGED
@@ -83,9 +83,9 @@ dependencies = [
83
83
 
84
84
  [[package]]
85
85
  name = "argminmax"
86
- version = "0.6.1"
86
+ version = "0.6.2"
87
87
  source = "registry+https://github.com/rust-lang/crates.io-index"
88
- checksum = "202108b46429b765ef483f8a24d5c46f48c14acfdacc086dd4ab6dddf6bcdbd2"
88
+ checksum = "52424b59d69d69d5056d508b260553afd91c57e21849579cd1f50ee8b8b88eaa"
89
89
  dependencies = [
90
90
  "num-traits",
91
91
  ]
@@ -181,9 +181,9 @@ dependencies = [
181
181
 
182
182
  [[package]]
183
183
  name = "base64"
184
- version = "0.21.5"
184
+ version = "0.22.1"
185
185
  source = "registry+https://github.com/rust-lang/crates.io-index"
186
- checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
186
+ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
187
187
 
188
188
  [[package]]
189
189
  name = "bindgen"
@@ -222,9 +222,9 @@ dependencies = [
222
222
 
223
223
  [[package]]
224
224
  name = "brotli"
225
- version = "3.4.0"
225
+ version = "5.0.0"
226
226
  source = "registry+https://github.com/rust-lang/crates.io-index"
227
- checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
227
+ checksum = "19483b140a7ac7174d34b5a581b406c64f84da5409d3e09cf4fff604f9270e67"
228
228
  dependencies = [
229
229
  "alloc-no-stdlib",
230
230
  "alloc-stdlib",
@@ -233,9 +233,9 @@ dependencies = [
233
233
 
234
234
  [[package]]
235
235
  name = "brotli-decompressor"
236
- version = "2.5.1"
236
+ version = "4.0.0"
237
237
  source = "registry+https://github.com/rust-lang/crates.io-index"
238
- checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
238
+ checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76"
239
239
  dependencies = [
240
240
  "alloc-no-stdlib",
241
241
  "alloc-stdlib",
@@ -300,9 +300,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
300
300
 
301
301
  [[package]]
302
302
  name = "chrono"
303
- version = "0.4.31"
303
+ version = "0.4.35"
304
304
  source = "registry+https://github.com/rust-lang/crates.io-index"
305
- checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
305
+ checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
306
306
  dependencies = [
307
307
  "android-tzdata",
308
308
  "iana-time-zone",
@@ -310,7 +310,7 @@ dependencies = [
310
310
  "num-traits",
311
311
  "serde",
312
312
  "wasm-bindgen",
313
- "windows-targets 0.48.5",
313
+ "windows-targets 0.52.0",
314
314
  ]
315
315
 
316
316
  [[package]]
@@ -354,7 +354,7 @@ checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686"
354
354
  dependencies = [
355
355
  "crossterm",
356
356
  "strum",
357
- "strum_macros",
357
+ "strum_macros 0.25.3",
358
358
  "unicode-width",
359
359
  ]
360
360
 
@@ -469,9 +469,12 @@ checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d"
469
469
 
470
470
  [[package]]
471
471
  name = "either"
472
- version = "1.9.0"
472
+ version = "1.12.0"
473
473
  source = "registry+https://github.com/rust-lang/crates.io-index"
474
- checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
474
+ checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
475
+ dependencies = [
476
+ "serde",
477
+ ]
475
478
 
476
479
  [[package]]
477
480
  name = "enum_dispatch"
@@ -676,6 +679,7 @@ dependencies = [
676
679
  "ahash",
677
680
  "allocator-api2",
678
681
  "rayon",
682
+ "serde",
679
683
  ]
680
684
 
681
685
  [[package]]
@@ -966,9 +970,9 @@ dependencies = [
966
970
 
967
971
  [[package]]
968
972
  name = "magnus"
969
- version = "0.6.2"
973
+ version = "0.6.4"
970
974
  source = "registry+https://github.com/rust-lang/crates.io-index"
971
- checksum = "4778544796676e8428e9c622460ebf284bea52d8b10db3aeb449d8b5e61b3a13"
975
+ checksum = "b1597ef40aa8c36be098249e82c9a20cf7199278ac1c1a1a995eeead6a184479"
972
976
  dependencies = [
973
977
  "magnus-macros",
974
978
  "rb-sys",
@@ -1089,9 +1093,9 @@ dependencies = [
1089
1093
 
1090
1094
  [[package]]
1091
1095
  name = "num-traits"
1092
- version = "0.2.17"
1096
+ version = "0.2.19"
1093
1097
  source = "registry+https://github.com/rust-lang/crates.io-index"
1094
- checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
1098
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
1095
1099
  dependencies = [
1096
1100
  "autocfg",
1097
1101
  "libm",
@@ -1243,7 +1247,7 @@ dependencies = [
1243
1247
 
1244
1248
  [[package]]
1245
1249
  name = "polars"
1246
- version = "0.9.0"
1250
+ version = "0.11.0"
1247
1251
  dependencies = [
1248
1252
  "ahash",
1249
1253
  "chrono",
@@ -1251,7 +1255,7 @@ dependencies = [
1251
1255
  "jemallocator",
1252
1256
  "magnus",
1253
1257
  "mimalloc",
1254
- "polars 0.38.1",
1258
+ "polars 0.40.0",
1255
1259
  "polars-core",
1256
1260
  "polars-parquet",
1257
1261
  "polars-utils",
@@ -1261,9 +1265,9 @@ dependencies = [
1261
1265
 
1262
1266
  [[package]]
1263
1267
  name = "polars"
1264
- version = "0.38.1"
1268
+ version = "0.40.0"
1265
1269
  source = "registry+https://github.com/rust-lang/crates.io-index"
1266
- checksum = "3a26ef94cfedd5915da990a0b4740cca17b5854bd44a8e8c741fe732c02aac37"
1270
+ checksum = "e148396dca5496566880fa19374f3f789a29db94e3eb458afac1497b4bac5442"
1267
1271
  dependencies = [
1268
1272
  "getrandom",
1269
1273
  "polars-arrow",
@@ -1282,9 +1286,9 @@ dependencies = [
1282
1286
 
1283
1287
  [[package]]
1284
1288
  name = "polars-arrow"
1285
- version = "0.38.1"
1289
+ version = "0.40.0"
1286
1290
  source = "registry+https://github.com/rust-lang/crates.io-index"
1287
- checksum = "48e71d30a9fa503bc3baaff3b4c48f08d402c442a50ea7fb9d475ce7b575425a"
1291
+ checksum = "1cb5e11cd0752ae022fa6ca3afa50a14b0301b7ce53c0135828fbb0f4fa8303e"
1288
1292
  dependencies = [
1289
1293
  "ahash",
1290
1294
  "atoi",
@@ -1330,9 +1334,9 @@ dependencies = [
1330
1334
 
1331
1335
  [[package]]
1332
1336
  name = "polars-compute"
1333
- version = "0.38.1"
1337
+ version = "0.40.0"
1334
1338
  source = "registry+https://github.com/rust-lang/crates.io-index"
1335
- checksum = "26342dea46502e8a3322f484062869c2fa49185d512bce4fb44f350b559b4eae"
1339
+ checksum = "89fc4578f826234cdecb782952aa9c479dc49373f81694a7b439c70b6f609ba0"
1336
1340
  dependencies = [
1337
1341
  "bytemuck",
1338
1342
  "either",
@@ -1346,9 +1350,9 @@ dependencies = [
1346
1350
 
1347
1351
  [[package]]
1348
1352
  name = "polars-core"
1349
- version = "0.38.1"
1353
+ version = "0.40.0"
1350
1354
  source = "registry+https://github.com/rust-lang/crates.io-index"
1351
- checksum = "99e0885a8f1bd1f4d928f5eaa852825bf647b6b5e21e171b6af838f77b6565f3"
1355
+ checksum = "e490c6bace1366a558feea33d1846f749a8ca90bd72a6748752bc65bb4710b2a"
1352
1356
  dependencies = [
1353
1357
  "ahash",
1354
1358
  "bitflags 2.4.1",
@@ -1380,9 +1384,9 @@ dependencies = [
1380
1384
 
1381
1385
  [[package]]
1382
1386
  name = "polars-error"
1383
- version = "0.38.1"
1387
+ version = "0.40.0"
1384
1388
  source = "registry+https://github.com/rust-lang/crates.io-index"
1385
- checksum = "d259d905c17d8e8b2de1eadc94dc4186bf1d325f1be81b4087afea22a6f753d6"
1389
+ checksum = "08888f58e61599b00f5ea0c2ccdc796b54b9859559cc0d4582733509451fa01a"
1386
1390
  dependencies = [
1387
1391
  "avro-schema",
1388
1392
  "polars-arrow-format",
@@ -1391,11 +1395,31 @@ dependencies = [
1391
1395
  "thiserror",
1392
1396
  ]
1393
1397
 
1398
+ [[package]]
1399
+ name = "polars-expr"
1400
+ version = "0.40.0"
1401
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1402
+ checksum = "4173591920fe56ad55af025f92eb0d08421ca85705c326a640c43856094e3484"
1403
+ dependencies = [
1404
+ "ahash",
1405
+ "bitflags 2.4.1",
1406
+ "once_cell",
1407
+ "polars-arrow",
1408
+ "polars-core",
1409
+ "polars-io",
1410
+ "polars-ops",
1411
+ "polars-plan",
1412
+ "polars-time",
1413
+ "polars-utils",
1414
+ "rayon",
1415
+ "smartstring",
1416
+ ]
1417
+
1394
1418
  [[package]]
1395
1419
  name = "polars-io"
1396
- version = "0.38.1"
1420
+ version = "0.40.0"
1397
1421
  source = "registry+https://github.com/rust-lang/crates.io-index"
1398
- checksum = "45f694b918ba2ee7e6f13e8415598f94009c390a9e61c95e6b9c26c8fe1a1a54"
1422
+ checksum = "5842896aea46d975b425d63f156f412aed3cfde4c257b64fb1f43ceea288074e"
1399
1423
  dependencies = [
1400
1424
  "ahash",
1401
1425
  "async-trait",
@@ -1433,9 +1457,9 @@ dependencies = [
1433
1457
 
1434
1458
  [[package]]
1435
1459
  name = "polars-json"
1436
- version = "0.38.1"
1460
+ version = "0.40.0"
1437
1461
  source = "registry+https://github.com/rust-lang/crates.io-index"
1438
- checksum = "fd7c4d33540a22cd49ccb9b4da77999604ba986707d4568be57fde2f719954ae"
1462
+ checksum = "160cbad0145b93ac6a88639aadfa6f7d7c769d05a8674f9b7e895b398cae9901"
1439
1463
  dependencies = [
1440
1464
  "ahash",
1441
1465
  "chrono",
@@ -1454,9 +1478,9 @@ dependencies = [
1454
1478
 
1455
1479
  [[package]]
1456
1480
  name = "polars-lazy"
1457
- version = "0.38.1"
1481
+ version = "0.40.0"
1458
1482
  source = "registry+https://github.com/rust-lang/crates.io-index"
1459
- checksum = "56e3b40272d24142bcecb2979b19ec8d8c1a14036cb3cea09ce8fb8a4a43bcde"
1483
+ checksum = "e805ea2ebbc6b7749b0afb31b7fc5d32b42b57ba29b984549d43d3a16114c4a5"
1460
1484
  dependencies = [
1461
1485
  "ahash",
1462
1486
  "bitflags 2.4.1",
@@ -1464,6 +1488,7 @@ dependencies = [
1464
1488
  "once_cell",
1465
1489
  "polars-arrow",
1466
1490
  "polars-core",
1491
+ "polars-expr",
1467
1492
  "polars-io",
1468
1493
  "polars-json",
1469
1494
  "polars-ops",
@@ -1478,9 +1503,9 @@ dependencies = [
1478
1503
 
1479
1504
  [[package]]
1480
1505
  name = "polars-ops"
1481
- version = "0.38.1"
1506
+ version = "0.40.0"
1482
1507
  source = "registry+https://github.com/rust-lang/crates.io-index"
1483
- checksum = "cd5bad61c2fa1977eb65bb719f12d4f68b908edf1106b91b3ab9615f9df8843e"
1508
+ checksum = "7b0aed7e169c81b98457641cf82b251f52239a668916c2e683abd1f38df00d58"
1484
1509
  dependencies = [
1485
1510
  "ahash",
1486
1511
  "aho-corasick",
@@ -1515,9 +1540,9 @@ dependencies = [
1515
1540
 
1516
1541
  [[package]]
1517
1542
  name = "polars-parquet"
1518
- version = "0.38.1"
1543
+ version = "0.40.0"
1519
1544
  source = "registry+https://github.com/rust-lang/crates.io-index"
1520
- checksum = "06d84fb9b005a19ca523406df371d9329466ae87df48922d0d3d8955072502a4"
1545
+ checksum = "c70670a9e51cac66d0e77fd20b5cc957dbcf9f2660d410633862bb72f846d5b8"
1521
1546
  dependencies = [
1522
1547
  "ahash",
1523
1548
  "async-stream",
@@ -1541,9 +1566,9 @@ dependencies = [
1541
1566
 
1542
1567
  [[package]]
1543
1568
  name = "polars-pipe"
1544
- version = "0.38.1"
1569
+ version = "0.40.0"
1545
1570
  source = "registry+https://github.com/rust-lang/crates.io-index"
1546
- checksum = "58097bef7208a5b833c4d832d948026854917b4a219d55ab1779eb36b59fac0f"
1571
+ checksum = "0a40ae1b3c74ee07e2d1f7cbf56c5d6e15969e45d9b6f0903bd2acaf783ba436"
1547
1572
  dependencies = [
1548
1573
  "crossbeam-channel",
1549
1574
  "crossbeam-queue",
@@ -1553,6 +1578,7 @@ dependencies = [
1553
1578
  "polars-arrow",
1554
1579
  "polars-compute",
1555
1580
  "polars-core",
1581
+ "polars-expr",
1556
1582
  "polars-io",
1557
1583
  "polars-ops",
1558
1584
  "polars-plan",
@@ -1566,14 +1592,16 @@ dependencies = [
1566
1592
 
1567
1593
  [[package]]
1568
1594
  name = "polars-plan"
1569
- version = "0.38.1"
1595
+ version = "0.40.0"
1570
1596
  source = "registry+https://github.com/rust-lang/crates.io-index"
1571
- checksum = "56493c0e13aaccfcae59985db34da30cd4893e57edc9715d8688c96d7e911d47"
1597
+ checksum = "8daa3541ae7e9af311a4389bc2b21f83349c34c723cc67fa524cdefdaa172d90"
1572
1598
  dependencies = [
1573
1599
  "ahash",
1574
1600
  "bytemuck",
1575
1601
  "chrono",
1576
1602
  "chrono-tz",
1603
+ "either",
1604
+ "hashbrown 0.14.3",
1577
1605
  "once_cell",
1578
1606
  "percent-encoding",
1579
1607
  "polars-arrow",
@@ -1585,18 +1613,19 @@ dependencies = [
1585
1613
  "polars-time",
1586
1614
  "polars-utils",
1587
1615
  "rayon",
1616
+ "recursive",
1588
1617
  "regex",
1589
1618
  "serde",
1590
1619
  "smartstring",
1591
- "strum_macros",
1620
+ "strum_macros 0.26.2",
1592
1621
  "version_check",
1593
1622
  ]
1594
1623
 
1595
1624
  [[package]]
1596
1625
  name = "polars-row"
1597
- version = "0.38.1"
1626
+ version = "0.40.0"
1598
1627
  source = "registry+https://github.com/rust-lang/crates.io-index"
1599
- checksum = "7def6f9fc14fbfc0550bad615a757f3e1d86c00983c5ff23166fcdf205438d51"
1628
+ checksum = "deb285f2f3a65b00dd06bef16bb9f712dbb5478f941dab5cf74f9f016d382e40"
1600
1629
  dependencies = [
1601
1630
  "bytemuck",
1602
1631
  "polars-arrow",
@@ -1606,11 +1635,12 @@ dependencies = [
1606
1635
 
1607
1636
  [[package]]
1608
1637
  name = "polars-sql"
1609
- version = "0.38.1"
1638
+ version = "0.40.0"
1610
1639
  source = "registry+https://github.com/rust-lang/crates.io-index"
1611
- checksum = "4f9d7de9dca8170a20b6c4cb7bafaf724abe88e807646bc3c2e98f13a34a7c4c"
1640
+ checksum = "a724f699d194cb02c25124d3832f7d4d77f387f1a89ee42f6b9e88ec561d4ad9"
1612
1641
  dependencies = [
1613
1642
  "hex",
1643
+ "once_cell",
1614
1644
  "polars-arrow",
1615
1645
  "polars-core",
1616
1646
  "polars-error",
@@ -1624,11 +1654,12 @@ dependencies = [
1624
1654
 
1625
1655
  [[package]]
1626
1656
  name = "polars-time"
1627
- version = "0.38.1"
1657
+ version = "0.40.0"
1628
1658
  source = "registry+https://github.com/rust-lang/crates.io-index"
1629
- checksum = "162c815c3cb0f859da40f056c8a0a9c4247900e1275702ae399192ea60acac2a"
1659
+ checksum = "87ebec238d8b6200d9f0c3ce411c8441e950bd5a7df7806b8172d06c1d5a4b97"
1630
1660
  dependencies = [
1631
1661
  "atoi",
1662
+ "bytemuck",
1632
1663
  "chrono",
1633
1664
  "chrono-tz",
1634
1665
  "now",
@@ -1645,9 +1676,9 @@ dependencies = [
1645
1676
 
1646
1677
  [[package]]
1647
1678
  name = "polars-utils"
1648
- version = "0.38.1"
1679
+ version = "0.40.0"
1649
1680
  source = "registry+https://github.com/rust-lang/crates.io-index"
1650
- checksum = "7fca7938ee789314ac92a0bf6c1c4e5eaeb5e428241df2519fd70f21dba49194"
1681
+ checksum = "34e1a907c63abf71e5f21467e2e4ff748896c28196746f631c6c25512ec6102c"
1651
1682
  dependencies = [
1652
1683
  "ahash",
1653
1684
  "bytemuck",
@@ -1659,6 +1690,7 @@ dependencies = [
1659
1690
  "raw-cpuid",
1660
1691
  "rayon",
1661
1692
  "smartstring",
1693
+ "stacker",
1662
1694
  "sysinfo",
1663
1695
  "version_check",
1664
1696
  ]
@@ -1678,6 +1710,15 @@ dependencies = [
1678
1710
  "unicode-ident",
1679
1711
  ]
1680
1712
 
1713
+ [[package]]
1714
+ name = "psm"
1715
+ version = "0.1.21"
1716
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1717
+ checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
1718
+ dependencies = [
1719
+ "cc",
1720
+ ]
1721
+
1681
1722
  [[package]]
1682
1723
  name = "quote"
1683
1724
  version = "1.0.35"
@@ -1758,18 +1799,18 @@ dependencies = [
1758
1799
 
1759
1800
  [[package]]
1760
1801
  name = "rb-sys"
1761
- version = "0.9.90"
1802
+ version = "0.9.97"
1762
1803
  source = "registry+https://github.com/rust-lang/crates.io-index"
1763
- checksum = "55d933382388cc7a6fdfd54e222eca7994791ac4b9ce5c9e8df280c739d86bbe"
1804
+ checksum = "47d30bcad206b51f2f66121190ca678dce1fdf3a2eae0ac5d838d1818b19bdf5"
1764
1805
  dependencies = [
1765
1806
  "rb-sys-build",
1766
1807
  ]
1767
1808
 
1768
1809
  [[package]]
1769
1810
  name = "rb-sys-build"
1770
- version = "0.9.90"
1811
+ version = "0.9.97"
1771
1812
  source = "registry+https://github.com/rust-lang/crates.io-index"
1772
- checksum = "ebc5a7e3a875419baaa0d8cc606cdfb9361b444cb7e5abcf0de4693025887374"
1813
+ checksum = "3cbd92f281615f3c2dcb9dcb0f0576624752afbf9a7f99173b37c4b55b62dd8a"
1773
1814
  dependencies = [
1774
1815
  "bindgen",
1775
1816
  "lazy_static",
@@ -1786,6 +1827,26 @@ version = "0.1.2"
1786
1827
  source = "registry+https://github.com/rust-lang/crates.io-index"
1787
1828
  checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
1788
1829
 
1830
+ [[package]]
1831
+ name = "recursive"
1832
+ version = "0.1.1"
1833
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1834
+ checksum = "0786a43debb760f491b1bc0269fe5e84155353c67482b9e60d0cfb596054b43e"
1835
+ dependencies = [
1836
+ "recursive-proc-macro-impl",
1837
+ "stacker",
1838
+ ]
1839
+
1840
+ [[package]]
1841
+ name = "recursive-proc-macro-impl"
1842
+ version = "0.1.1"
1843
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1844
+ checksum = "76009fbe0614077fc1a2ce255e3a1881a2e3a3527097d5dc6d8212c585e7e38b"
1845
+ dependencies = [
1846
+ "quote",
1847
+ "syn 2.0.46",
1848
+ ]
1849
+
1789
1850
  [[package]]
1790
1851
  name = "redox_syscall"
1791
1852
  version = "0.4.1"
@@ -2012,6 +2073,19 @@ dependencies = [
2012
2073
  "log",
2013
2074
  ]
2014
2075
 
2076
+ [[package]]
2077
+ name = "stacker"
2078
+ version = "0.1.15"
2079
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2080
+ checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce"
2081
+ dependencies = [
2082
+ "cc",
2083
+ "cfg-if",
2084
+ "libc",
2085
+ "psm",
2086
+ "winapi",
2087
+ ]
2088
+
2015
2089
  [[package]]
2016
2090
  name = "static_assertions"
2017
2091
  version = "1.1.0"
@@ -2058,6 +2132,19 @@ dependencies = [
2058
2132
  "syn 2.0.46",
2059
2133
  ]
2060
2134
 
2135
+ [[package]]
2136
+ name = "strum_macros"
2137
+ version = "0.26.2"
2138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2139
+ checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
2140
+ dependencies = [
2141
+ "heck",
2142
+ "proc-macro2",
2143
+ "quote",
2144
+ "rustversion",
2145
+ "syn 2.0.46",
2146
+ ]
2147
+
2061
2148
  [[package]]
2062
2149
  name = "syn"
2063
2150
  version = "1.0.109"
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # Polars Ruby
1
+ # Ruby Polars
2
2
 
3
3
  :fire: Blazingly fast DataFrames for Ruby, powered by [Polars](https://github.com/pola-rs/polars)
4
4
 
5
- [![Build Status](https://github.com/ankane/polars-ruby/actions/workflows/build.yml/badge.svg)](https://github.com/ankane/polars-ruby/actions)
5
+ [![Build Status](https://github.com/ankane/ruby-polars/actions/workflows/build.yml/badge.svg)](https://github.com/ankane/ruby-polars/actions)
6
6
 
7
7
  ## Installation
8
8
 
@@ -420,17 +420,18 @@ View the [changelog](CHANGELOG.md)
420
420
 
421
421
  Everyone is encouraged to help improve this project. Here are a few ways you can help:
422
422
 
423
- - [Report bugs](https://github.com/ankane/polars-ruby/issues)
424
- - Fix bugs and [submit pull requests](https://github.com/ankane/polars-ruby/pulls)
423
+ - [Report bugs](https://github.com/ankane/ruby-polars/issues)
424
+ - Fix bugs and [submit pull requests](https://github.com/ankane/ruby-polars/pulls)
425
425
  - Write, clarify, or fix documentation
426
426
  - Suggest or add new features
427
427
 
428
428
  To get started with development:
429
429
 
430
430
  ```sh
431
- git clone https://github.com/ankane/polars-ruby.git
432
- cd polars-ruby
431
+ git clone https://github.com/ankane/ruby-polars.git
432
+ cd ruby-polars
433
433
  bundle install
434
434
  bundle exec rake compile
435
435
  bundle exec rake test
436
+ bundle exec rake test:docs
436
437
  ```
@@ -1,10 +1,10 @@
1
1
  [package]
2
2
  name = "polars"
3
- version = "0.9.0"
3
+ version = "0.11.0"
4
4
  license = "MIT"
5
5
  authors = ["Andrew Kane <andrew@ankane.org>"]
6
6
  edition = "2021"
7
- rust-version = "1.73.0"
7
+ rust-version = "1.76.0"
8
8
  publish = false
9
9
 
10
10
  [lib]
@@ -15,14 +15,14 @@ ahash = "0.8"
15
15
  chrono = "0.4"
16
16
  either = "1.8"
17
17
  magnus = "0.6"
18
- polars-core = "=0.38.1"
19
- polars-parquet = "=0.38.1"
20
- polars-utils = "=0.38.1"
18
+ polars-core = "=0.40.0"
19
+ polars-parquet = "=0.40.0"
20
+ polars-utils = "=0.40.0"
21
21
  serde_json = "1"
22
22
  smartstring = "1"
23
23
 
24
24
  [dependencies.polars]
25
- version = "=0.38.1"
25
+ version = "=0.40.0"
26
26
  features = [
27
27
  "abs",
28
28
  "approx_unique",
@@ -34,6 +34,7 @@ features = [
34
34
  "binary_encoding",
35
35
  "concat_str",
36
36
  "cov",
37
+ "cross_join",
37
38
  "cse",
38
39
  "csv",
39
40
  "cum_agg",
@@ -47,12 +48,14 @@ features = [
47
48
  "dtype-full",
48
49
  "dynamic_group_by",
49
50
  "ewma",
51
+ "ewma_by",
50
52
  "extract_groups",
51
53
  "extract_jsonpath",
52
54
  "find_many",
53
55
  "fmt",
54
56
  "interpolate",
55
57
  "ipc",
58
+ "ipc_streaming",
56
59
  "is_first_distinct",
57
60
  "is_in",
58
61
  "is_last_distinct",
@@ -89,6 +92,7 @@ features = [
89
92
  "replace",
90
93
  "rle",
91
94
  "rolling_window",
95
+ "rolling_window_by",
92
96
  "round_series",
93
97
  "row_hash",
94
98
  "search_sorted",