polars-df 0.19.0 → 0.20.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3f517e92c7cb61392f63b47e4323909a5ddbc1897fc3268c89acb434966ca25
4
- data.tar.gz: 25d374fbd7f87b570c658e7cdf051b2ee8bed0a1c30223a064417a04780e4ccd
3
+ metadata.gz: 295370395ca08f7b31cdfde5f0fa2c205fda98673a5f97cad38548c5b3c8761c
4
+ data.tar.gz: 4a7792e590e68b0771fbd27ab7323e089b0b73f99b1eb5ae1ce4d3a08312b1e5
5
5
  SHA512:
6
- metadata.gz: 82487c2d3e4b3f863fdbd20dcc502e7c32054ce05a78fb4ace0ed921b845fdf4e5cd9ac665108c8857adb9a7b295278bcbae77b0b3da041f95e8519b4c6f46fb
7
- data.tar.gz: 25fd577eff12463926da0d720bd410ddbfd103b271453dbdaabc8221ff473ad901813adff49061d2fa3fd78e3cc9b71ef51cf08748f38c093506f120867015fb
6
+ metadata.gz: e25f15b0b0deaaa5ab561b35e491b644b8bb7b51640f4d6bd6fd12c6c229d35fcac72a2f52f15754563da055d22c77e8a27b83b3c3efd8807f4c7d5840767ea0
7
+ data.tar.gz: e2e140a524076cf966aa3e977e300390ed47f06b89e5110da8e321067053b387e3e8212b9d10d402e117333ac41d4ae22f0691ca7554c9d98211e461f1e59b14
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.20.0 (2025-06-23)
2
+
3
+ - Updated Polars to 0.49.1
4
+
1
5
  ## 0.19.0 (2025-05-20)
2
6
 
3
7
  - Updated Polars to 0.48.0
data/Cargo.lock CHANGED
@@ -266,6 +266,12 @@ dependencies = [
266
266
  "generic-array",
267
267
  ]
268
268
 
269
+ [[package]]
270
+ name = "boxcar"
271
+ version = "0.2.13"
272
+ source = "registry+https://github.com/rust-lang/crates.io-index"
273
+ checksum = "26c4925bc979b677330a8c7fe7a8c94af2dbb4a2d37b4a20a80d884400f46baa"
274
+
269
275
  [[package]]
270
276
  name = "brotli"
271
277
  version = "7.0.0"
@@ -608,18 +614,6 @@ dependencies = [
608
614
  "serde",
609
615
  ]
610
616
 
611
- [[package]]
612
- name = "enum_dispatch"
613
- version = "0.3.13"
614
- source = "registry+https://github.com/rust-lang/crates.io-index"
615
- checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd"
616
- dependencies = [
617
- "once_cell",
618
- "proc-macro2",
619
- "quote",
620
- "syn",
621
- ]
622
-
623
617
  [[package]]
624
618
  name = "equivalent"
625
619
  version = "1.0.2"
@@ -1055,7 +1049,7 @@ dependencies = [
1055
1049
  "js-sys",
1056
1050
  "log",
1057
1051
  "wasm-bindgen",
1058
- "windows-core 0.61.2",
1052
+ "windows-core",
1059
1053
  ]
1060
1054
 
1061
1055
  [[package]]
@@ -1506,15 +1500,6 @@ dependencies = [
1506
1500
  "chrono",
1507
1501
  ]
1508
1502
 
1509
- [[package]]
1510
- name = "ntapi"
1511
- version = "0.4.1"
1512
- source = "registry+https://github.com/rust-lang/crates.io-index"
1513
- checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
1514
- dependencies = [
1515
- "winapi",
1516
- ]
1517
-
1518
1503
  [[package]]
1519
1504
  name = "num-traits"
1520
1505
  version = "0.2.19"
@@ -1692,16 +1677,17 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
1692
1677
 
1693
1678
  [[package]]
1694
1679
  name = "planus"
1695
- version = "0.3.1"
1680
+ version = "1.1.1"
1696
1681
  source = "registry+https://github.com/rust-lang/crates.io-index"
1697
- checksum = "fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f"
1682
+ checksum = "3daf8e3d4b712abe1d690838f6e29fb76b76ea19589c4afa39ec30e12f62af71"
1698
1683
  dependencies = [
1699
1684
  "array-init-cursor",
1685
+ "hashbrown 0.15.3",
1700
1686
  ]
1701
1687
 
1702
1688
  [[package]]
1703
1689
  name = "polars"
1704
- version = "0.19.0"
1690
+ version = "0.20.0"
1705
1691
  dependencies = [
1706
1692
  "ahash",
1707
1693
  "bytes",
@@ -1711,7 +1697,7 @@ dependencies = [
1711
1697
  "magnus",
1712
1698
  "mimalloc",
1713
1699
  "num-traits",
1714
- "polars 0.48.0",
1700
+ "polars 0.49.1",
1715
1701
  "polars-arrow",
1716
1702
  "polars-core",
1717
1703
  "polars-parquet",
@@ -1724,9 +1710,9 @@ dependencies = [
1724
1710
 
1725
1711
  [[package]]
1726
1712
  name = "polars"
1727
- version = "0.48.0"
1713
+ version = "0.49.1"
1728
1714
  source = "registry+https://github.com/rust-lang/crates.io-index"
1729
- checksum = "7f8e55331501d603dacb8ddbdc0f53306166fd34e05f59b77585cabf5049a405"
1715
+ checksum = "443824f43bca39b178353d6c09e4b44e115b21f107a5654d5f980d20b432a303"
1730
1716
  dependencies = [
1731
1717
  "getrandom 0.2.16",
1732
1718
  "polars-arrow",
@@ -1745,9 +1731,9 @@ dependencies = [
1745
1731
 
1746
1732
  [[package]]
1747
1733
  name = "polars-arrow"
1748
- version = "0.48.0"
1734
+ version = "0.49.1"
1749
1735
  source = "registry+https://github.com/rust-lang/crates.io-index"
1750
- checksum = "80bbff45c3c087bb96667768b0c5e1a29f599ca23c906a5cf44cd5719c2d19f2"
1736
+ checksum = "809c5340e9e6c16eee5a07585161bae99f903f53af7402075efec23ee75fce5b"
1751
1737
  dependencies = [
1752
1738
  "atoi_simd",
1753
1739
  "avro-schema",
@@ -1777,9 +1763,9 @@ dependencies = [
1777
1763
 
1778
1764
  [[package]]
1779
1765
  name = "polars-arrow-format"
1780
- version = "0.1.0"
1766
+ version = "0.2.0"
1781
1767
  source = "registry+https://github.com/rust-lang/crates.io-index"
1782
- checksum = "19b0ef2474af9396b19025b189d96e992311e6a47f90c53cd998b36c4c64b84c"
1768
+ checksum = "863c04c514be005eced7db7053e20d49f7e7a58048a282fa52dfea1fd5434e78"
1783
1769
  dependencies = [
1784
1770
  "planus",
1785
1771
  "serde",
@@ -1787,9 +1773,9 @@ dependencies = [
1787
1773
 
1788
1774
  [[package]]
1789
1775
  name = "polars-compute"
1790
- version = "0.48.0"
1776
+ version = "0.49.1"
1791
1777
  source = "registry+https://github.com/rust-lang/crates.io-index"
1792
- checksum = "f5d89a05c1ef9263ba2085a32b71520695b91c0363eef9782aa6b450edb6ba39"
1778
+ checksum = "8b8802ff2cccea01a845ea8267a7600e495747ed109035bb5020c33eb8717ff4"
1793
1779
  dependencies = [
1794
1780
  "atoi_simd",
1795
1781
  "bytemuck",
@@ -1813,11 +1799,12 @@ dependencies = [
1813
1799
 
1814
1800
  [[package]]
1815
1801
  name = "polars-core"
1816
- version = "0.48.0"
1802
+ version = "0.49.1"
1817
1803
  source = "registry+https://github.com/rust-lang/crates.io-index"
1818
- checksum = "98cbc2f5626c36b435a7d9f7c412ebc84e5c5e7f16ed6f51fc1bca947db2ffe1"
1804
+ checksum = "3fc3c99d7000be1be11665e1e260b93dc3b927342b9da3b53d9a1ac264e4343d"
1819
1805
  dependencies = [
1820
1806
  "bitflags",
1807
+ "boxcar",
1821
1808
  "bytemuck",
1822
1809
  "chrono",
1823
1810
  "chrono-tz",
@@ -1841,15 +1828,16 @@ dependencies = [
1841
1828
  "serde",
1842
1829
  "serde_json",
1843
1830
  "strum_macros",
1831
+ "uuid",
1844
1832
  "version_check",
1845
1833
  "xxhash-rust",
1846
1834
  ]
1847
1835
 
1848
1836
  [[package]]
1849
1837
  name = "polars-error"
1850
- version = "0.48.0"
1838
+ version = "0.49.1"
1851
1839
  source = "registry+https://github.com/rust-lang/crates.io-index"
1852
- checksum = "fd9c6c914e573adcee31c92e43085a1fdcc0c200435c6742587278f4782f42a1"
1840
+ checksum = "1397c17712e61a55fdd45c033a69f0451fde2973ff2609c22e363e21d68f11ef"
1853
1841
  dependencies = [
1854
1842
  "avro-schema",
1855
1843
  "object_store",
@@ -1862,9 +1850,9 @@ dependencies = [
1862
1850
 
1863
1851
  [[package]]
1864
1852
  name = "polars-expr"
1865
- version = "0.48.0"
1853
+ version = "0.49.1"
1866
1854
  source = "registry+https://github.com/rust-lang/crates.io-index"
1867
- checksum = "a8ee1b10e599fb6b6820ea9027195e4b9d549861cc7f6cc36a9d4139830ef945"
1855
+ checksum = "33d3aa6722c9a3e0b721ec2bcdc4affd9e50e4cb606cd81bb94535a9a5a6ade9"
1868
1856
  dependencies = [
1869
1857
  "bitflags",
1870
1858
  "hashbrown 0.15.3",
@@ -1885,9 +1873,9 @@ dependencies = [
1885
1873
 
1886
1874
  [[package]]
1887
1875
  name = "polars-io"
1888
- version = "0.48.0"
1876
+ version = "0.49.1"
1889
1877
  source = "registry+https://github.com/rust-lang/crates.io-index"
1890
- checksum = "7e7b1bb4d8686f370cf0405dc760eead4f1a56b07b15ce6fe10f076d791f2d98"
1878
+ checksum = "1a632d442a99821250a8fa66f7d488bf5ee98e5f515e65256b12956cb81fc110"
1891
1879
  dependencies = [
1892
1880
  "async-trait",
1893
1881
  "atoi_simd",
@@ -1930,9 +1918,9 @@ dependencies = [
1930
1918
 
1931
1919
  [[package]]
1932
1920
  name = "polars-json"
1933
- version = "0.48.0"
1921
+ version = "0.49.1"
1934
1922
  source = "registry+https://github.com/rust-lang/crates.io-index"
1935
- checksum = "ca5dab789dd604fe5cc0a6798147a4bb1e2085fd027ba65dc48380813c796945"
1923
+ checksum = "cd891735404ebb9d6ace066cfb4b8f6edb321bc841d354a0d917a3a1f2d1ca5b"
1936
1924
  dependencies = [
1937
1925
  "chrono",
1938
1926
  "chrono-tz",
@@ -1952,9 +1940,9 @@ dependencies = [
1952
1940
 
1953
1941
  [[package]]
1954
1942
  name = "polars-lazy"
1955
- version = "0.48.0"
1943
+ version = "0.49.1"
1956
1944
  source = "registry+https://github.com/rust-lang/crates.io-index"
1957
- checksum = "9e658df3117e5f382eff1c97a7df76b04eaeb231d63139b8e6fee7de32ee06e2"
1945
+ checksum = "f4ed0c87bdc8820447a38ae8efdb5a51a5a93e8bd528cffb05d05cf1145e4161"
1958
1946
  dependencies = [
1959
1947
  "bitflags",
1960
1948
  "chrono",
@@ -1969,7 +1957,6 @@ dependencies = [
1969
1957
  "polars-json",
1970
1958
  "polars-mem-engine",
1971
1959
  "polars-ops",
1972
- "polars-pipe",
1973
1960
  "polars-plan",
1974
1961
  "polars-stream",
1975
1962
  "polars-time",
@@ -1981,9 +1968,9 @@ dependencies = [
1981
1968
 
1982
1969
  [[package]]
1983
1970
  name = "polars-mem-engine"
1984
- version = "0.48.0"
1971
+ version = "0.49.1"
1985
1972
  source = "registry+https://github.com/rust-lang/crates.io-index"
1986
- checksum = "95c7a92f7231cab82294c4f4c41104431417141ce91bf9fd4611e477fde719b2"
1973
+ checksum = "675294ddf9174029e48caa4e59b0665ea64bfb784a366b197690895a6ed65c68"
1987
1974
  dependencies = [
1988
1975
  "futures",
1989
1976
  "memmap2",
@@ -2004,9 +1991,9 @@ dependencies = [
2004
1991
 
2005
1992
  [[package]]
2006
1993
  name = "polars-ops"
2007
- version = "0.48.0"
1994
+ version = "0.49.1"
2008
1995
  source = "registry+https://github.com/rust-lang/crates.io-index"
2009
- checksum = "665d4c023850ffdb506833aa3277666e51febb2f94aa18303ca7938cb4f7f111"
1996
+ checksum = "1eb4db68956f857c52eeda072d87644a7b42eac41d55073af94dfac8441af6cf"
2010
1997
  dependencies = [
2011
1998
  "aho-corasick",
2012
1999
  "argminmax",
@@ -2044,9 +2031,9 @@ dependencies = [
2044
2031
 
2045
2032
  [[package]]
2046
2033
  name = "polars-parquet"
2047
- version = "0.48.0"
2034
+ version = "0.49.1"
2048
2035
  source = "registry+https://github.com/rust-lang/crates.io-index"
2049
- checksum = "dd2184473f4876e485fa890e62b14499f7ac70508ee43d6d10d90afde3b7a7b3"
2036
+ checksum = "7c849c10edd9511ccd4ec4130e283ee3a8b3bb48a7d74ac6354c1c20add81065"
2050
2037
  dependencies = [
2051
2038
  "async-stream",
2052
2039
  "base64",
@@ -2080,38 +2067,11 @@ dependencies = [
2080
2067
  "futures",
2081
2068
  ]
2082
2069
 
2083
- [[package]]
2084
- name = "polars-pipe"
2085
- version = "0.48.0"
2086
- source = "registry+https://github.com/rust-lang/crates.io-index"
2087
- checksum = "7c6f2cf43fc3ad2eba7e49864a6e3fbe5d221ed9f5de216164124c974804518c"
2088
- dependencies = [
2089
- "crossbeam-channel",
2090
- "crossbeam-queue",
2091
- "enum_dispatch",
2092
- "futures",
2093
- "hashbrown 0.15.3",
2094
- "num-traits",
2095
- "polars-arrow",
2096
- "polars-compute",
2097
- "polars-core",
2098
- "polars-expr",
2099
- "polars-io",
2100
- "polars-ops",
2101
- "polars-plan",
2102
- "polars-row",
2103
- "polars-utils",
2104
- "rayon",
2105
- "tokio",
2106
- "uuid",
2107
- "version_check",
2108
- ]
2109
-
2110
2070
  [[package]]
2111
2071
  name = "polars-plan"
2112
- version = "0.48.0"
2072
+ version = "0.49.1"
2113
2073
  source = "registry+https://github.com/rust-lang/crates.io-index"
2114
- checksum = "4d9795038f5d3a83ea273407715e92054bd355e3e251a5d729ba397f66e80282"
2074
+ checksum = "71fb4412c42bf637c2c02a617381c682ed425d9c8e4bd1fcb85cf352ed2a67c6"
2115
2075
  dependencies = [
2116
2076
  "bitflags",
2117
2077
  "bytemuck",
@@ -2143,9 +2103,9 @@ dependencies = [
2143
2103
 
2144
2104
  [[package]]
2145
2105
  name = "polars-row"
2146
- version = "0.48.0"
2106
+ version = "0.49.1"
2147
2107
  source = "registry+https://github.com/rust-lang/crates.io-index"
2148
- checksum = "7510a28ef2a835bb88aceb83f41dd84b65182b9943b760e8919ae4882bfe27d1"
2108
+ checksum = "08fb77ac1d37340d9cfe57cf58000cf3d9cce429e10d25066952c6145c684cc0"
2149
2109
  dependencies = [
2150
2110
  "bitflags",
2151
2111
  "bytemuck",
@@ -2157,9 +2117,9 @@ dependencies = [
2157
2117
 
2158
2118
  [[package]]
2159
2119
  name = "polars-schema"
2160
- version = "0.48.0"
2120
+ version = "0.49.1"
2161
2121
  source = "registry+https://github.com/rust-lang/crates.io-index"
2162
- checksum = "d94e88bc9dda80ced9a9222de5178f5a5990a50e8e9a0d7e6ddfb65ee27eeb3d"
2122
+ checksum = "ada7c7e2fbbeffbdd67628cd8a89f02b0a8d21c71d34e297e2463a7c17575203"
2163
2123
  dependencies = [
2164
2124
  "indexmap",
2165
2125
  "polars-error",
@@ -2170,9 +2130,9 @@ dependencies = [
2170
2130
 
2171
2131
  [[package]]
2172
2132
  name = "polars-sql"
2173
- version = "0.48.0"
2133
+ version = "0.49.1"
2174
2134
  source = "registry+https://github.com/rust-lang/crates.io-index"
2175
- checksum = "75e79a010b3b792b5de78807547ead5d63b3c52d7e369a8afe1cf8e014bfc99e"
2135
+ checksum = "4a8e512b1f05ffda9963fe8f6a7c62dcba86be85218bc033ecdad2802cc1b1a0"
2176
2136
  dependencies = [
2177
2137
  "bitflags",
2178
2138
  "hex",
@@ -2191,9 +2151,9 @@ dependencies = [
2191
2151
 
2192
2152
  [[package]]
2193
2153
  name = "polars-stream"
2194
- version = "0.48.0"
2154
+ version = "0.49.1"
2195
2155
  source = "registry+https://github.com/rust-lang/crates.io-index"
2196
- checksum = "0a141963c30085a32dc8b6d3b302b6c7dfb1b180667a067f1170b73bd96e040f"
2156
+ checksum = "5b0a02d8050acd9b64ed7e36c5bc96f6d4f46a940220f9c0e34c96b51f830f8c"
2197
2157
  dependencies = [
2198
2158
  "async-channel",
2199
2159
  "async-trait",
@@ -2228,9 +2188,9 @@ dependencies = [
2228
2188
 
2229
2189
  [[package]]
2230
2190
  name = "polars-time"
2231
- version = "0.48.0"
2191
+ version = "0.49.1"
2232
2192
  source = "registry+https://github.com/rust-lang/crates.io-index"
2233
- checksum = "75f865898802fadffe0af007963175b2a708f9048851a000737ad0b51309a988"
2193
+ checksum = "72e84a30110880ffede8d93c085fc429ab1b8bf1acf3d6d489143dd34be374c4"
2234
2194
  dependencies = [
2235
2195
  "atoi_simd",
2236
2196
  "bytemuck",
@@ -2252,9 +2212,9 @@ dependencies = [
2252
2212
 
2253
2213
  [[package]]
2254
2214
  name = "polars-utils"
2255
- version = "0.48.0"
2215
+ version = "0.49.1"
2256
2216
  source = "registry+https://github.com/rust-lang/crates.io-index"
2257
- checksum = "25f245314e05f1d1a96162bca2ffd3378835269be7c9de14f082c5cdad5705fc"
2217
+ checksum = "a05e033960552c47fc35afe14d5af5b29696acc97ae5d3c585ebc33c246cc15f"
2258
2218
  dependencies = [
2259
2219
  "bincode",
2260
2220
  "bytemuck",
@@ -2274,11 +2234,9 @@ dependencies = [
2274
2234
  "regex",
2275
2235
  "rmp-serde",
2276
2236
  "serde",
2277
- "serde_ignored",
2278
2237
  "serde_json",
2279
2238
  "slotmap",
2280
2239
  "stacker",
2281
- "sysinfo",
2282
2240
  "version_check",
2283
2241
  ]
2284
2242
 
@@ -2877,15 +2835,6 @@ dependencies = [
2877
2835
  "syn",
2878
2836
  ]
2879
2837
 
2880
- [[package]]
2881
- name = "serde_ignored"
2882
- version = "0.1.12"
2883
- source = "registry+https://github.com/rust-lang/crates.io-index"
2884
- checksum = "b516445dac1e3535b6d658a7b528d771153dfb272ed4180ca4617a20550365ff"
2885
- dependencies = [
2886
- "serde",
2887
- ]
2888
-
2889
2838
  [[package]]
2890
2839
  name = "serde_json"
2891
2840
  version = "1.0.140"
@@ -3125,19 +3074,6 @@ dependencies = [
3125
3074
  "syn",
3126
3075
  ]
3127
3076
 
3128
- [[package]]
3129
- name = "sysinfo"
3130
- version = "0.33.1"
3131
- source = "registry+https://github.com/rust-lang/crates.io-index"
3132
- checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01"
3133
- dependencies = [
3134
- "core-foundation-sys",
3135
- "libc",
3136
- "memchr",
3137
- "ntapi",
3138
- "windows",
3139
- ]
3140
-
3141
3077
  [[package]]
3142
3078
  name = "thiserror"
3143
3079
  version = "2.0.12"
@@ -3369,6 +3305,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
3369
3305
  checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
3370
3306
  dependencies = [
3371
3307
  "getrandom 0.3.3",
3308
+ "js-sys",
3309
+ "wasm-bindgen",
3372
3310
  ]
3373
3311
 
3374
3312
  [[package]]
@@ -3558,52 +3496,19 @@ version = "0.4.0"
3558
3496
  source = "registry+https://github.com/rust-lang/crates.io-index"
3559
3497
  checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
3560
3498
 
3561
- [[package]]
3562
- name = "windows"
3563
- version = "0.57.0"
3564
- source = "registry+https://github.com/rust-lang/crates.io-index"
3565
- checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
3566
- dependencies = [
3567
- "windows-core 0.57.0",
3568
- "windows-targets 0.52.6",
3569
- ]
3570
-
3571
- [[package]]
3572
- name = "windows-core"
3573
- version = "0.57.0"
3574
- source = "registry+https://github.com/rust-lang/crates.io-index"
3575
- checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
3576
- dependencies = [
3577
- "windows-implement 0.57.0",
3578
- "windows-interface 0.57.0",
3579
- "windows-result 0.1.2",
3580
- "windows-targets 0.52.6",
3581
- ]
3582
-
3583
3499
  [[package]]
3584
3500
  name = "windows-core"
3585
3501
  version = "0.61.2"
3586
3502
  source = "registry+https://github.com/rust-lang/crates.io-index"
3587
3503
  checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
3588
3504
  dependencies = [
3589
- "windows-implement 0.60.0",
3590
- "windows-interface 0.59.1",
3505
+ "windows-implement",
3506
+ "windows-interface",
3591
3507
  "windows-link",
3592
- "windows-result 0.3.4",
3508
+ "windows-result",
3593
3509
  "windows-strings 0.4.2",
3594
3510
  ]
3595
3511
 
3596
- [[package]]
3597
- name = "windows-implement"
3598
- version = "0.57.0"
3599
- source = "registry+https://github.com/rust-lang/crates.io-index"
3600
- checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
3601
- dependencies = [
3602
- "proc-macro2",
3603
- "quote",
3604
- "syn",
3605
- ]
3606
-
3607
3512
  [[package]]
3608
3513
  name = "windows-implement"
3609
3514
  version = "0.60.0"
@@ -3615,17 +3520,6 @@ dependencies = [
3615
3520
  "syn",
3616
3521
  ]
3617
3522
 
3618
- [[package]]
3619
- name = "windows-interface"
3620
- version = "0.57.0"
3621
- source = "registry+https://github.com/rust-lang/crates.io-index"
3622
- checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
3623
- dependencies = [
3624
- "proc-macro2",
3625
- "quote",
3626
- "syn",
3627
- ]
3628
-
3629
3523
  [[package]]
3630
3524
  name = "windows-interface"
3631
3525
  version = "0.59.1"
@@ -3649,20 +3543,11 @@ version = "0.4.0"
3649
3543
  source = "registry+https://github.com/rust-lang/crates.io-index"
3650
3544
  checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3"
3651
3545
  dependencies = [
3652
- "windows-result 0.3.4",
3546
+ "windows-result",
3653
3547
  "windows-strings 0.3.1",
3654
3548
  "windows-targets 0.53.0",
3655
3549
  ]
3656
3550
 
3657
- [[package]]
3658
- name = "windows-result"
3659
- version = "0.1.2"
3660
- source = "registry+https://github.com/rust-lang/crates.io-index"
3661
- checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
3662
- dependencies = [
3663
- "windows-targets 0.52.6",
3664
- ]
3665
-
3666
3551
  [[package]]
3667
3552
  name = "windows-result"
3668
3553
  version = "0.3.4"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "polars"
3
- version = "0.19.0"
3
+ version = "0.20.0"
4
4
  license = "MIT"
5
5
  authors = ["Andrew Kane <andrew@ankane.org>"]
6
6
  edition = "2021"
@@ -12,22 +12,22 @@ crate-type = ["cdylib"]
12
12
 
13
13
  [dependencies]
14
14
  ahash = "0.8"
15
- arrow = { package = "polars-arrow", version = "=0.48.0" }
15
+ arrow = { package = "polars-arrow", version = "=0.49.1" }
16
16
  bytes = "1"
17
17
  chrono = "0.4"
18
18
  either = "1.8"
19
19
  magnus = "0.7"
20
20
  num-traits = "0.2"
21
- polars-core = "=0.48.0"
22
- polars-plan = "=0.48.0"
23
- polars-parquet = "=0.48.0"
24
- polars-utils = "=0.48.0"
21
+ polars-core = "=0.49.1"
22
+ polars-plan = "=0.49.1"
23
+ polars-parquet = "=0.49.1"
24
+ polars-utils = "=0.49.1"
25
25
  rayon = "1.9"
26
26
  regex = "1"
27
27
  serde_json = "1"
28
28
 
29
29
  [dependencies.polars]
30
- version = "=0.48.0"
30
+ version = "=0.49.1"
31
31
  features = [
32
32
  "abs",
33
33
  "approx_unique",
@@ -1,6 +1,6 @@
1
1
  use std::ops::Neg;
2
2
 
3
- use magnus::{prelude::*, value::Opaque, IntoValue, RArray, Ruby, Value};
3
+ use magnus::{RArray, Value};
4
4
  use polars::lazy::dsl;
5
5
  use polars::prelude::*;
6
6
  use polars::series::ops::NullBehavior;
@@ -331,10 +331,15 @@ impl RbExpr {
331
331
  self.inner.clone().arg_min().into()
332
332
  }
333
333
 
334
- pub fn search_sorted(&self, element: &Self, side: Wrap<SearchSortedSide>) -> Self {
334
+ pub fn search_sorted(
335
+ &self,
336
+ element: &Self,
337
+ side: Wrap<SearchSortedSide>,
338
+ descending: bool,
339
+ ) -> Self {
335
340
  self.inner
336
341
  .clone()
337
- .search_sorted(element.inner.clone(), side.0)
342
+ .search_sorted(element.inner.clone(), side.0, descending)
338
343
  .into()
339
344
  }
340
345
 
@@ -389,16 +394,8 @@ impl RbExpr {
389
394
  strategy: String,
390
395
  limit: FillNullLimit,
391
396
  ) -> RbResult<Self> {
392
- let strat = parse_fill_null_strategy(&strategy, limit)?;
393
- Ok(self
394
- .inner
395
- .clone()
396
- .apply(
397
- move |s| s.fill_null(strat).map(Some),
398
- GetOutput::same_type(),
399
- )
400
- .with_fmt("fill_null_with_strategy")
401
- .into())
397
+ let strategy = parse_fill_null_strategy(&strategy, limit)?;
398
+ Ok(self.inner.clone().fill_null_with_strategy(strategy).into())
402
399
  }
403
400
 
404
401
  pub fn fill_nan(&self, expr: &Self) -> Self {
@@ -678,10 +675,10 @@ impl RbExpr {
678
675
  self.inner.clone().upper_bound().into()
679
676
  }
680
677
 
681
- pub fn cumulative_eval(&self, expr: &Self, min_periods: usize, parallel: bool) -> Self {
678
+ pub fn cumulative_eval(&self, expr: &Self, min_samples: usize) -> Self {
682
679
  self.inner
683
680
  .clone()
684
- .cumulative_eval(expr.inner.clone(), min_periods, parallel)
681
+ .cumulative_eval(expr.inner.clone(), min_samples)
685
682
  .into()
686
683
  }
687
684
 
@@ -807,20 +804,10 @@ impl RbExpr {
807
804
  self.inner.clone().ewm_var(options).into()
808
805
  }
809
806
 
810
- pub fn extend_constant(&self, value: Wrap<AnyValue>, n: usize) -> Self {
811
- let value = value.into_value();
812
- let value = Opaque::from(value);
807
+ pub fn extend_constant(&self, value: &Self, n: &Self) -> Self {
813
808
  self.inner
814
809
  .clone()
815
- .apply(
816
- move |s| {
817
- let value = Ruby::get().unwrap().get_inner(value);
818
- let value = Wrap::<AnyValue>::try_convert(value).unwrap().0;
819
- s.extend_constant(value, n).map(Some)
820
- },
821
- GetOutput::same_type(),
822
- )
823
- .with_fmt("extend")
810
+ .extend_constant(value.inner.clone(), n.inner.clone())
824
811
  .into()
825
812
  }
826
813
 
@@ -43,12 +43,8 @@ impl RbExpr {
43
43
  Ok(self.inner.clone().list().diff(n, null_behavior.0).into())
44
44
  }
45
45
 
46
- pub fn list_eval(&self, expr: &RbExpr, parallel: bool) -> Self {
47
- self.inner
48
- .clone()
49
- .list()
50
- .eval(expr.inner.clone(), parallel)
51
- .into()
46
+ pub fn list_eval(&self, expr: &RbExpr) -> Self {
47
+ self.inner.clone().list().eval(expr.inner.clone()).into()
52
48
  }
53
49
 
54
50
  pub fn list_get(&self, index: &RbExpr, null_on_oob: bool) -> Self {
@@ -76,12 +72,7 @@ impl RbExpr {
76
72
  }
77
73
 
78
74
  pub fn list_mean(&self) -> Self {
79
- self.inner
80
- .clone()
81
- .list()
82
- .mean()
83
- .with_fmt("list.mean")
84
- .into()
75
+ self.inner.clone().list().mean().into()
85
76
  }
86
77
 
87
78
  pub fn list_min(&self) -> Self {
@@ -116,20 +107,20 @@ impl RbExpr {
116
107
  self.inner.clone().list().tail(n.inner.clone()).into()
117
108
  }
118
109
 
119
- pub fn list_sort(&self, reverse: bool) -> Self {
110
+ pub fn list_sort(&self, descending: bool, nulls_last: bool) -> Self {
120
111
  self.inner
121
112
  .clone()
122
113
  .list()
123
- .sort(SortOptions {
124
- descending: reverse,
125
- ..Default::default()
126
- })
127
- .with_fmt("list.sort")
114
+ .sort(
115
+ SortOptions::default()
116
+ .with_order_descending(descending)
117
+ .with_nulls_last(nulls_last),
118
+ )
128
119
  .into()
129
120
  }
130
121
 
131
122
  pub fn list_sum(&self) -> Self {
132
- self.inner.clone().list().sum().with_fmt("list.sum").into()
123
+ self.inner.clone().list().sum().into()
133
124
  }
134
125
 
135
126
  pub fn list_drop_nulls(&self) -> Self {
@@ -1,14 +1,21 @@
1
1
  use magnus::RArray;
2
+ use polars::prelude::Schema;
2
3
 
3
- use crate::{RbExpr, RbPolarsErr, RbResult};
4
+ use crate::{RbExpr, RbPolarsErr, RbResult, Wrap};
4
5
 
5
6
  impl RbExpr {
6
7
  pub fn meta_eq(&self, other: &RbExpr) -> bool {
7
8
  self.inner == other.inner
8
9
  }
9
10
 
10
- pub fn meta_pop(&self) -> RbResult<RArray> {
11
- let exprs = self.inner.clone().meta().pop().map_err(RbPolarsErr::from)?;
11
+ pub fn meta_pop(&self, schema: Option<Wrap<Schema>>) -> RbResult<RArray> {
12
+ let schema = schema.as_ref().map(|s| &s.0);
13
+ let exprs = self
14
+ .inner
15
+ .clone()
16
+ .meta()
17
+ .pop(schema)
18
+ .map_err(RbPolarsErr::from)?;
12
19
  Ok(RArray::from_iter(
13
20
  exprs.iter().map(|e| RbExpr::from(e.clone())),
14
21
  ))
@@ -84,17 +91,21 @@ impl RbExpr {
84
91
  self.inner.clone().meta()._into_selector().into()
85
92
  }
86
93
 
87
- fn compute_tree_format(&self, display_as_dot: bool) -> RbResult<String> {
94
+ fn compute_tree_format(
95
+ &self,
96
+ display_as_dot: bool,
97
+ schema: Option<Wrap<Schema>>,
98
+ ) -> RbResult<String> {
88
99
  let e = self
89
100
  .inner
90
101
  .clone()
91
102
  .meta()
92
- .into_tree_formatter(display_as_dot)
103
+ .into_tree_formatter(display_as_dot, schema.as_ref().map(|s| &s.0))
93
104
  .map_err(RbPolarsErr::from)?;
94
105
  Ok(format!("{e}"))
95
106
  }
96
107
 
97
- pub fn meta_tree_format(&self) -> RbResult<String> {
98
- self.compute_tree_format(false)
108
+ pub fn meta_tree_format(&self, schema: Option<Wrap<Schema>>) -> RbResult<String> {
109
+ self.compute_tree_format(false, schema)
99
110
  }
100
111
  }
@@ -225,7 +225,6 @@ impl RbExpr {
225
225
  .clone()
226
226
  .str()
227
227
  .to_integer(base.inner.clone(), strict)
228
- .with_fmt("str.to_integer")
229
228
  .into()
230
229
  }
231
230
 
@@ -93,7 +93,7 @@ impl RbFileLikeObject {
93
93
 
94
94
  /// Extracts a string repr from, and returns an IO error to send back to rust.
95
95
  fn rberr_to_io_err(e: Error) -> io::Error {
96
- io::Error::new(io::ErrorKind::Other, e.to_string())
96
+ io::Error::other(e.to_string())
97
97
  }
98
98
 
99
99
  impl Read for RbFileLikeObject {
@@ -3,7 +3,7 @@ use polars_core::datatypes::{TimeUnit, TimeZone};
3
3
 
4
4
  use crate::conversion::Wrap;
5
5
  use crate::prelude::*;
6
- use crate::RbExpr;
6
+ use crate::{RbExpr, RbResult};
7
7
 
8
8
  pub fn int_range(start: &RbExpr, end: &RbExpr, step: i64, dtype: Wrap<DataType>) -> RbExpr {
9
9
  let start = start.inner.clone();
@@ -12,16 +12,20 @@ pub fn int_range(start: &RbExpr, end: &RbExpr, step: i64, dtype: Wrap<DataType>)
12
12
  dsl::int_range(start, end, step, dtype).into()
13
13
  }
14
14
 
15
- pub fn int_ranges(start: &RbExpr, end: &RbExpr, step: &RbExpr, dtype: Wrap<DataType>) -> RbExpr {
15
+ pub fn int_ranges(
16
+ start: &RbExpr,
17
+ end: &RbExpr,
18
+ step: &RbExpr,
19
+ dtype: Wrap<DataType>,
20
+ ) -> RbResult<RbExpr> {
16
21
  let dtype = dtype.0;
17
-
18
- let mut result = dsl::int_ranges(start.inner.clone(), end.inner.clone(), step.inner.clone());
19
-
20
- if dtype != DataType::Int64 {
21
- result = result.cast(DataType::List(Box::new(dtype)))
22
- }
23
-
24
- result.into()
22
+ Ok(dsl::int_ranges(
23
+ start.inner.clone(),
24
+ end.inner.clone(),
25
+ step.inner.clone(),
26
+ dtype,
27
+ )
28
+ .into())
25
29
  }
26
30
 
27
31
  pub fn date_range(
@@ -305,7 +305,7 @@ impl RbLazyFrame {
305
305
  .with_predicate_pushdown(predicate_pushdown)
306
306
  .with_simplify_expr(simplify_expr)
307
307
  .with_slice_pushdown(slice_pushdown)
308
- .with_streaming(allow_streaming)
308
+ .with_new_streaming(allow_streaming)
309
309
  ._with_eager(_eager)
310
310
  .with_projection_pushdown(projection_pushdown);
311
311
 
@@ -217,7 +217,7 @@ fn init(ruby: &Ruby) -> RbResult<()> {
217
217
  class.define_method("peak_max", method!(RbExpr::peak_max, 0))?;
218
218
  class.define_method("arg_max", method!(RbExpr::arg_max, 0))?;
219
219
  class.define_method("arg_min", method!(RbExpr::arg_min, 0))?;
220
- class.define_method("search_sorted", method!(RbExpr::search_sorted, 2))?;
220
+ class.define_method("search_sorted", method!(RbExpr::search_sorted, 3))?;
221
221
  class.define_method("gather", method!(RbExpr::gather, 1))?;
222
222
  class.define_method("get", method!(RbExpr::get, 1))?;
223
223
  class.define_method("sort_by", method!(RbExpr::sort_by, 5))?;
@@ -464,7 +464,7 @@ fn init(ruby: &Ruby) -> RbResult<()> {
464
464
  class.define_method("list_to_array", method!(RbExpr::list_to_array, 1))?;
465
465
  class.define_method("list_mean", method!(RbExpr::list_mean, 0))?;
466
466
  class.define_method("list_tail", method!(RbExpr::list_tail, 1))?;
467
- class.define_method("list_sort", method!(RbExpr::list_sort, 1))?;
467
+ class.define_method("list_sort", method!(RbExpr::list_sort, 2))?;
468
468
  class.define_method("list_reverse", method!(RbExpr::list_reverse, 0))?;
469
469
  class.define_method("list_unique", method!(RbExpr::list_unique, 1))?;
470
470
  class.define_method("list_get", method!(RbExpr::list_get, 2))?;
@@ -476,8 +476,8 @@ fn init(ruby: &Ruby) -> RbResult<()> {
476
476
  class.define_method("list_diff", method!(RbExpr::list_diff, 2))?;
477
477
  class.define_method("list_shift", method!(RbExpr::list_shift, 1))?;
478
478
  class.define_method("list_slice", method!(RbExpr::list_slice, 2))?;
479
- class.define_method("list_eval", method!(RbExpr::list_eval, 2))?;
480
- class.define_method("cumulative_eval", method!(RbExpr::cumulative_eval, 3))?;
479
+ class.define_method("list_eval", method!(RbExpr::list_eval, 1))?;
480
+ class.define_method("cumulative_eval", method!(RbExpr::cumulative_eval, 2))?;
481
481
  class.define_method("list_to_struct", method!(RbExpr::list_to_struct, 3))?;
482
482
  class.define_method("rank", method!(RbExpr::rank, 3))?;
483
483
  class.define_method("diff", method!(RbExpr::diff, 2))?;
@@ -520,7 +520,7 @@ fn init(ruby: &Ruby) -> RbResult<()> {
520
520
  class.define_method("replace_strict", method!(RbExpr::replace_strict, 4))?;
521
521
 
522
522
  // meta
523
- class.define_method("meta_pop", method!(RbExpr::meta_pop, 0))?;
523
+ class.define_method("meta_pop", method!(RbExpr::meta_pop, 1))?;
524
524
  class.define_method("meta_eq", method!(RbExpr::meta_eq, 1))?;
525
525
  class.define_method("meta_roots", method!(RbExpr::meta_root_names, 0))?;
526
526
  class.define_method("meta_output_name", method!(RbExpr::meta_output_name, 0))?;
@@ -538,7 +538,7 @@ fn init(ruby: &Ruby) -> RbResult<()> {
538
538
  class.define_method("_meta_selector_sub", method!(RbExpr::_meta_selector_sub, 1))?;
539
539
  class.define_method("_meta_selector_and", method!(RbExpr::_meta_selector_and, 1))?;
540
540
  class.define_method("_meta_as_selector", method!(RbExpr::_meta_as_selector, 0))?;
541
- class.define_method("meta_tree_format", method!(RbExpr::meta_tree_format, 0))?;
541
+ class.define_method("meta_tree_format", method!(RbExpr::meta_tree_format, 1))?;
542
542
 
543
543
  // name
544
544
  class.define_method("name_keep", method!(RbExpr::name_keep, 0))?;
data/lib/polars/expr.rb CHANGED
@@ -1512,6 +1512,13 @@ module Polars
1512
1512
  #
1513
1513
  # @param element [Object]
1514
1514
  # Expression or scalar value.
1515
+ # @param side ['any', 'left', 'right']
1516
+ # If 'any', the index of the first suitable location found is given.
1517
+ # If 'left', the index of the leftmost suitable location found is given.
1518
+ # If 'right', return the rightmost suitable location found is given.
1519
+ # @param descending [Boolean]
1520
+ # Boolean indicating whether the values are descending or not (they
1521
+ # are required to be sorted either way).
1515
1522
  #
1516
1523
  # @return [Expr]
1517
1524
  #
@@ -1537,9 +1544,9 @@ module Polars
1537
1544
  # # ╞══════╪═══════╪═════╡
1538
1545
  # # │ 0 ┆ 2 ┆ 4 │
1539
1546
  # # └──────┴───────┴─────┘
1540
- def search_sorted(element, side: "any")
1547
+ def search_sorted(element, side: "any", descending: false)
1541
1548
  element = Utils.parse_into_expression(element, str_as_lit: false)
1542
- _from_rbexpr(_rbexpr.search_sorted(element, side))
1549
+ _from_rbexpr(_rbexpr.search_sorted(element, side, descending))
1543
1550
  end
1544
1551
 
1545
1552
  # Sort this column by the ordering of another column, or multiple other columns.
@@ -6651,6 +6658,8 @@ module Polars
6651
6658
  # # │ 99 │
6652
6659
  # # └────────┘
6653
6660
  def extend_constant(value, n)
6661
+ value = Utils.parse_into_expression(value, str_as_lit: true)
6662
+ n = Utils.parse_into_expression(n)
6654
6663
  _from_rbexpr(_rbexpr.extend_constant(value, n))
6655
6664
  end
6656
6665
 
@@ -6814,9 +6823,6 @@ module Polars
6814
6823
  # @param min_periods [Integer]
6815
6824
  # Number of valid values there should be in the window before the expression
6816
6825
  # is evaluated. valid values = `length - null_count`
6817
- # @param parallel [Boolean]
6818
- # Run in parallel. Don't do this in a group by or another operation that
6819
- # already has much parallelization.
6820
6826
  #
6821
6827
  # @return [Expr]
6822
6828
  #
@@ -6850,9 +6856,9 @@ module Polars
6850
6856
  # # │ -15 │
6851
6857
  # # │ -24 │
6852
6858
  # # └────────┘
6853
- def cumulative_eval(expr, min_periods: 1, parallel: false)
6859
+ def cumulative_eval(expr, min_periods: 1)
6854
6860
  _from_rbexpr(
6855
- _rbexpr.cumulative_eval(expr._rbexpr, min_periods, parallel)
6861
+ _rbexpr.cumulative_eval(expr._rbexpr, min_periods)
6856
6862
  )
6857
6863
  end
6858
6864
 
@@ -7117,7 +7123,7 @@ module Polars
7117
7123
  # Accepts expression input. Sequences are parsed as Series,
7118
7124
  # other non-expression inputs are parsed as literals.
7119
7125
  # Also accepts a mapping of values to their replacement as syntactic sugar for
7120
- # `replace_all(old: Series.new(mapping.keys), new: Serie.new(mapping.values))`.
7126
+ # `replace_all(old: Series.new(mapping.keys), new: Series.new(mapping.values))`.
7121
7127
  # @param new [Object]
7122
7128
  # Value or sequence of values to replace by.
7123
7129
  # Accepts expression input. Sequences are parsed as Series,
@@ -206,7 +206,7 @@ module Polars
206
206
  end
207
207
  end
208
208
 
209
- # Align a sequence of frames using the uique values from one or more columns as a key.
209
+ # Align a sequence of frames using the unique values from one or more columns as a key.
210
210
  #
211
211
  # Frames that do not contain the given key values have rows injected (with nulls
212
212
  # filling the non-key columns), and each resulting frame is sorted by the key.
@@ -245,6 +245,11 @@ module Polars
245
245
 
246
246
  # Sort the arrays in the list.
247
247
  #
248
+ # @param reverse [Boolean]
249
+ # Sort in descending order.
250
+ # @param nulls_last [Boolean]
251
+ # Place null values last.
252
+ #
248
253
  # @return [Expr]
249
254
  #
250
255
  # @example
@@ -264,8 +269,8 @@ module Polars
264
269
  # # │ [1, 2, 3] │
265
270
  # # │ [1, 2, 9] │
266
271
  # # └───────────┘
267
- def sort(reverse: false)
268
- Utils.wrap_expr(_rbexpr.list_sort(reverse))
272
+ def sort(reverse: false, nulls_last: false)
273
+ Utils.wrap_expr(_rbexpr.list_sort(reverse, nulls_last))
269
274
  end
270
275
 
271
276
  # Reverse the arrays in the list.
@@ -758,12 +763,6 @@ module Polars
758
763
  # @param expr [Expr]
759
764
  # Expression to run. Note that you can select an element with `Polars.first`, or
760
765
  # `Polars.col`
761
- # @param parallel [Boolean]
762
- # Run all expression parallel. Don't activate this blindly.
763
- # Parallelism is worth it if there is enough work to do per thread.
764
- #
765
- # This likely should not be use in the group by context, because we already
766
- # parallel execution per group
767
766
  #
768
767
  # @return [Expr]
769
768
  #
@@ -783,8 +782,8 @@ module Polars
783
782
  # # │ 8 ┆ 5 ┆ [2.0, 1.0] │
784
783
  # # │ 3 ┆ 2 ┆ [2.0, 1.0] │
785
784
  # # └─────┴─────┴────────────┘
786
- def eval(expr, parallel: false)
787
- Utils.wrap_expr(_rbexpr.list_eval(expr._rbexpr, parallel))
785
+ def eval(expr)
786
+ Utils.wrap_expr(_rbexpr.list_eval(expr._rbexpr))
788
787
  end
789
788
  end
790
789
  end
@@ -586,12 +586,6 @@ module Polars
586
586
  # @param expr [Expr]
587
587
  # Expression to run. Note that you can select an element with `Polars.first`, or
588
588
  # `Polars.col`
589
- # @param parallel [Boolean]
590
- # Run all expression parallel. Don't activate this blindly.
591
- # Parallelism is worth it if there is enough work to do per thread.
592
- #
593
- # This likely should not be use in the group by context, because we already
594
- # parallel execution per group
595
589
  #
596
590
  # @return [Series]
597
591
  #
@@ -611,7 +605,7 @@ module Polars
611
605
  # # │ 8 ┆ 5 ┆ [2.0, 1.0] │
612
606
  # # │ 3 ┆ 2 ┆ [2.0, 1.0] │
613
607
  # # └─────┴─────┴────────────┘
614
- def eval(expr, parallel: false)
608
+ def eval(expr)
615
609
  super
616
610
  end
617
611
  end
@@ -125,14 +125,14 @@ module Polars
125
125
  # @return [Array]
126
126
  #
127
127
  # @example
128
- # e = Polars.col("foo").alias("bar")
128
+ # e = Polars.col("foo") + Polars.col("bar")
129
129
  # first = e.meta.pop[0]
130
- # _ = first.meta == Polars.col("foo")
131
- # # => true
132
130
  # _ = first.meta == Polars.col("bar")
131
+ # # => true
132
+ # _ = first.meta == Polars.col("foo")
133
133
  # # => false
134
- def pop
135
- _rbexpr.meta_pop.map { |e| Utils.wrap_expr(e) }
134
+ def pop(schema: nil)
135
+ _rbexpr.meta_pop(schema).map { |e| Utils.wrap_expr(e) }
136
136
  end
137
137
 
138
138
  # Get a list with the root column name.
@@ -209,8 +209,8 @@ module Polars
209
209
  # @example
210
210
  # e = (Polars.col("foo") * Polars.col("bar")).sum.over(Polars.col("ham")) / 2
211
211
  # e.meta.tree_format(return_as_string: true)
212
- def tree_format(return_as_string: false)
213
- s = _rbexpr.meta_tree_format
212
+ def tree_format(return_as_string: false, schema: nil)
213
+ s = _rbexpr.meta_tree_format(schema)
214
214
  if return_as_string
215
215
  s
216
216
  else
data/lib/polars/series.rb CHANGED
@@ -1321,9 +1321,6 @@ module Polars
1321
1321
  # @param min_periods [Integer]
1322
1322
  # Number of valid values there should be in the window before the expression
1323
1323
  # is evaluated. valid values = `length - null_count`
1324
- # @param parallel [Boolean]
1325
- # Run in parallel. Don't do this in a group by or another operation that
1326
- # already has much parallelization.
1327
1324
  #
1328
1325
  # @return [Series]
1329
1326
  #
@@ -1348,7 +1345,7 @@ module Polars
1348
1345
  # # -15
1349
1346
  # # -24
1350
1347
  # # ]
1351
- def cumulative_eval(expr, min_periods: 1, parallel: false)
1348
+ def cumulative_eval(expr, min_periods: 1)
1352
1349
  super
1353
1350
  end
1354
1351
 
@@ -1879,6 +1876,13 @@ module Polars
1879
1876
  #
1880
1877
  # @param element [Object]
1881
1878
  # Expression or scalar value.
1879
+ # @param side ['any', 'left', 'right']
1880
+ # If 'any', the index of the first suitable location found is given.
1881
+ # If 'left', the index of the leftmost suitable location found is given.
1882
+ # If 'right', return the rightmost suitable location found is given.
1883
+ # @param descending [Boolean]
1884
+ # Boolean indicating whether the values are descending or not (they
1885
+ # are required to be sorted either way).
1882
1886
  #
1883
1887
  # @return [Integer]
1884
1888
  #
@@ -1927,12 +1931,12 @@ module Polars
1927
1931
  # # 5
1928
1932
  # # 6
1929
1933
  # # ]
1930
- def search_sorted(element, side: "any")
1934
+ def search_sorted(element, side: "any", descending: false)
1931
1935
  if element.is_a?(Integer) || element.is_a?(Float)
1932
- return Polars.select(Polars.lit(self).search_sorted(element, side: side)).item
1936
+ return Polars.select(Polars.lit(self).search_sorted(element, side: side, descending: descending)).item
1933
1937
  end
1934
1938
  element = Series.new(element)
1935
- Polars.select(Polars.lit(self).search_sorted(element, side: side)).to_series
1939
+ Polars.select(Polars.lit(self).search_sorted(element, side: side, descending: descending)).to_series
1936
1940
  end
1937
1941
 
1938
1942
  # Get unique elements in series.
@@ -4366,7 +4370,7 @@ module Polars
4366
4370
  # # 99
4367
4371
  # # ]
4368
4372
  def extend_constant(value, n)
4369
- Utils.wrap_s(_s.extend_constant(value, n))
4373
+ super
4370
4374
  end
4371
4375
 
4372
4376
  # Flags the Series as sorted.
@@ -120,7 +120,7 @@ module Polars
120
120
  # Parse a Series of dtype Utf8 to a Date/Datetime Series.
121
121
  #
122
122
  # @param datatype [Symbol]
123
- # `:date`, `:dateime`, or `:time`.
123
+ # `:date`, `:datetime`, or `:time`.
124
124
  # @param fmt [String]
125
125
  # Format to use, refer to the
126
126
  # [chrono strftime documentation](https://docs.rs/chrono/latest/chrono/format/strftime/index.html)
@@ -1,4 +1,4 @@
1
1
  module Polars
2
2
  # @private
3
- VERSION = "0.19.0"
3
+ VERSION = "0.20.0"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polars-df
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane