Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate from pendulum to arrow for dates #22

Merged
merged 2 commits into from
Jan 8, 2025
Merged

Conversation

pronovic
Copy link
Owner

@pronovic pronovic commented Jan 8, 2025

The latest implementation of pendulum is partially written in Rust. I've repeatedly had problems getting it to install properly as part of my Poetry development environment — especially when using Python 3.13 on Windows 10 and my M3 Macbook. Depending on the platform, there is apparently not always a binary wheel available, and then Poetry has to fall back on building one. That depends on a working Rust toolchain, which I typically don't have. I assume this might also be a problem for others who use smartapp-sdk as a dependency. Given the very minimal usage of pendulum in this codebase, I've decided to remove it in favor of arrow.

Note: This is unfortunately a breaking change, since dates are exposed on the interface for various public functions, methods, and instance variables. As a result, I bumped the version to v0.7.0. Because the previous major version was zero, we are subject to the SemVer exception, and it is legitimate to introduce breaking changes between 0.6.9 and 0.7.0. The old and new objects (arrow's Arrow and pendulum's DateTime) have quite similar interfaces, and most clients can probably upgrade with no problems.

@pronovic pronovic merged commit 548db2a into main Jan 8, 2025
15 of 16 checks passed
@pronovic pronovic deleted the convert-to-arrow branch January 8, 2025 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant