Up to [cvs.NetBSD.org] / pkgsrc / time / py-aniso8601
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
py-aniso8601: updated to 10.0.1 10.0.1 Unknown changes
py-aniso8601: updated to 10.0.0 10.0.0 Reduced accuracy representations of years when parsing a calendar date are now only allowed to be [YY] (see 31) No longer specify a Python interpreter version to Black Cleanup unsupported Pylint configuration options Fix used-before-assignment errors Fix coverage issue caused by unreachable conditional in _parse_interval_end
time: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes
time: Remove SHA1 hashes for distfiles
py-aniso8601: updated to 9.0.1 aniso8601 9.0.1 =============== Added ----- * Development requirements handled by :code:`extras_require` (install with :code:`pip install -e .[dev]`) * Pre-commit hooks, managed with `pre-commit <https://pre-commit.com/>`_ (install with :code:`pre-commit install`) * Add :code:`readthedocs.yaml` to make configuration explicit Changed ------- * Code formatted with `Black <https://black.readthedocs.io/en/stable/index.html>`_ * Imports sorted with `isort <https://pycqa.github.io/isort/>`_ * Following `Keep a Changelog <https://keepachangelog.com/en/1.0.0/>`_ for this and future CHANGELOG entries * Removed python-dateutil from :code:`BuildRequires` in specfile as they are no longer required since calendar level duration building was split to a separate project (6.0.0) * Heading level of top of CHANGELOG Fixed ----- * Parsing prescribed durations with only hour and second time components (see `PR 14 <https://bitbucket.org/nielsenb/aniso8601/pull-requests/14>`_) * Parsing prescribed durations with only year and day components aniso8601 9.0.0 =============== Changes ------- * Add support for concise interval format (see `27 <https://bitbucket.org/nielsenb/aniso8601/issues/27/support-for-short-syntax-for-intervals>`_) * Add explicit bounds of [000, 366] to day of year component :code:`_parse_ordinal_date`, this adds the same limits to dates of the format YYYYDDD or YYYY-DDD when using :code:`parse_date` * Add :code:`range_check_date`, :code:`range_check_time`, :code:`range_check_duration`, :code:`range_check_repeating_interval`, and :code:`range_check_timezone` range checking class methods to :code:`BaseTimeBuilder` there are no datetime or non-repeating interval check function as they are made of already checked parts * :code:`PythonTimeBuilder` now calls the appropriate range check functions using the :code:`range_check_date`, :code:`range_check_time`, :code:`range_check_duration`, :code:`range_check_repeating_interval`, and :code:`range_check_timezone` methods defined in :code:`aniso8601.builders` * Add :code:`range_check_duration` to :code:`PythonTimeBuilder` which calls :code:`BaseTimeBuilder.range_check_duration` and performs additional checks against maximum timedelta size * Add :code:`range_check_interval` to :code:`PythonTimeBuilder` which handles building concise dates and performs additional checks against maximum timedelta size * Add :code:`get_datetime_resolution` which behaves like :code:`get_time_resolution` but accepts a ISO 8601 date time as an argument, return value is a :code:`TimeResolution` * Add :code:`exceptions.RangeCheckError` as a parent type of all failures in the range check methods, it descends from :code:`ValueError` * Add :code:`get_duration_resolution` which behaves like other resolution helpers, return value is a :code:`DurationResolution` * Add :code:`get_interval_resolution` which behaves like other resolution helpers, return value is a :code:`IntervalResolution` * Negative durations now fail at the parse step and simply raise :code:`ISOFormatError`, calling a :code:`PythonTimeBuilder.build_duration` directly with a negative duration component will yield an :code:`ISOFormatError` in the range check * Raise :code:`DayOutOfBoundsError` if calendar day exceeds number of days in calendar month * Raise :code:`DayOutOfBoundsError` if ordinal day exceeds number of days in calendar year (366 now raises :code:`DayOutOfBoundsError` in non-leap year) * Raise :code:`ISOFormatError` when date or time string contains extra whitespace * Raise :code:`ISOFormatError` on multiple fraction separators (comma, full-stop) in a time string * Raise :code:`ISOFormatError` when duration contains multiple duration designators ("P"), or time designators ("T") * :code:`PythonTimeBuilder.build_duration` raises :code:`YearOutOfBoundsError`, :code:`MonthOutOfBoundsError`, :code:`WeekOutOfBoundsError`, :code:`HoursOutOfBoundsError`, :code:`MinutesOutOfBoundsError`, or :code:`SecondsOutOfBoundsError` when a given duration component would result in a :code:`timedelta` that would exceed the maximum size * Raise :code:`ISOFormatError` if number of delimiters is not exactly 1 in :code:`parse_interval` * Raise :code:`ISOFormatError` when either part of an interval string before of after the delimiter is empty * Raise :code:`YearOutOfBoundsError` in :code:`PythonTimeBuilder.build_interval` if an interval with a duration would exceed the maximum or minimum years for Python date objects * Simplify :code:`parse_date`, :code:`build_date` will now be called with explicit :code:`None` arguments instead of date components not in the parsed string excluded from the call * Change :code:`get_date_resolution` to call :code:`parse_date` and return the resolution based on the smallest parsed component * Simplify :code:`parse_time`, :code:`build_time` will now be called with explicit :code:`None` arguments instead of date components not in the parsed string excluded from the call * Change :code:`get_time_resolution` to call :code:`parse_time` and return the resolution based on the smallest parsed component * :code:`TupleBuilder` now builds :code:`DateTuple`, :code:`TimeTuple`, :code:`DatetimeTuple`, :code:`DurationTuple`, :code:`IntervalTuple`, :code:`RepeatingIntervalTuple` and :code:`TimezoneTuple` namedtuples * Simplify :code:`parse_duration`, :code:`build_duration` will now be called with explicit :code:`None` arguments when components of a prescribed duration are not present in the ISO 8601 duration string instead of being excluded from the call * Remove unused :code:`decimalfraction.find_separator` * Remove unused :code:`PythonTimeBuilder._split_to_microseconds` * Removed :code:`NegativeDurationError` Deprecation ----------- * **Update on Python 2 support**: Python 2 support was slated to be removed in 7.0.0 but was not, it will remain until a test fails on Python 2 but not Python 3 * Using Setuptools to run tests (:code:`python setup.py tests`) will be removed in the next major or minor version (either 9.1.0, 10.0.0)
py-aniso8601: updated to 8.1.1 Changes 8.1.1: Deprecate running tests with python setup.py tests as the test suite support in Setuptools is deprecated Add version to __init__.py Cleaner reading of README.rst into the long_description field of setup.py Define long_description_content_type as text/x-rst Simplify Sphinx configuration Add compat.is_string method, returns True for str, unicode types, False otherwise
py-aniso8601: updated to 8.1.0 aniso8601 8.1.0 Empty string arguments to get_date_resolution and parse_date now raise ISOFormatError, fixes 26 None and non-string arguments to get_date_resolution and parse_date now raise ValueError Empty string arguments to parse_duration now raise ISOFormatError None and non-string arguments to parse_duration now raise ValueError Empty string arguments to parse_interval and parse_repeating_interval now raise ISOFormatError None and non-string arguments to parse_interval and parse_repeating_internval now raise ValueError Empty string arguments to get_time_resolution and parse_time now raise ISOFormatError None and non-string arguments to parse_time now raise ValueError None and non-string arguments to parse_timezone now raise ValueError Empty string arguments to parse_datetime now raise ISOFormatError None and non-string arguments to parse_datetime now raise ValueError Missing delimiter in datetime strings when calling parse_datetime now raises ISOFormatError Missing delimiter in regular and repeating interval strings when calling parse_interval and parse_repeating_interval now raises ISOFormatError get_time_resolution now correctly throws ISOFormatError when a time component has too many characters in a time using ":" as a separator
py-aniso8601: updated to 8.0.0 Changes 8.0.0: Handle ',' character as a fractional separator, as required by 4.2.2.4 Fix semver usage for prelease version, as required by clause 9
py-aniso8601: updated to 7.0.0 Changes 7.0.0 Handle all fractional components as an integer number of microseconds, eliminating rounding issues
py-aniso8601: updated to 6.0.0 aniso8601 6.0.0 Remove previously deprecated built in version of relativetimebuilder Python 2 support will be removed in 7.0.0 aniso8601 5.0.0 Previously deprecated relative keyword removed Move builders to builders module aniso8601.builder.PythonTimeBuilder -> aniso8601.builders.python.PythonTimeBuilder aniso8601.builder.RelativeTimeBuilder -> aniso8601.builders.relative.RelativeTimeBuilder aniso8601.builder.TupleBuilder -> aniso8601.builders.TupleBuilder UTCOffset moved out of builder (aniso8601.builder.UTCOffset -> aniso8601.utcoffset.UTCOffset) Fractional arguments are now handled with greater precision When build_time is called with only hh 24<=hh<25, a MidnightBoundsError is raised, this used to be a HoursOutOfBoundsError Promote interval components to datetime objects if the given duration has second or microsecond resolution, or if the duration tuple has hour, minute, or second components Before promotion would only happen if the duration tuple had hour, minute, or second components The built in RelativeTimeBuilder is deprecated, it will be removed in aniso8601 6.0.0, use RelativeTimeBuilder from relativetimebuilder instead
py-aniso8601: updated to 4.1.0 4.1.0: Unknown changes.
py-aniso8601: added version 4.0.1 Library for parsing ISO 8601 strings Features * Pure Python implementation * Python 3 support * Logical behavior - Parse a time, get a datetime.time - Parse a date, get a datetime.date - Parse a datetime, get a datetime.datetime - Parse a duration, get a datetime.timedelta - Parse an interval, get a tuple of dates or datetimes - Parse a repeating interval, get a date or datetime generator * UTC offset represented as fixed-offset tzinfo * Parser separate from representation, allowing parsing to different datetime formats * No regular expressions