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

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

Branch: CURRENT, Version: 2.7.3, Package name: py27-dateutil-2.7.3, 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/python27] [lang/py-six]

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

Master sites:

SHA1: b1aeb913996fc6660ea42a7b31b1331d41a8a13c
RMD160: 1e5686291037033d17519cabf138cfcfdf507d5f
Filesize: 295.772 KB

Version history: (Expand)

CVS history: (Expand)

   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.
   2017-09-04 20:01:05 by Thomas Klausner | Files touched by this commit (192)
Log message:
Comment out dead sites.
   2017-07-11 08:10:37 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
Version 2.6.1
- Updated zoneinfo file to 2017b.
- Added Python 3.6 to CI testing
- Removed duplicate test name that was preventing a test from being run.
- Fixed testing of folds and gaps, particularly on Windows
- Fixed deprecated escape characters in regular expressions.
- Many PEP8 style violations and other code smells were fixed.
- Improved performance of tzutc and tzoffset objects.
- Fixed issue with several time zone classes around DST transitions in any
  zones with +0 standard offset (e.g. Europe/London)
- Fixed issue with fuzzy parsing where tokens similar to AM/PM that are in the
  end skipped were dropped in the fuzzy_with_tokens list.
- Fixed issue with parsing dates of the form X m YY.
- Added support for parser weekdays with less than 3 characters.
- Fixed issue with the addition and subtraction of certain relativedeltas.
- Fixed issue where the COUNT parameter of rrules was ignored if 0.
- Updated documentation to include the new tz methods.
- Update documentation to reflect that the parser can raise TypeError.
- Fixed an incorrect year in a parser doctest.
- Moved version information into _version.py and set up the versions more
   2017-05-04 21:45:57 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Version 2.6.0:

* Added PEP-495-compatible methods to address ambiguous and imaginary dates in
time zones in a backwards-compatible way. Ambiguous dates and times can now
be safely represented by all dateutil time zones.

* Added new methods for working with ambiguous and imaginary dates to the tz
module. datetime_ambiguous() determines if a datetime is ambiguous for a given
zone and datetime_exists() determines if a datetime exists in a given zone.
This works for all fold-aware datetimes, not just those provided by dateutil.

* Fixed an issue where dst() in Portugal in 1996 was returning the wrong value
in tz.tzfile objects

* Fixed an issue where zoneinfo.ZoneInfoFile errors were not being properly

* Refactored tzwin and tzrange as a subclass of a common class, tzrangebase, as
there was substantial overlapping functionality. As part of this change,
tzrange and tzstr now expose a transitions() function, which returns the
DST on and off transitions for a given year.

* Deprecated zoneinfo.gettz() due to confusion with tz.gettz(), in favor of
get() method of zoneinfo.ZoneInfoFile objects.

* For non-character, non-stream arguments, parser.parse now raises TypeError
instead of AttributeError.

* Fixed an issue where tzfile objects were not properly handling dst() and
tzname() when attached to datetime.time objects.

* /usr/share/lib/zoneinfo was added to TZPATHS for compatibility with Solaris

* tzoffset and tzrange objects now accept either a number of seconds or a
datetime.timedelta() object wherever previously only a number of seconds was

* datetime.timedelta objects can now be added to relativedelta objects.

* Refactored relativedelta.weekday and rrule.weekday into a common base class
to reduce code duplication.
   2016-08-17 17:39:02 by Richard PALO | Files touched by this commit (3) | Package updated
Log message:
update to python-dateutil-2.5.3

Version 2.5.3
- Updated zoneinfo to 2016d
- Fixed parser bug where unambiguous datetimes fail to parse when dayfirst is
  set to true. (gh issue #233, pr #234)
- Bug in zoneinfo file on platforms such as Google App Engine which do not
  do not allow importing of subprocess.check_call was reported and fixed by
  @savraj (gh issue #239, gh pr #240)
- Fixed incorrect version in documentation (gh issue #235, pr #243)

Version 2.5.2
- Updated zoneinfo to 2016c
- Fixed parser bug where yearfirst and dayfirst parameters were not being
  respected when no separator was present. (gh issue #81 and #217, pr #229)

Version 2.5.1
- Updated zoneinfo to 2016b
- Changed MANIFEST.in to explicitly include test suite in source distributions,
  with help from @koobs (gh issue #193, pr #194, #201, #221)
- Explicitly set all line-endings to LF, except for the NEWS file, on a
  per-repository basis (gh pr #218)
- Fixed an issue with improper caching behavior in rruleset objects (gh issue
  #104, pr #207)
- Changed to an explicit error when rrulestr strings contain a missing BYDAY
  (gh issue #162, pr #211)
- tzfile now correctly handles files containing leapcnt (although the leapcnt
  information is not actually used). Contributed by @hjoukl (gh issue #146, pr
- Fixed recursive import issue with tz module (gh pr #204)
- Added compatibility between tzwin objects and datetime.time objects (gh issue
  #216, gh pr #219)
- Refactored monolithic test suite by module (gh issue #61, pr #200 and #206)
- Improved test coverage in the relativedelta module (gh pr #215)
- Adjusted documentation to reflect possibly counter-intuitive properties of
  RFC-5545-compliant rrules, and other documentation improvements in the rrule
  module (gh issue #105, gh issue #149 - pointer to the solution by @phep,
  pr #213).

Version 2.5.0
- Updated zoneinfo to 2016a
- zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py
  script will work with older zoneinfo_metadata.json files, but new metadata
  files will not work with older updatezinfo.py versions. Additionally, we have
  started hosting our own mirror of the Olson databases on a github pages
  site (https://dateutil.github.io/tzdata/) (gh pr #183)
- dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used
  to generate them. (gh issue #27, gh pr #85)
- relativedelta can now be safely subclassed without derived objects reverting
  to base relativedelta objects as a result of arithmetic operations.
  (lp:1010199, gh issue #44, pr #49)
- relativedelta 'weeks' parameter can now be set and retrieved as a property of
  relativedelta instances. (lp: 727525, gh issue #45, pr #49)
- relativedelta now explicitly supports fractional relative weeks, days, hours,
  minutes and seconds. Fractional values in absolute parameters (year, day, etc)
  are now deprecated. (gh issue #40, pr #190)
- relativedelta objects previously did not use microseconds to determine of two
  relativedelta objects were equal. This oversight has been corrected.
  Contributed by @elprans (gh pr #113)
- rrule now has an xafter() method for retrieving multiple recurrences after a
  specified date. (gh pr #38)
- str(rrule) now returns an RFC2445-compliant rrule string, contributed by
  @schinckel and @armicron (lp:1406305, gh issue #47, prs #50, #62 and #160)
- rrule performance under certain conditions has been significantly improved
  thanks to a patch contributed by @dekoza, based on an article by Brian Beck
  (@exogen) (gh pr #136)
- The use of both the 'until' and 'count' parameters is now deprecated as
  inconsistent with RFC2445 (gh pr #62, #185)
- Parsing an empty string will now raise a ValueError, rather than returning the
  datetime passed to the 'default' parameter. (gh issue #78, pr #187)
- tzwinlocal objects now have a meaningful repr() and str() implementation
  (gh issue #148, prs #184 and #186)
- Added equality logic for tzwin and tzwinlocal objects. (gh issue #151,
  pr #180, #184)
- Added some flexibility in subclassing timelex, and switched the default
  behavior over to using string methods rather than comparing against a fixed
  list. (gh pr #122, #139)
- An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576,
  gh issue #51, pr #55)
- An issue with string encoding causing exceptions under certain circumstances
  when tzname() is called was fixed. (gh issue #60, #74, pr #75)
- Parser issue where calling parse() on dates with no day specified when the
  day of the month in the default datetime (which is "today" if \ 
unspecified) is
  greater than the number of days in the parsed month was fixed (this issue
  tended to crop up between the 29th and 31st of the month, for obvious reasons)
  (canonical gh issue #25, pr #30, #191)
- Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception
  in certain circumstances. Contributed by @MichaelAquilina (gh pr #91)
- Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed
  by @Bachmann1234 (gh pr #130)
- Fixed parser issue where commas were not a valid separator between seconds
  and microseconds, preventing parsing of ISO 8601 dates. Contributed by
  @ryanss (gh issue #28, pr #106)
- Fixed issue with tzwin encoding in locales with non-Latin alphabets
  (gh issue #92, pr #98)
- Fixed an issue where tzwin was not being properly imported on Windows.
  Contributed by @labrys. (gh pr #134)
- Fixed a problem causing issues importing zoneinfo in certain circumstances.
  Issue and solution contributed by @alexxv (gh issue #97, pr #99)
- Fixed an issue where dateutil timezones were not compatible with basic time
  objects. One of many, many timezone related issues contributed and tested by
  @labrys. (gh issue #132, pr #181)
- Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue #135,
  pr #141, #142)
- Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly
  parsed from the registry. (gh issue #143, pr #178)
- updatezinfo.py no longer suppresses certain OSErrors. Contributed by @bjamesv
  (gh pr #164)
- An issue that arose when timezone locale changes during runtime has been
  fixed by @carlosxl and @mjschultz (gh issue #100, prs #107, #109)
- Python 3.5 was added to the supported platforms in the metadata (@tacaswell
  gh pr #159) and the test suites (@moreati gh pr #117).
- An issue with tox failing without unittest2 installed in Python 2.6 was fixed
  by @moreati (gh pr #115)
- Several deprecated functions were replaced in the tests by @moreati
  (gh pr #116)
- Improved the logic in Travis and Appveyor to alleviate issues where builds
  were failing due to connection issues when downloading the IANA timezone
  files. In addition to adding our own mirror for the files (gh pr #183), the
  download is now retried a number of times (with a delay) (gh pr #177)
- Many failing doctests were fixed by @moreati. (gh pr #120)
- Many fixes to the documentation (gh pr #103, gh pr #87 from @radarhere,
  gh pr #154 from @gpoesia, gh pr #156 from @awsum, gh pr #168 from @ja8zyjits)
- Added a code coverage tool to the CI to help improve the library. (gh pr #182)
- We now have a mailing list - dateutil@python.org, graciously hosted by

Version 2.4.2
- Updated zoneinfo to 2015b.
- Fixed issue with parsing of tzstr on Python 2.7.x; tzstr will now be decoded
  if not a unicode type. gh #51 (lp:1331576), gh pr #55.
- Fix a parser issue where AM and PM tokens were showing up in fuzzy date
  stamps, triggering inappropriate errors. gh #56 (lp: 1428895), gh pr #63.
- Missing function "setcachesize" removed from zoneinfo __all__ list \ 
by @ryanss,
  fixing an issue with wildcard imports of dateutil.zoneinfo. (gh pr #66).
- (PyPi only) Fix an issue with source distributions not including the test

Version 2.4.1

- Added explicit check for valid hours if AM/PM is specified in parser.
  (gh pr #22, issue #21)
- Fix bug in rrule introduced in 2.4.0 where byweekday parameter was not
  handled properly. (gh pr #35, issue #34)
- Fix error where parser allowed some invalid dates, overwriting existing hours
  with the last 2-digit number in the string. (gh pr #32, issue #31)
- Fix and add test for Python 2.x compatibility with boolean checking of
  relativedelta objects. Implemented by @nimasmi (gh pr #43) and Cédric Krier
  (lp: 1035038)
- Replaced parse() calls with explicit datetime objects in unit tests unrelated
  to parser. (gh pr #36)
- Changed private _byxxx from sets to sorted tuples and fixed one currently
  unreachable bug in _construct_byset. (gh pr #54)
- Additional documentation for parser (gh pr #29, #33, #41) and rrule.
- Formatting fixes to documentation of rrule and README.rst.
- Updated zoneinfo to 2015a.