Migrate from Pendulum to Arrow datetime lib
pendulum
does not have Python 3.13 support. Since it is partially written in Rust, the wheels has to be built for multiple platforms.
Silkaj %0.12.0, can’t be released with Python 3.13 support (Add support for Python v3.13 (#482 - closed)), since it would requires users to have rustc
in their PATH
in order to build pendulum
while installing Silkaj via pipx
.
Pendulum has maintenance issues, that’s also a concern for keeping using it on the long term. It was an issue with Py3.12, Silkaj v0.11.2 was published using pendulum v3.0.0 beta. It can also be an issue for Py3.14 and next ones.
Pendulum quality is superior to other libraries (Use and introduce a better date utility than da... (#251 - closed)): Faster, smartly designed API.
I contributed to add Py3.13 support, but there is still to be done. Let’s see how it ends-up.
In the meantime, the decision has been taken to migrate to Arrow. Arrow replaces almost one-to-one pendulum features and displays.
Arrow also has a maintenance issue, but, it’s fully written in Python, and there shouldn’t be major issue when adding new Python version support to Silkaj. The wheel is here. With pendulum, we have to wait for them to be built.
Tasks
-
Migrate from pendulum to arrow, keeping same functionalities, create single commit to make it revertable in case we prefer Pendulum over Arrow and if Pendulum become more maintained.