Uh oh!
There was an error while loading. Please reload this page.
Enables python 3.13 - #871
Conversation
Enables py 3.13
…hon-pendulum-master
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
rudolfix
commented
Jan 14, 2025
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. |
Secrus
commented
Jan 18, 2025
We have merged some updates to Poetry and CI setup. @rudolfix could you rebase the changes? |
rudolfix
commented
Jan 20, 2025
@Secrus also we added |
Secrus
commented
Jan 31, 2025
@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. |
rudolfix
commented
Feb 3, 2025
@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 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| 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
ramwin
commented
Feb 17, 2025
Can we just provide a pure python version without using rust? |
potiuk
commented
Feb 20, 2025
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. |
Secrus
commented
Feb 20, 2025
@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. |
potiuk
commented
Feb 20, 2025
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? |
Secrus
commented
Feb 21, 2025
@potiuk, if you have such a possibility, verifying that everything works as intended would be helpful. Thank you in advance |
potiuk
commented
Feb 21, 2025
Yep - I will do some testing this weekend and come back to you :) |
rudolfix
commented
Feb 25, 2025
68b925d to
4f0976cCompare4f0976c to
4e513e5CompareCodSpeed Performance ReportMerging #871 will not alter performanceComparing Summary
|
rudolfix
commented
Feb 25, 2025
@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:
|
potiuk
commented
Feb 26, 2025
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 :) |
potiuk
commented
Feb 26, 2025
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. |
rudolfix
commented
Mar 23, 2025
@Secrus is there anything that could help you merge this? |
Secrus
commented
Mar 26, 2025
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. |
rudolfix
commented
Mar 26, 2025
you should move to south pole then :) |
Uh oh!
There was an error while loading. Please reload this page.
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