arrow-py / arrow

🏹 Better dates & times for Python
https://arrow.readthedocs.io
Apache License 2.0
8.7k stars 673 forks source link

Require dateutil 2.8.2+ #1006

Closed jadchaar closed 3 years ago

jadchaar commented 3 years ago

Pull Request Checklist

Thank you for taking the time to improve Arrow! Before submitting your pull request, please check all appropriate boxes:

If you have any questions about your code changes or any of the points above, please submit your questions along with the pull request and we will try our best to help!

Description of Changes

Bump dateutil to 2.8.2+ to update tz database.

We gotta figure out which open issues this closes.

codecov[bot] commented 3 years ago

Codecov Report

Merging #1006 (6a50813) into master (c53113a) will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##            master     #1006   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines         2146      2146           
  Branches       337       337           
=========================================
  Hits          2146      2146           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update c53113a...6a50813. Read the comment docs.

pganssle commented 3 years ago

Why did you do this? Version 2.8.2 doesn't have any new features, there's no way that this library is compatible with 2.8.2 and not 2.8.0, at the very least.

Overly strict version specifications are a problem for the wider ecosystem, see, e.g. https://bernat.tech/posts/version-numbers/#version-conflicts. I think Hynek also gives some reasoning in this article.

jadchaar commented 3 years ago

Hey @pganssle, since this was the first patch to dateutil in 2 years, we thought it would be wise to require it as the bare minimum since it ships with the latest tz database. We thought locking it to 2.8.2+ would help reduce the amount of tz database bugs that get filed with arrow. Thoughts?