arrow-py/arrow (arrow)
### [`v1.3.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#130-2023-09-30)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.2.3...1.3.0)
- \[ADDED] Added official support for Python 3.11 and 3.12.
- \[ADDED] Added dependency on `types-python-dateutil` to improve Arrow mypy compatibility. `PR #1102 `\_
- \[FIX] Updates to Italian, Romansh, Hungarian, Finish and Arabic locales.
- \[FIX] Handling parsing of UTC prefix in timezone strings.
- \[CHANGED] Update documentation to improve readability.
- \[CHANGED] Dropped support for Python 3.6 and 3.7, which are end-of-life.
- \[INTERNAL] Migrate from `setup.py`/Twine to `pyproject.toml`/Flit for packaging and distribution.
- \[INTERNAL] Adopt `.readthedocs.yaml` configuration file for continued ReadTheDocs support.
### [`v1.2.3`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#123-2022-06-25)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.2.2...1.2.3)
- \[NEW] Added Amharic, Armenian, Georgian, Laotian and Uzbek locales.
- \[FIX] Updated Danish locale and associated tests.
- \[INTERNAL] Small fixes to CI.
### [`v1.2.2`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#122-2022-01-19)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.2.1...1.2.2)
- \[NEW] Added Kazakh locale.
- \[FIX] The Belarusian, Bulgarian, Czech, Macedonian, Polish, Russian, Slovak and Ukrainian locales now support `dehumanize`.
- \[FIX] Minor bug fixes and improvements to ChineseCN, Indonesian, Norwegian, and Russian locales.
- \[FIX] Expanded testing for multiple locales.
- \[INTERNAL] Started using `xelatex` for pdf generation in documentation.
- \[INTERNAL] Split requirements file into `requirements.txt`, `requirements-docs.txt` and `requirements-tests.txt`.
- \[INTERNAL] Added `flake8-annotations` package for type linting in `pre-commit`.
### [`v1.2.1`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#121-2021-10-24)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.2.0...1.2.1)
- \[NEW] Added quarter granularity to humanize, for example:
.. code-block:: python
>>> import arrow
>>> now = arrow.now()
>>> four_month_shift = now.shift(months=4)
>>> now.humanize(four_month_shift, granularity="quarter")
'a quarter ago'
>>> four_month_shift.humanize(now, granularity="quarter")
'in a quarter'
>>> thirteen_month_shift = now.shift(months=13)
>>> thirteen_month_shift.humanize(now, granularity="quarter")
'in 4 quarters'
>>> now.humanize(thirteen_month_shift, granularity="quarter")
'4 quarters ago'
- \[NEW] Added Sinhala and Urdu locales.
- \[NEW] Added official support for Python 3.10.
- \[CHANGED] Updated Azerbaijani, Hebrew, and Serbian locales and added tests.
- \[CHANGED] Passing an empty granularity list to `humanize` now raises a `ValueError`.
### [`v1.2.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#120-2021-09-12)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.1.1...1.2.0)
- \[NEW] Added Albanian, Tamil and Zulu locales.
- \[NEW] Added support for `Decimal` as input to `arrow.get()`.
- \[FIX] The Estonian, Finnish, Nepali and Zulu locales now support `dehumanize`.
- \[FIX] Improved validation checks when using parser tokens `A` and `hh`.
- \[FIX] Minor bug fixes to Catalan, Cantonese, Greek and Nepali locales.
### [`v1.1.1`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#111-2021-06-24)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.1.0...1.1.1)
- \[NEW] Added Odia, Maltese, Serbian, Sami, and Luxembourgish locales.
- \[FIXED] All calls to `arrow.get()` should now properly pass the `tzinfo` argument to the Arrow constructor. See PR `#968 `\_ for more info.
- \[FIXED] Humanize output is now properly truncated when a locale class overrides `_format_timeframe()`.
- \[CHANGED] Renamed `requirements.txt` to `requirements-dev.txt` to prevent confusion with the dependencies in `setup.py`.
- \[CHANGED] Updated Turkish locale and added tests.
### [`v1.1.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#110-2021-04-26)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.0.3...1.1.0)
- \[NEW] Implemented the `dehumanize` method for `Arrow` objects. This takes human readable input and uses it to perform relative time shifts, for example:
.. code-block:: python
>>> arw
>>> arw.dehumanize("8 hours ago")
>>> arw.dehumanize("in 4 days")
>>> arw.dehumanize("in an hour 34 minutes 10 seconds")
>>> arw.dehumanize("hace 2 años", locale="es")
- \[NEW] Made the start of the week adjustable when using `span("week")`, for example:
.. code-block:: python
>>> arw
>>> arw.isoweekday()
1 # Monday
>>> arw.span("week")
(, )
>>> arw.span("week", week_start=4)
(, )
- \[NEW] Added Croatian, Latin, Latvian, Lithuanian and Malay locales.
- \[FIX] Internally standardize locales and improve locale validation. Locales should now use the ISO notation of a dash (`"en-gb"`) rather than an underscore (`"en_gb"`) however this change is backward compatible.
- \[FIX] Correct type checking for internal locale mapping by using `_init_subclass`. This now allows subclassing of locales, for example:
.. code-block:: python
>>> from arrow.locales import EnglishLocale
>>> class Klingon(EnglishLocale):
... names = ["tlh"]
...
>>> from arrow import locales
>>> locales.get_locale("tlh")
<__main__.Klingon object at 0x7f7cd1effd30>
- \[FIX] Correct type checking for `arrow.get(2021, 3, 9)` construction.
- \[FIX] Audited all docstrings for style, typos and outdated info.
### [`v1.0.3`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#103-2021-03-05)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.0.2...1.0.3)
- \[FIX] Updated internals to avoid issues when running `mypy --strict`.
- \[FIX] Corrections to Swedish locale.
- \[INTERNAL] Lowered required coverage limit until `humanize` month tests are fixed.
### [`v1.0.2`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#102-2021-02-28)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.0.1...1.0.2)
- \[FIXED] Fixed an `OverflowError` that could occur when running Arrow on a 32-bit OS.
### [`v1.0.1`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#101-2021-02-27)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.0.0...1.0.1)
- \[FIXED] A `py.typed` file is now bundled with the Arrow package to conform to PEP 561.
### [`v1.0.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#100-2021-02-26)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/0.17.0...1.0.0)
After 8 years we're pleased to announce Arrow v1.0. Thanks to the entire Python community for helping make Arrow the amazing package it is today!
- \[CHANGE] Arrow has **dropped support** for Python 2.7 and 3.5.
- \[CHANGE] There are multiple **breaking changes** with this release, please see the `migration guide `\_ for a complete overview.
- \[CHANGE] Arrow is now following `semantic versioning `\_.
- \[CHANGE] Made `humanize` granularity="auto" limits more accurate to reduce strange results.
- \[NEW] Added support for Python 3.9.
- \[NEW] Added a new keyword argument "exact" to `span`, `span_range` and `interval` methods. This makes timespans begin at the start time given and not extend beyond the end time given, for example:
.. code-block:: python
>>> start = Arrow(2021, 2, 5, 12, 30)
>>> end = Arrow(2021, 2, 5, 17, 15)
>>> for r in arrow.Arrow.span_range('hour', start, end, exact=True):
... print(r)
...
(, )
(, )
(, )
(, )
(, )
- \[NEW] Arrow now natively supports PEP 484-style type annotations.
- \[FIX] Fixed handling of maximum permitted timestamp on Windows systems.
- \[FIX] Corrections to French, German, Japanese and Norwegian locales.
- \[INTERNAL] Raise more appropriate errors when string parsing fails to match.
### [`v0.17.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#0170-2020-10-2)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/0.16.0...0.17.0)
- \[WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. This is the last major release to support Python 2.7 and Python 3.5.
- \[NEW] Arrow now properly handles imaginary datetimes during DST shifts. For example:
.. code-block:: python
>>> just_before = arrow.get(2013, 3, 31, 1, 55, tzinfo="Europe/Paris")
>>> just_before.shift(minutes=+10)
.. code-block:: python
>>> before = arrow.get("2018-03-10 23:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
>>> after = arrow.get("2018-03-11 04:00:00", "YYYY-MM-DD HH:mm:ss", tzinfo="US/Pacific")
>>> result=[(t, t.to("utc")) for t in arrow.Arrow.range("hour", before, after)]
>>> for r in result:
... print(r)
...
(, )
(, )
(, )
(, )
(, )
- \[NEW] Added `humanize` week granularity translation for Tagalog.
- \[CHANGE] Calls to the `timestamp` property now emit a `DeprecationWarning`. In a future release, `timestamp` will be changed to a method to align with Python's datetime module. If you would like to continue using the property, please change your code to use the `int_timestamp` or `float_timestamp` properties instead.
- \[CHANGE] Expanded and improved Catalan locale.
- \[FIX] Fixed a bug that caused `Arrow.range()` to incorrectly cut off ranges in certain scenarios when using month, quarter, or year endings.
- \[FIX] Fixed a bug that caused day of week token parsing to be case sensitive.
- \[INTERNAL] A number of functions were reordered in arrow.py for better organization and grouping of related methods. This change will have no impact on usage.
- \[INTERNAL] A minimum tox version is now enforced for compatibility reasons. Contributors must use tox >3.18.0 going forward.
### [`v0.16.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#0160-2020-08-23)
[Compare Source](https://redirect.github.com/arrow-py/arrow/compare/0.15.8...0.16.0)
- \[WARN] Arrow will **drop support** for Python 2.7 and 3.5 in the upcoming 1.0.0 release. The 0.16.x and 0.17.x releases are the last to support Python 2.7 and 3.5.
- \[NEW] Implemented `PEP 495 `\_ to handle ambiguous datetimes. This is achieved by the addition of the `fold` attribute for Arrow objects. For example:
.. code-block:: python
>>> before = Arrow(2017, 10, 29, 2, 0, tzinfo='Europe/Stockholm')
>>> before.fold
0
>>> before.ambiguous
True
>>> after = Arrow(2017, 10, 29, 2, 0, tzinfo='Europe/Stockholm', fold=1)
>>> after = before.replace(fold=1)
- \[NEW] Added `normalize_whitespace` flag to `arrow.get`. This is useful for parsing log files and/or any files that may contain inconsistent spacing. For example:
.. code-block:: python
>>> arrow.get("Jun 1 2005 1:33PM", "MMM D YYYY H:mmA", normalize_whitespace=True)
>>> arrow.get("2013-036 \t 04:05:06Z", normalize_whitespace=True)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
==0.15.8
->==1.3.0
Release Notes
arrow-py/arrow (arrow)
### [`v1.3.0`](https://redirect.github.com/arrow-py/arrow/blob/HEAD/CHANGELOG.rst#130-2023-09-30) [Compare Source](https://redirect.github.com/arrow-py/arrow/compare/1.2.3...1.3.0) - \[ADDED] Added official support for Python 3.11 and 3.12. - \[ADDED] Added dependency on `types-python-dateutil` to improve Arrow mypy compatibility. `PR #1102Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.