buildOne report1 publisher Polars 2.0's streaming default changes left-join row order from run to run
Polars 2.0.0 runs lazy queries on the streaming engine by default, and a left join on that engine no longer keeps row order. A dev.to author's repro shows the change raising no error and leaving every value correct.
Reality
- Evidence62
- Adoption
- Not scored
- Hype gap+8
- Incentives40
- Confidence60
buildOne report1 publisher Aida van de Wetering rebuilds GeoPolars as a geo namespace inside Polars in about 125 commits
Aida van de Wetering has pushed about 125 commits to GeoPolars' dev branch since mid-September, rebuilding it as a geo expression namespace inside Polars. Polars teams with spatial work now have something to test before they reach for GeoPandas, though the project is still a prototype.
Reality
- Evidence30
- Adoption
- Not scored
- Hype gap+35
- Incentives
- Not scored
- Confidence35
buildOne report1 publisher Polars 2.0's streaming default can reorder group_by and join output without an error
Polars 2.0 runs LazyFrame.collect() on its streaming engine by default, a dev.to upgrade guide reports. One environment variable pins the old engine, so teams can fix the loud API breaks before hunting row-order changes that raise no error.
Reality
- Evidence50
- Adoption
- Not scored
- Hype gap+5
- Incentives20
- Confidence50
buildOne report1 publisher A cached strptime only wins when the same date shows up 2,740 times
A week of measurements on one Mac mini puts the lru_cache wrapper around strptime at 3x when dates repeat and slightly slower when they do not. A Polars 2.0 release candidate finishes the same report in 0.13 s.
Reality
- Evidence70
- Adoption20
- Hype gap+12
- Incentives30
- Confidence60
buildOne report1 publisher Charging 10 bps a side turns a 13.44 Sharpe into -40.13 on the same code revision
A cross-sectional reversal baseline on 15-minute Bybit perpetual bars won 67 of 76 out-of-sample windows before costs and none of them after. Charging the trading it requires puts breakeven near 2.5 bps per side.
Reality
- Evidence58
- Adoption
- Not scored
- Hype gap−20
- Incentives20
- Confidence45
buildOne report1 publisher A five-column CSV per institution collapses 107 official rate publishers into one dataset
The AllRates dataset on Hugging Face holds 14.6 million rows in each publisher's own direction and label, so the collecting is finished while the inversion, rounding and missing-day rules stay in your code.
Reality
- Evidence45
- Adoption
- Not scored
- Hype gap+12
- Incentives72
- Confidence50
buildConfirmed2 publishers The release candidate keeps collect's signature and changes what its default resolves to. Group_by, joins and unpivot can now return rows in a different order, and explain() still prints the plan that was not run.
Perspective Coverage
3 publishers
- Builder
- Builder 57%
- Operator
- Operator 30%
- Investor
- Investor 13%
Reality
- Evidence80
- Adoption18
- Hype gap+22
- Incentives62
- Confidence74
buildOne report1 publisher Polars 2.0 routes every lazy collect() through the streaming engine by default
Ritchie Vink is selling 2.0 as a boring upgrade. Mostly it is, but engine="auto" now resolves to streaming by default, so joins and group_bys stop carrying incidental row order, and pipelines that leaned on it will drift quietly.
Reality
- Evidence62
- Adoption20
- Hype gap+10
- Incentives78
- Confidence58
buildOne report1 publisher Pytest catches the pipeline bugs that ship as wrong numbers
A dev.to crash course splits pipeline testing into code correctness and data correctness. The split earns its keep because a renamed column produces nulls rather than a stack trace, so nothing pages anyone.
Reality
- Evidence58
- Adoption
- Not scored
- Hype gap+12
- Incentives22
- Confidence52
buildOne report1 publisher Jinja Is Four Jobs In One Costume, And Only One Of Them Needs A Template
Interlace drops templating from its dbt-style models. Its argument: parse the SQL, and the dependency graph you were asked to declare twice is already sitting in the FROM clause.
Reality
- Evidence30
- Adoption
- Not scored
- Hype gap+20
- Incentives72
- Confidence36