polars-df 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Cargo.lock +55 -48
- data/Cargo.toml +3 -0
- data/README.md +12 -0
- data/ext/polars/Cargo.toml +16 -11
- data/ext/polars/src/batched_csv.rs +4 -4
- data/ext/polars/src/catalog/unity.rs +96 -94
- data/ext/polars/src/conversion/any_value.rs +26 -30
- data/ext/polars/src/conversion/chunked_array.rs +32 -28
- data/ext/polars/src/conversion/datetime.rs +11 -0
- data/ext/polars/src/conversion/mod.rs +217 -32
- data/ext/polars/src/dataframe/construction.rs +4 -3
- data/ext/polars/src/dataframe/export.rs +17 -15
- data/ext/polars/src/dataframe/general.rs +15 -12
- data/ext/polars/src/dataframe/io.rs +1 -2
- data/ext/polars/src/dataframe/mod.rs +25 -1
- data/ext/polars/src/dataframe/serde.rs +23 -8
- data/ext/polars/src/exceptions.rs +8 -5
- data/ext/polars/src/expr/datatype.rs +4 -4
- data/ext/polars/src/expr/datetime.rs +0 -14
- data/ext/polars/src/expr/general.rs +3 -10
- data/ext/polars/src/expr/list.rs +8 -24
- data/ext/polars/src/expr/meta.rs +4 -6
- data/ext/polars/src/expr/mod.rs +2 -0
- data/ext/polars/src/expr/name.rs +11 -14
- data/ext/polars/src/expr/serde.rs +28 -0
- data/ext/polars/src/expr/string.rs +5 -10
- data/ext/polars/src/file.rs +15 -9
- data/ext/polars/src/functions/business.rs +0 -1
- data/ext/polars/src/functions/io.rs +7 -4
- data/ext/polars/src/functions/lazy.rs +7 -6
- data/ext/polars/src/functions/meta.rs +3 -3
- data/ext/polars/src/functions/string_cache.rs +3 -3
- data/ext/polars/src/interop/arrow/to_ruby.rs +3 -3
- data/ext/polars/src/interop/numo/numo_rs.rs +4 -3
- data/ext/polars/src/io/mod.rs +6 -0
- data/ext/polars/src/lazyframe/general.rs +8 -9
- data/ext/polars/src/lazyframe/mod.rs +16 -1
- data/ext/polars/src/lazyframe/optflags.rs +58 -0
- data/ext/polars/src/lazyframe/serde.rs +27 -3
- data/ext/polars/src/lib.rs +142 -9
- data/ext/polars/src/map/dataframe.rs +18 -15
- data/ext/polars/src/map/lazy.rs +6 -5
- data/ext/polars/src/map/series.rs +7 -6
- data/ext/polars/src/on_startup.rs +12 -5
- data/ext/polars/src/rb_modules.rs +2 -2
- data/ext/polars/src/series/aggregation.rs +42 -29
- data/ext/polars/src/series/construction.rs +1 -0
- data/ext/polars/src/series/export.rs +37 -33
- data/ext/polars/src/series/general.rs +70 -31
- data/ext/polars/src/series/mod.rs +29 -4
- data/lib/polars/array_expr.rb +1 -1
- data/lib/polars/data_frame.rb +110 -8
- data/lib/polars/data_types.rb +14 -5
- data/lib/polars/date_time_expr.rb +1 -1
- data/lib/polars/expr.rb +39 -30
- data/lib/polars/functions/business.rb +95 -0
- data/lib/polars/functions/lazy.rb +1 -1
- data/lib/polars/io/iceberg.rb +27 -0
- data/lib/polars/io/parquet.rb +7 -4
- data/lib/polars/io/scan_options.rb +4 -1
- data/lib/polars/lazy_frame.rb +92 -8
- data/lib/polars/list_expr.rb +21 -13
- data/lib/polars/list_name_space.rb +33 -21
- data/lib/polars/meta_expr.rb +25 -0
- data/lib/polars/query_opt_flags.rb +50 -0
- data/lib/polars/scan_cast_options.rb +20 -1
- data/lib/polars/schema.rb +1 -1
- data/lib/polars/series.rb +3 -1
- data/lib/polars/string_expr.rb +26 -27
- data/lib/polars/string_name_space.rb +17 -4
- data/lib/polars/utils/serde.rb +17 -0
- data/lib/polars/utils/various.rb +4 -0
- data/lib/polars/version.rb +1 -1
- data/lib/polars.rb +4 -0
- metadata +8 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 225a0dc5806c01028a0396ec9c3d80ad4e8f9a3ba1bdab56e2d7d411359fd8c9
|
4
|
+
data.tar.gz: 0bda1b15982994b8f77d3f825d8cc38b76c07c0b84a61f90d5d8a6b8b7c02d12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc667bf994b41a30c69cdd8c1100cde6873d2e507a96369f236c5116fb690e052d0aba1e53b9a92b9dc306a1548daa7243842a6ad1fb47613e157fdecd91476e
|
7
|
+
data.tar.gz: 4c0512c04227e19fdc0de6850b3d92b1a08fe049d2cd88003d068e00b143a61c942b2d99cbf3ef11d38965487bcb686f60003e7a8ca3062e966366e0148edef0
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## 0.22.0 (2025-09-17)
|
2
|
+
|
3
|
+
- Updated Polars to 0.51.0
|
4
|
+
- Added `serialize` and `deserialize` methods to `DataFrame`
|
5
|
+
- Added `storage_options` and `retries` options to `sink_ipc` method
|
6
|
+
- Added `business_day_count` method to `Polars`
|
7
|
+
- Added experimental support for Iceberg
|
8
|
+
- Added experimental `cast_options` option to `scan_parquet` method
|
9
|
+
- Changed `read_parquet_schema` method to return `Schema`
|
10
|
+
- Fixed `Object` type
|
11
|
+
|
1
12
|
## 0.21.1 (2025-08-18)
|
2
13
|
|
3
14
|
- Added `read_parquet_metadata` method to `Polars`
|
data/Cargo.lock
CHANGED
@@ -1391,8 +1391,9 @@ dependencies = [
|
|
1391
1391
|
|
1392
1392
|
[[package]]
|
1393
1393
|
name = "magnus"
|
1394
|
-
version = "0.
|
1395
|
-
source = "
|
1394
|
+
version = "0.8.1"
|
1395
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1396
|
+
checksum = "bd2ac6e71886be00ac34db92aa732c793c5107c95191805b9a1c7e70e6d342e0"
|
1396
1397
|
dependencies = [
|
1397
1398
|
"chrono",
|
1398
1399
|
"magnus-macros",
|
@@ -1403,8 +1404,9 @@ dependencies = [
|
|
1403
1404
|
|
1404
1405
|
[[package]]
|
1405
1406
|
name = "magnus-macros"
|
1406
|
-
version = "0.
|
1407
|
-
source = "
|
1407
|
+
version = "0.8.0"
|
1408
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1409
|
+
checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
|
1408
1410
|
dependencies = [
|
1409
1411
|
"proc-macro2",
|
1410
1412
|
"quote",
|
@@ -1654,7 +1656,7 @@ dependencies = [
|
|
1654
1656
|
|
1655
1657
|
[[package]]
|
1656
1658
|
name = "polars"
|
1657
|
-
version = "0.
|
1659
|
+
version = "0.22.0"
|
1658
1660
|
dependencies = [
|
1659
1661
|
"ahash",
|
1660
1662
|
"bytes",
|
@@ -1664,10 +1666,11 @@ dependencies = [
|
|
1664
1666
|
"magnus",
|
1665
1667
|
"mimalloc",
|
1666
1668
|
"num-traits",
|
1667
|
-
"polars 0.
|
1669
|
+
"polars 0.51.0",
|
1668
1670
|
"polars-arrow",
|
1669
1671
|
"polars-core",
|
1670
1672
|
"polars-dtype",
|
1673
|
+
"polars-error",
|
1671
1674
|
"polars-io",
|
1672
1675
|
"polars-lazy",
|
1673
1676
|
"polars-parquet",
|
@@ -1680,9 +1683,9 @@ dependencies = [
|
|
1680
1683
|
|
1681
1684
|
[[package]]
|
1682
1685
|
name = "polars"
|
1683
|
-
version = "0.
|
1686
|
+
version = "0.51.0"
|
1684
1687
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1685
|
-
checksum = "
|
1688
|
+
checksum = "a5f7feb5d56b954e691dff22a8b2d78d77433dcc93c35fe21c3777fdc121b697"
|
1686
1689
|
dependencies = [
|
1687
1690
|
"getrandom 0.2.16",
|
1688
1691
|
"getrandom 0.3.3",
|
@@ -1702,9 +1705,9 @@ dependencies = [
|
|
1702
1705
|
|
1703
1706
|
[[package]]
|
1704
1707
|
name = "polars-arrow"
|
1705
|
-
version = "0.
|
1708
|
+
version = "0.51.0"
|
1706
1709
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1707
|
-
checksum = "
|
1710
|
+
checksum = "32b4fed2343961b3eea3db2cee165540c3e1ad9d5782350cc55a9e76cf440148"
|
1708
1711
|
dependencies = [
|
1709
1712
|
"atoi_simd",
|
1710
1713
|
"avro-schema",
|
@@ -1745,9 +1748,9 @@ dependencies = [
|
|
1745
1748
|
|
1746
1749
|
[[package]]
|
1747
1750
|
name = "polars-compute"
|
1748
|
-
version = "0.
|
1751
|
+
version = "0.51.0"
|
1749
1752
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1750
|
-
checksum = "
|
1753
|
+
checksum = "138785beda4e4a90a025219f09d0d15a671b2be9091513ede58e05db6ad4413f"
|
1751
1754
|
dependencies = [
|
1752
1755
|
"atoi_simd",
|
1753
1756
|
"bytemuck",
|
@@ -1771,9 +1774,9 @@ dependencies = [
|
|
1771
1774
|
|
1772
1775
|
[[package]]
|
1773
1776
|
name = "polars-core"
|
1774
|
-
version = "0.
|
1777
|
+
version = "0.51.0"
|
1775
1778
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1776
|
-
checksum = "
|
1779
|
+
checksum = "e77b1f08ef6dbb032bb1d0d3365464be950df9905f6827a95b24c4ca5518901d"
|
1777
1780
|
dependencies = [
|
1778
1781
|
"bitflags",
|
1779
1782
|
"boxcar",
|
@@ -1807,9 +1810,9 @@ dependencies = [
|
|
1807
1810
|
|
1808
1811
|
[[package]]
|
1809
1812
|
name = "polars-dtype"
|
1810
|
-
version = "0.
|
1813
|
+
version = "0.51.0"
|
1811
1814
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1812
|
-
checksum = "
|
1815
|
+
checksum = "89c43d0ea57168be4546c4d8064479ed8b29a9c79c31a0c7c367ee734b9b7158"
|
1813
1816
|
dependencies = [
|
1814
1817
|
"boxcar",
|
1815
1818
|
"hashbrown",
|
@@ -1822,9 +1825,9 @@ dependencies = [
|
|
1822
1825
|
|
1823
1826
|
[[package]]
|
1824
1827
|
name = "polars-error"
|
1825
|
-
version = "0.
|
1828
|
+
version = "0.51.0"
|
1826
1829
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1827
|
-
checksum = "
|
1830
|
+
checksum = "b9cb5d98f59f8b94673ee391840440ad9f0d2170afced95fc98aa86f895563c0"
|
1828
1831
|
dependencies = [
|
1829
1832
|
"avro-schema",
|
1830
1833
|
"object_store",
|
@@ -1837,9 +1840,9 @@ dependencies = [
|
|
1837
1840
|
|
1838
1841
|
[[package]]
|
1839
1842
|
name = "polars-expr"
|
1840
|
-
version = "0.
|
1843
|
+
version = "0.51.0"
|
1841
1844
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1842
|
-
checksum = "
|
1845
|
+
checksum = "343931b818cf136349135ba11dbc18c27683b52c3477b1ba8ca606cf5ab1965c"
|
1843
1846
|
dependencies = [
|
1844
1847
|
"bitflags",
|
1845
1848
|
"hashbrown",
|
@@ -1860,9 +1863,9 @@ dependencies = [
|
|
1860
1863
|
|
1861
1864
|
[[package]]
|
1862
1865
|
name = "polars-io"
|
1863
|
-
version = "0.
|
1866
|
+
version = "0.51.0"
|
1864
1867
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1865
|
-
checksum = "
|
1868
|
+
checksum = "10388c64b8155122488229a881d1c6f4fdc393bc988e764ab51b182fcb2307e4"
|
1866
1869
|
dependencies = [
|
1867
1870
|
"async-trait",
|
1868
1871
|
"atoi_simd",
|
@@ -1909,9 +1912,9 @@ dependencies = [
|
|
1909
1912
|
|
1910
1913
|
[[package]]
|
1911
1914
|
name = "polars-json"
|
1912
|
-
version = "0.
|
1915
|
+
version = "0.51.0"
|
1913
1916
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1914
|
-
checksum = "
|
1917
|
+
checksum = "b26d1a04292a82183c8eba94fdf1584f200bfac5ac2f4a6c5652c8c8ed3bb41c"
|
1915
1918
|
dependencies = [
|
1916
1919
|
"chrono",
|
1917
1920
|
"chrono-tz",
|
@@ -1931,9 +1934,9 @@ dependencies = [
|
|
1931
1934
|
|
1932
1935
|
[[package]]
|
1933
1936
|
name = "polars-lazy"
|
1934
|
-
version = "0.
|
1937
|
+
version = "0.51.0"
|
1935
1938
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1936
|
-
checksum = "
|
1939
|
+
checksum = "0fb6e2c6c2fa4ea0c660df1c06cf56960c81e7c2683877995bae3d4e3d408147"
|
1937
1940
|
dependencies = [
|
1938
1941
|
"bitflags",
|
1939
1942
|
"chrono",
|
@@ -1959,9 +1962,9 @@ dependencies = [
|
|
1959
1962
|
|
1960
1963
|
[[package]]
|
1961
1964
|
name = "polars-mem-engine"
|
1962
|
-
version = "0.
|
1965
|
+
version = "0.51.0"
|
1963
1966
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1964
|
-
checksum = "
|
1967
|
+
checksum = "20a856e98e253587c28d8132a5e7e5a75cb2c44731ca090f1481d45f1d123771"
|
1965
1968
|
dependencies = [
|
1966
1969
|
"futures",
|
1967
1970
|
"memmap2",
|
@@ -1982,9 +1985,9 @@ dependencies = [
|
|
1982
1985
|
|
1983
1986
|
[[package]]
|
1984
1987
|
name = "polars-ops"
|
1985
|
-
version = "0.
|
1988
|
+
version = "0.51.0"
|
1986
1989
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1987
|
-
checksum = "
|
1990
|
+
checksum = "acf6062173fdc9ba05775548beb66e76643a148d9aeadc9984ed712bc4babd76"
|
1988
1991
|
dependencies = [
|
1989
1992
|
"aho-corasick",
|
1990
1993
|
"argminmax",
|
@@ -2022,9 +2025,9 @@ dependencies = [
|
|
2022
2025
|
|
2023
2026
|
[[package]]
|
2024
2027
|
name = "polars-parquet"
|
2025
|
-
version = "0.
|
2028
|
+
version = "0.51.0"
|
2026
2029
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2027
|
-
checksum = "
|
2030
|
+
checksum = "cc1d769180dec070df0dc4b89299b364bf2cfe32b218ecc4ddd8f1a49ae60669"
|
2028
2031
|
dependencies = [
|
2029
2032
|
"async-stream",
|
2030
2033
|
"base64",
|
@@ -2060,9 +2063,9 @@ dependencies = [
|
|
2060
2063
|
|
2061
2064
|
[[package]]
|
2062
2065
|
name = "polars-plan"
|
2063
|
-
version = "0.
|
2066
|
+
version = "0.51.0"
|
2064
2067
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2065
|
-
checksum = "
|
2068
|
+
checksum = "1cd3a2e33ae4484fe407ab2d2ba5684f0889d1ccf3ad6b844103c03638e6d0a0"
|
2066
2069
|
dependencies = [
|
2067
2070
|
"bitflags",
|
2068
2071
|
"bytemuck",
|
@@ -2096,9 +2099,9 @@ dependencies = [
|
|
2096
2099
|
|
2097
2100
|
[[package]]
|
2098
2101
|
name = "polars-row"
|
2099
|
-
version = "0.
|
2102
|
+
version = "0.51.0"
|
2100
2103
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2101
|
-
checksum = "
|
2104
|
+
checksum = "18734f17e0e348724df3ae65f3ee744c681117c04b041cac969dfceb05edabc0"
|
2102
2105
|
dependencies = [
|
2103
2106
|
"bitflags",
|
2104
2107
|
"bytemuck",
|
@@ -2111,9 +2114,9 @@ dependencies = [
|
|
2111
2114
|
|
2112
2115
|
[[package]]
|
2113
2116
|
name = "polars-schema"
|
2114
|
-
version = "0.
|
2117
|
+
version = "0.51.0"
|
2115
2118
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2116
|
-
checksum = "
|
2119
|
+
checksum = "8e6c1ab13e04d5167661a9854ed1ea0482b2ed9b8a0f1118dabed7cd994a85e3"
|
2117
2120
|
dependencies = [
|
2118
2121
|
"indexmap",
|
2119
2122
|
"polars-error",
|
@@ -2124,9 +2127,9 @@ dependencies = [
|
|
2124
2127
|
|
2125
2128
|
[[package]]
|
2126
2129
|
name = "polars-sql"
|
2127
|
-
version = "0.
|
2130
|
+
version = "0.51.0"
|
2128
2131
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2129
|
-
checksum = "
|
2132
|
+
checksum = "c4e7766da02cc1d464994404d3e88a7a0ccd4933df3627c325480fbd9bbc0a11"
|
2130
2133
|
dependencies = [
|
2131
2134
|
"bitflags",
|
2132
2135
|
"hex",
|
@@ -2145,9 +2148,9 @@ dependencies = [
|
|
2145
2148
|
|
2146
2149
|
[[package]]
|
2147
2150
|
name = "polars-stream"
|
2148
|
-
version = "0.
|
2151
|
+
version = "0.51.0"
|
2149
2152
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2150
|
-
checksum = "
|
2153
|
+
checksum = "31f6c6ca1ea01f9dea424d167e4f33f5ec44cd67fbfac9efd40575ed20521f14"
|
2151
2154
|
dependencies = [
|
2152
2155
|
"async-channel",
|
2153
2156
|
"async-trait",
|
@@ -2177,14 +2180,15 @@ dependencies = [
|
|
2177
2180
|
"recursive",
|
2178
2181
|
"slotmap",
|
2179
2182
|
"tokio",
|
2183
|
+
"tokio-util",
|
2180
2184
|
"version_check",
|
2181
2185
|
]
|
2182
2186
|
|
2183
2187
|
[[package]]
|
2184
2188
|
name = "polars-time"
|
2185
|
-
version = "0.
|
2189
|
+
version = "0.51.0"
|
2186
2190
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2187
|
-
checksum = "
|
2191
|
+
checksum = "f6a3a6e279a7a984a0b83715660f9e880590c6129ec2104396bfa710bcd76dee"
|
2188
2192
|
dependencies = [
|
2189
2193
|
"atoi_simd",
|
2190
2194
|
"bytemuck",
|
@@ -2206,14 +2210,15 @@ dependencies = [
|
|
2206
2210
|
|
2207
2211
|
[[package]]
|
2208
2212
|
name = "polars-utils"
|
2209
|
-
version = "0.
|
2213
|
+
version = "0.51.0"
|
2210
2214
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2211
|
-
checksum = "
|
2215
|
+
checksum = "57b267021b0e5422d7fbc70fd79e51b9f9a8466c585779373a18b0199e973f29"
|
2212
2216
|
dependencies = [
|
2213
2217
|
"bincode",
|
2214
2218
|
"bytemuck",
|
2215
2219
|
"bytes",
|
2216
2220
|
"compact_str",
|
2221
|
+
"either",
|
2217
2222
|
"flate2",
|
2218
2223
|
"foldhash",
|
2219
2224
|
"hashbrown",
|
@@ -2446,9 +2451,9 @@ dependencies = [
|
|
2446
2451
|
|
2447
2452
|
[[package]]
|
2448
2453
|
name = "rb-sys-env"
|
2449
|
-
version = "0.
|
2454
|
+
version = "0.2.2"
|
2450
2455
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2451
|
-
checksum = "
|
2456
|
+
checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
|
2452
2457
|
|
2453
2458
|
[[package]]
|
2454
2459
|
name = "recursive"
|
@@ -3158,6 +3163,8 @@ dependencies = [
|
|
3158
3163
|
"bytes",
|
3159
3164
|
"futures-core",
|
3160
3165
|
"futures-sink",
|
3166
|
+
"futures-util",
|
3167
|
+
"hashbrown",
|
3161
3168
|
"pin-project-lite",
|
3162
3169
|
"tokio",
|
3163
3170
|
]
|
data/Cargo.toml
CHANGED
data/README.md
CHANGED
@@ -88,6 +88,12 @@ From Avro
|
|
88
88
|
Polars.read_avro("file.avro")
|
89
89
|
```
|
90
90
|
|
91
|
+
From Iceberg (requires [iceberg](https://github.com/ankane/iceberg-ruby)) [experimental]
|
92
|
+
|
93
|
+
```ruby
|
94
|
+
Polars.scan_iceberg(table)
|
95
|
+
```
|
96
|
+
|
91
97
|
From Delta Lake (requires [deltalake-rb](https://github.com/ankane/delta-ruby)) [experimental]
|
92
98
|
|
93
99
|
```ruby
|
@@ -365,6 +371,12 @@ Avro
|
|
365
371
|
df.write_avro("file.avro")
|
366
372
|
```
|
367
373
|
|
374
|
+
Iceberg [experimental]
|
375
|
+
|
376
|
+
```ruby
|
377
|
+
df.write_iceberg(table, mode: "append")
|
378
|
+
```
|
379
|
+
|
368
380
|
Delta Lake [experimental]
|
369
381
|
|
370
382
|
```ruby
|
data/ext/polars/Cargo.toml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
[package]
|
2
2
|
name = "polars"
|
3
|
-
version = "0.
|
3
|
+
version = "0.22.0"
|
4
4
|
license = "MIT"
|
5
5
|
authors = ["Andrew Kane <andrew@ankane.org>"]
|
6
6
|
edition = "2024"
|
@@ -12,25 +12,26 @@ crate-type = ["cdylib"]
|
|
12
12
|
|
13
13
|
[dependencies]
|
14
14
|
ahash = "0.8"
|
15
|
-
arrow = { package = "polars-arrow", version = "=0.
|
15
|
+
arrow = { package = "polars-arrow", version = "=0.51.0" }
|
16
16
|
bytes = "1"
|
17
17
|
chrono = "0.4"
|
18
18
|
either = "1.8"
|
19
|
-
magnus = {
|
19
|
+
magnus = { version = "0.8", features = ["chrono"] }
|
20
20
|
num-traits = "0.2"
|
21
|
-
polars-core = "=0.
|
22
|
-
polars-dtype = "=0.
|
23
|
-
polars-
|
24
|
-
polars-
|
25
|
-
polars-
|
26
|
-
polars-
|
27
|
-
polars-
|
21
|
+
polars-core = "=0.51.0"
|
22
|
+
polars-dtype = "=0.51.0"
|
23
|
+
polars-error = "=0.51.0"
|
24
|
+
polars-io = "=0.51.0"
|
25
|
+
polars-lazy = { version = "=0.51.0", features = ["catalog"] }
|
26
|
+
polars-plan = "=0.51.0"
|
27
|
+
polars-parquet = "=0.51.0"
|
28
|
+
polars-utils = "=0.51.0"
|
28
29
|
rayon = "1.9"
|
29
30
|
regex = "1"
|
30
31
|
serde_json = "1"
|
31
32
|
|
32
33
|
[dependencies.polars]
|
33
|
-
version = "=0.
|
34
|
+
version = "=0.51.0"
|
34
35
|
features = [
|
35
36
|
"abs",
|
36
37
|
"approx_unique",
|
@@ -141,3 +142,7 @@ jemallocator = { version = "0.5", features = ["disable_initial_exec_tls"] }
|
|
141
142
|
|
142
143
|
[target.'cfg(not(any(target_os = "linux", target_os = "windows")))'.dependencies]
|
143
144
|
mimalloc = { version = "0.1", default-features = false }
|
145
|
+
|
146
|
+
[features]
|
147
|
+
default = []
|
148
|
+
serialize_binary = []
|
@@ -2,7 +2,7 @@ use std::cell::RefCell;
|
|
2
2
|
use std::path::PathBuf;
|
3
3
|
use std::sync::Mutex;
|
4
4
|
|
5
|
-
use magnus::{RArray, Value, prelude::*};
|
5
|
+
use magnus::{RArray, Ruby, Value, prelude::*};
|
6
6
|
use polars::io::RowIndex;
|
7
7
|
use polars::io::csv::read::OwnedBatchedCsvReader;
|
8
8
|
use polars::io::mmap::MmapBytesReader;
|
@@ -124,8 +124,8 @@ impl RbBatchedCsv {
|
|
124
124
|
})
|
125
125
|
}
|
126
126
|
|
127
|
-
pub fn next_batches(&
|
128
|
-
let reader = &
|
127
|
+
pub fn next_batches(ruby: &Ruby, rb_self: &Self, n: usize) -> RbResult<Option<RArray>> {
|
128
|
+
let reader = &rb_self.reader;
|
129
129
|
let batches = reader
|
130
130
|
.borrow()
|
131
131
|
.lock()
|
@@ -133,6 +133,6 @@ impl RbBatchedCsv {
|
|
133
133
|
.next_batches(n)
|
134
134
|
.map_err(RbPolarsErr::from)?;
|
135
135
|
|
136
|
-
Ok(batches.map(|batches|
|
136
|
+
Ok(batches.map(|batches| ruby.ary_from_iter(batches.into_iter().map(RbDataFrame::from))))
|
137
137
|
}
|
138
138
|
}
|