As @Vindaar says, it really depends upon how much statically compiled vs. dynamically interpreted typing you need|want. If you are currently using Polars but only through the "dynamic lens" of Python bindings then you could be in for a world of cross run-time/compile-time impedance mismatches.
One "mixture" worth considering is what [nio](https://github.com/c-blake/nio) does (which is what a lot of database libraries/systems do "underneath" query languages) with a Python interface demo'd in [run.sh](https://github.com/c-blake/nio/blob/main/demo/timeSeries/run.sh) . If you are doing a lot of your own custom analytics and want to write them in a nice statically typed PLang like Nim and get them compiled to SIMD numerics code, this approach might work well, albeit a bit manually. The way date times can be handled is very flexible but, in so being, also very delegated to user-code. I have personally scaled it all the way up to what finance people call "tick-quote data warehouses/ticker plants" without incident and with very little code.