Conversation
Enables py 3.13
…hon-pendulum-master
this is a continuation of #863. We had to upgrade O3 version again because we could not build Windows wheels. This again required us to handle some deprecations. I think @Secrus was able to merge the relevant commit. We'll come back with more fixes. We will be testing updated wheels via our private PyPI and then update this PR. |
|
We have merged some updates to Poetry and CI setup. @rudolfix could you rebase the changes? |
|
@Secrus also we added |
|
@rudolfix I am not against it, but I don't really know the low-level semantics, so if you could TL;DR what removing it would cause, I would be grateful. |
|
@Secrus I did some investigations. in case of pendulum there's no reason to use mimalloc it makes some sense on heavy multithreaded code where you allocate and deallocate on different thread. our case is exactly Release workflow needs a lot of updates, some of actions are removed. We have a working one. I'll add this to the PR |
| use crate::parsing::Parser; | ||
| use crate::python::types::{Duration, FixedTimezone}; | ||
|
|
||
| #[allow(deprecated)] |
There was a problem hiding this comment.
Why is that needed? Shouldn't we instead migrate off of the deprecated stuff? If the migration is too extensive, please add a TODO comment here.
There was a problem hiding this comment.
There are more deprecations in O3 0.23, I was able to fix most of them, but here the whole function must be IMO refactored. TODO added
|
Can we just provide a pure python version without using rust? |
|
Thanks @rudolfix (hello friend!) for raising the issue. I am eyeing now at Python 3.13 support for Airflow apache/airflow#46891 - and of course (following @ashb involvement) - it turns out that Pendulum and Python 3.13 is not a great match for now. Putting aside the discusssion whether it works - which I have not run my tests yet on - seems that at least Pendulum compiles on Python 3.13 - having cargo needed to do it is for sure a pain for users to install, so having some correctness fixes but also Python 3.12 wheels is absolutely needed #879 So @Secrus @sdispater -> now there are both Airflow and dlthub people interested. Can we help somohow? Are there any blockers to make it happen? As mentioned in #879 - we wiil shortly need to make decisions what to do with our dependencies that hold us back so it woudl be great to know if there is a way we can help to bring Pendulum up to Python 3.13 level. |
|
@potiuk all the changes needed for Python 3.13 support are contained within this PR. Once it is merged, I plan on releasing Pendulum 3.1, which will include wheels for Python 3.13. |
Fantastic news ! Thank you. If there is any thing needed - I am happy to help. I can probably very easily (providing that Github URL package installation works for pendulum) - test Pendulum from this PR in Airflow test-suite in my Python 3.13 PR. Would that be helpful? |
|
@potiuk, if you have such a possibility, verifying that everything works as intended would be helpful. Thank you in advance |
Yep - I will do some testing this weekend and come back to you :) |
…ed github actions, uses new PyPI deployment workflow
68b925d to
4f0976c
Compare
4f0976c to
4e513e5
Compare
CodSpeed Performance ReportMerging #871 will not alter performanceComparing Summary
|
|
@Secrus I was able to merge our newest version and run all the CI workflows. I did all the things in your review as well. thx! @potiuk this may be interesting to you:
|
We are in a process of switching to releases via Trusted Publishing for the whole ASF (and we are leading it, but we want to do it a lot more robust and reusable, so it takes more time) But I do not really need to publish things - I can simply build it in our CI, our CI build anyhow has all the tools to build pendulum in our CI before the .whl is published, so no worries. I even started it on weekend with this in our hatch_build.py: But I had other issues with the build and other things to look at - so I am only on it now :) |
|
Yeah - apache/airflow#46891 and while it will still have some failures, I hope we will see if there will be any related to pendulum - but yeah - once I have cargo in my image (I have because some other packages for Python 3.13 need it) - Pendulum nicely installs with github-url installatoin. |
|
@Secrus is there anything that could help you merge this? |
I would appreciate it if you could make the days longer, so I can do more in one day 🤣 On a more serious note, I will dive into this PR (hopefully) this week and see where we are. |
you should move to south pole then :) |
This PR makes
pendulumwork on Python 3.13. We are using it a lot in our library: https://github.com/dlt-hub/dlt and initially considered forking pendulum to make it work on Python 3.13. Maybe there's a chance to merge this into main project?I'm sure some of the changes are going too far. We are open to revert them if there's an interest from maintainers to merge this PR :)
We are running this PR with our own tests on all basic architectures and we do not see any problems
happy to revert/change