./time/py-dateutil, Extensions to the standard datetime module

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.8.1, Package name: py37-dateutil-2.8.1, Maintainer: pkgsrc-users

The `dateutil` module provides powerful extensions to the standard `datetime`
module, available in Python.


* Computing of relative deltas (next month, next year, next monday, last week
of month, etc);
* Computing of relative deltas between two given date and/or datetime objects;
* Computing of dates based on very flexible recurrence rules, using a superset
of the iCalendar specification. Parsing of RFC strings is supported as well.
* Generic parsing of dates in almost any string format;
* Timezone (tzinfo) implementations for tzfile(5) format files
(/etc/localtime, /usr/share/zoneinfo, etc), TZ environment string (in all
known formats), iCalendar format files, given ranges (with help from
relative deltas), local machine timezone, fixed offset timezone, UTC
timezone, and Windows registry-based time zones.
* Internal up-to-date world timezone information based on Olson's database.
* Computing of Easter Sunday dates for any given year, using Western, Orthodox
or Julian algorithms;
* More than 400 test cases.

Required to run:
[devel/py-setuptools] [lang/py-six] [lang/python37]

Required to build:
[pkgtools/cwrappers] [devel/py-setuptools_scm]

Master sites:

SHA1: bd26127e57f83a10f656b62c46524c15aeb844dd
RMD160: 8e14a1fac932b4062904a05c11da0d1ffb5a2bbb
Filesize: 323.97 KB

Version history: (Expand)

CVS history: (Expand)

   2019-11-06 21:49:22 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dateutil: updated to 2.8.1

Version 2.8.1:

Data updates
- Updated tzdata version to 2019c.

- Fixed a race condition in the ``tzoffset`` and ``tzstr`` "strong" \ 
caches on
  Python 2.7.
- Parsing errors will now raise ``ParserError``, a subclass of ``ValueError``,
  which has a nicer string representation.
- ``parser.parse`` will now raise ``TypeError`` when ``tzinfos`` is passed a
  type that cannot be interpreted as a time zone. Prior to this change, it
  would raise an ``UnboundLocalError`` instead.
- Changed error message raised when when passing a ``bytes`` object as the time
  zone name to gettz in Python 3.
- Changed compatibility logic to support a potential Python 4.0 release.
- Updated many modules to use ``tz.UTC`` in favor of ``tz.tzutc()`` internally,
  to avoid an unnecessary function call.
- Fixed issue where ``dateutil.tz`` was using a backported version of
  ``contextlib.nullcontext`` even in Python 3.7 due to a malformed import

- Switched from using assertWarns to using pytest.warns in the test suite.
- Fix typo in setup.cfg causing PendingDeprecationWarning to not be explicitly
  specified as an error in the warnings filter.
- Fixed issue where ``test_tzlocal_offset_equal`` would fail in certain
  environments (such as FreeBSD) due to an invalid assumption about what time
  zone names are provided.
- Fixed a minor bug in ``test_isoparser`` related to ``bytes``/``str``
- Explicitly listed all markers used in the pytest configuration.
- Extensive improvements to the parser test suite, including the adoption of
  ``pytest``-style tests and the addition of parametrization of several test
- Added tests for tzinfos input types.
- Fixed failure of test suite when changing the TZ variable is forbidden.
- Pinned all test dependencies on Python 3.3.

Documentation changes
- Fixed many misspellings, typos and styling errors in the comments and

- Added Python 3.8 to the trove classifiers.
- Moved as many keys from ``setup.py`` to ``setup.cfg`` as possible.
- Reorganized ``parser`` methods by functionality.
- Switched ``release.py`` over to using ``pep517.build`` for creating releases,
  rather than direct invocations of ``setup.py``.
- Added a "build" environment into the tox configuration, to handle \ 
  management when making releases.
   2019-02-06 11:07:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dateutil: updated to 2.8.0

Version 2.8.0 (2019-02-04)

Data updates
- Updated tzdata version to to 2018i.

- Added support for EXDATE parameters when parsing rrule strings.
- Added support for sub-minute time zone offsets in Python 3.6+.
- Switched the tzoffset, tzstr and gettz caches over to using weak
  references, so that the cache expires when no other references to the
  original tzinfo objects exist. This cache-expiry behavior is not
  guaranteed in the public interface and may change in the future. To improve
  performance in the case where transient references to the same time zones
  are repeatedly created but no strong reference is continuously held, a
  smaller "strong value" cache was also added.

- Added time zone inference when initializing an rrule with a specified
  UNTIL but without an explicitly specified DTSTART; the time zone
  of the generated DTSTART will now be taken from the UNTIL rule.
- Fixed an issue where parser.parse would raise Decimal-specific errors
  instead of a standard ValueError if certain malformed values were parsed
  (e.g. NaN or infinite values).
- Fixed issue in parser where a tzinfos call explicitly returning
  None would throw a ValueError.
- Fixed incorrect parsing of certain dates earlier than 100 AD when repesented
  in the form "%B.%Y.%d", e.g. "December.0031.30".
- Add support for ISO 8601 times with comma as the decimal separator in the
  dateutil.parser.isoparse function.
- Changed handling of T24:00 to be compliant with the standard. T24:00
  now represents midnight on the *following* day.
- Fixed an issue where isoparser.parse_isotime was unable to handle the
  24:00 variant representation of midnight.
- Added support for more than 6 fractional digits in isoparse.
- Added 'z' (lower case Z) as valid UTC time zone in isoparser.
- Fixed a bug with base offset changes during DST in tzfile, and refactored
  the way base offset changes are detected.
- Fixed error condition in tz.gettz when a non-ASCII timezone is passed on
  Windows in Python 2.7.
- Improved performance and inspection properties of tzname methods.
- Removed unnecessary binary_type compatibility shims.
- Changed python setup.py test to print an error to stderr and exit
  with 1 instead of 0.
- Added a pyproject.toml file with build requirements and an explicitly
  specified build backend.

Documentation changes
- Added documentation for the rrule.rrulestr function.
- Added documentation for dateutil.tz.gettz.
- Add documentation for the dateutil.tz.win module and mocked out certain
  Windows-specific modules so that autodoc can still be run on non-Windows
- Added changelog to documentation.
- Changed order of keywords in the rrule docstring.
- Improved documentation on the use of until and count parameters in
- Added an example of how to use a custom parserinfo subclass to parse
  non-standard datetime formats in the examples documentation for parser.
- Added doctest examples to tzfile documentation.
- Updated the documentation for relativedelta's weekday arguments.
- Improved explanation of the order that relativedelta components are
  applied in.
- Expanded the description and examples in the relativedelta class.
- Improved the contributing documentation to clarify where to put new changelog
- Fixed a broken doctest in the relativedelta module.
- Changed the default theme to sphinx_rtd_theme, and changed the sphinx
  configuration accordingly.
- Reorganized dateutil.tz documentation and fixed issue with the
  dateutil.tz docstring.
- Cleaned up malformed RST in the tz documentation.
- Corrected link syntax and updated URL to https for ISO year week number
  notation in relativedelta examples.
   2018-10-29 12:10:07 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dateutil: updated to 2.7.5

Version 2.7.5:

Data updates
- Update tzdata to 2018g
   2018-10-26 10:06:11 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dateutil: updated to 2.7.4

Version 2.7.4:

Data updates
- Updated tzdata version to 2018f.
   2018-05-14 10:10:37 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dateutil: updated to 2.7.3

Version 2.7.3:

Data updates
- Update tzdata to 2018e.

- Fixed an issue where decimal.Decimal would cast NaN or infinite value in a
  parser.parse, which will raise decimal.Decimal-specific errors.
- Fixed a ValueError being thrown if tzinfos call explicity returns None.
- Fixed incorrect parsing of certain dates earlier than 100 AD when repesented
  in the form "%B.%Y.%d", e.g. "December.0031.30".
- Fixed a bug where automatically generated DTSTART was naive even if a
  specified UNTIL had a time zone. Automatically generated DTSTART will now
  take on the timezone of an UNTIL date, if provided.
   2018-04-02 15:27:23 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-dateutil: updated to 2.7.2

Version 2.7.2:

- Fixed an issue with the setup script running in non-UTF-8 environment.
   2018-03-15 08:16:48 by Jonathan Perkin | Files touched by this commit (1)
Log message:
py-dateutil: Fix BUILD_DEPENDS.
   2018-03-13 12:07:20 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-dateutil: updated to 2.7.0

Version 2.7.0
- Dropped support for Python 2.6
- Dropped support for Python 3.2
- Updated zoneinfo file to 2018c
- Changed licensing scheme so all new contributions are dual licensed under
  Apache 2.0 and BSD.
- Added __all__ variable to the root package
- Added python_requires to setup.py so that pip will distribute the right
  version of dateutil.
- Added the utils submodule, for miscellaneous utilities.
- Added within_delta function to utils
- Added today function to utils
- Added default_tzinfo function to utils
- Added dedicated ISO 8601 parsing function isoparse
- Moved parser module into parser/_parser.py and officially deprecated the use
  of several private functions and classes from that module.
- Tweaked parser error message to include rejected string format
- Add support for parsing bytesarray
- Started raising a warning when the parser finds a timezone string that it
  cannot construct a tzinfo instance for (rather than succeeding with no
  indication of an error).
- Dropped the use of assert in the parser.
- Fixed to assertion logic in parser to support dates like '2015-15-May'
- Fixed IndexError in parser on dates with trailing colons
- Fixed bug where hours were not validated, leading to improper parse.
- Fixed problem parsing strings in %b-%Y-%d format.
- Fixed problem parsing strings in the %d%B%y format.
- Fixed problem parsing certain unambiguous strings when year <99
- Fixed issue with parsing an unambiguous string representation of an ambiguous
  datetime such that if possible the correct value for fold is set.
- Fixed issue with improper rounding of fractional components.
- Performance improvement to parser from removing certain min() calls.
- Significantly refactored parser code
- Implementated of __hash__ for relativedelta and weekday
- Implemented __abs__ for relativedelta.
- Fixed relativedelta.weeks property getter and setter to work for both
  negative and positive values.
- Fixed issue where passing whole number floats to the months or years
  arguments of the relativedelta constructor would lead to errors during
- Added a pre-built tz.UTC object representing UTC
- Added a cache to tz.gettz so that by default it will return the same object
  for identical inputs. This will change the semantics of certain operations
  between datetimes constructed with tzinfo=tz.gettz(...).
- Changed the behavior of tz.tzutc to return a singleton
- Changed the behavior of tz.tzoffset to return the same object when passed the
  same inputs, with a corresponding performance improvement
- Changed the behavior of tz.tzstr to return the same object when passed the
  same inputs.
- Added .instance alternate constructors for tz.tzoffset and tz.tzstr, to
  allow the construction of a new instance if desired.
- Added the tz.gettz.nocache function to allow explicit retrieval of a new
  instance of the relevant tzinfo.
- Expand definition of tz.tzlocal equality so that the local zone is allow
  equality with tzoffset and tzutc.
- Deprecated the idiosyncratic tzstr format mentioned in several examples but
  evidently designed exclusively for dateutil, and very likely not used by
  any current users.
- Added the tz.resolve_imaginary function, which generates a real date from
  an imaginary one, if necessary.
- Fixed issue where the tz.tzstr constructor would erroneously succeed if
  passed an invalid value for tzstr.
- Fixed issue with tz.gettz for TZ variables that start with a colon.
- Added a lock to tz.tzical's cache.
- Fixed an issue with fold support on certain Python 3 implementations that
  used the pre-3.6 pure Python implementation of datetime.replace, most
  notably pypy3
- Added support for VALUE=DATE-TIME for DTSTART in rrulestr.
- Started enforcing that within VTIMEZONE, the VALUE parameter can only be
  omitted or DATE-TIME, per RFC 5545.
- Added support for TZID parameter for DTSTART in rrulestr.
- Added 'RRULE:' prefix to rrule strings generated by rrule.__str__, in
  compliance with the RFC.
- Switched to setuptools_scm for version management, automatically calculating
  a version number from the git metadata.
- Switched setup.py to use find_packages, and started testing against pip
  installed versions of dateutil in CI. Fixed issue with parser import
- Switched test suite to using pytest
- Switched CI over to use tox.
- Added a test-only dependency on freezegun.
- Reduced number of CI builds on Appveyor.
- Made xfails strict by default, so that an xpass is a failure.
- Added a documentation generation stage to tox and CI.
- Added an explicit warning when running python setup.py explaining how to run
  the test suites with pytest.
- Added requirements-dev.txt for test dependency management
- Fixed code coverage metrics to account for Windows builds
- Fixed code coverage metrics to NOT count xfails.
- Style improvement to zoneinfo.tzfile that was confusing to static type
- Several unused imports were removed
- Switched isinstance(*, collections.Callable) to callable, which is available
  on all supported Python versions.
- Added AUTHORS.md
- Corrected setup.py metadata to reflect author vs. maintainer
- Corrected README to reflect that tests are now run in pytest.
- Updated all references to RFC 2445 (iCalendar) to point to RFC 5545.
- Corrected parse documentation to reflect proper integer offset units,
- Fixed dangling parenthesis in tzoffset documentation
- Started including the license file in wheels.
- Indendation fixes to parser docstring
- Moved many examples from the "examples" documentation into their \ 
  module documentation pages.
- Fixed documentation so that the parser.isoparse documentation displays.
- Refactored build and release sections and added setup instructions to
- Cleaned up various dead links in the documentation.