In the same vein as ~savoy/ade#22 and to make the code much more manageable and modular for other use cases, the current
Compilemethods need to be split out into their own files.
So while the core of
adewill be written in Rust (~savoy/ade#38), additional functions should all be user-created (not everyone will need the current methods as some are very specific to my use case).
Each function should take the current class/struct as a mutable argument so that it can be acted upon. These of course will be written in python, and the use of
pandasafter the rust rewrite will also aid in its dependability.
Everything currently in
master:ade/lib/*, with the exception of SQL Server database connections and possibly functions from
pywin32should be rewritten in Rust.
The speed increases alone are an excellent reason, while the strong typing would greatly benefit readability and maintenance; the current codebase, mostly the older code from 2018-2019, suffers greatly from this issue.
With the move to rust,
pandaswill also be replaced by
polars. The python library of the latter will also be used on the modular methods replacing the current code bloat (~savoy/ade#39)
savoy referenced this ticket in commit aa6b844.