15
0
forked from pool/python-cftime

- update to 1.6.3:

* add support for formats without separators in strptime (e.g.
    '20200229', issue #301).
  * set the c_api_binop_methods compiler directive to True to
    retain Cython 0.x behavior for arithmetic operators for
    Cython >= 3.0.0
  * support for python 3.12.
- drop cython3.patch (upstream)
- Update to version 1.6.2
  * silently change calendar='gregorian' to 'standard' internally,
  * added support for "common_year" and "common_years" units for "noleap"
    Default is False for 'real-world' calendars ('julian', 'gregorian'/'standard',
  * add "change_calendar" cftime.datetime method to switch to another
  * remove legacy `utime` class, and legacy `JulianDayFromDate` and
   `cftime.datetime.__add__`, and `cftime.datetime.__sub__`.  The use of them
 * Rewrite of julian day/calendar functions (_IntJulianDayToCalendar and
   changed to MIT (to be consistent with netcdf4-python).
   digits can be handled.
  * include pyproject.toml in MANIFEST.in so it gets
  * fix for date2num error when converting a DatetimeProlepticGregorian

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cftime?expand=0&rev=22
This commit is contained in:
2023-12-01 11:35:29 +00:00
committed by Git OBS Bridge
parent 2f8307467c
commit 668ea5e9b1
5 changed files with 31 additions and 77 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2
size 52745

BIN
cftime-1.6.3.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,56 +0,0 @@
From 31f782aed3de56300886dd7350f1faff657e14dd Mon Sep 17 00:00:00 2001
From: Spencer Clark <spencerkclark@gmail.com>
Date: Sat, 29 Jul 2023 09:51:10 -0400
Subject: [PATCH] Set c_api_binop_methods compiler directive to True
This retains Cython 0.x behavior for arithmetic operators for
Cython >= 3.0.0.
---
Changelog | 2 ++
pyproject.toml | 2 +-
requirements-dev.txt | 2 +-
setup.py | 9 ++++++++-
4 files changed, 12 insertions(+), 3 deletions(-)
Index: cftime-1.6.2/pyproject.toml
===================================================================
--- cftime-1.6.2.orig/pyproject.toml
+++ cftime-1.6.2/pyproject.toml
@@ -1,3 +1,3 @@
[build-system]
-requires = ["setuptools>=41.2", "cython", "wheel", "oldest-supported-numpy"]
+requires = ["setuptools>=41.2", "cython>=0.29.20", "wheel", "oldest-supported-numpy"]
build-backend = "setuptools.build_meta"
Index: cftime-1.6.2/requirements-dev.txt
===================================================================
--- cftime-1.6.2.orig/requirements-dev.txt
+++ cftime-1.6.2/requirements-dev.txt
@@ -1,7 +1,7 @@
check-manifest
coverage
coveralls
-cython>0.26.1
+cython>=0.29.20
pytest
pytest-cov
sphinx
Index: cftime-1.6.2/setup.py
===================================================================
--- cftime-1.6.2.orig/setup.py
+++ cftime-1.6.2/setup.py
@@ -16,7 +16,14 @@ except ImportError:
BASEDIR = os.path.abspath(os.path.dirname(__file__))
SRCDIR = os.path.join(BASEDIR,'src')
CMDS_NOCYTHONIZE = ['clean','clean_cython','sdist']
-COMPILER_DIRECTIVES = {}
+COMPILER_DIRECTIVES = {
+ # Cython 3.0.0 changes the default of the c_api_binop_methods directive to
+ # False, resulting in errors in datetime and timedelta arithmetic:
+ # https://github.com/Unidata/cftime/issues/271. We explicitly set it to
+ # True to retain Cython 0.x behavior for future Cython versions. This
+ # directive was added in Cython version 0.29.20.
+ "c_api_binop_methods": True
+}
DEFINE_MACROS = [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")]
FLAG_COVERAGE = '--cython-coverage' # custom flag enabling Cython line tracing
NAME = 'cftime'

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Dec 1 11:31:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 1.6.3:
* add support for formats without separators in strptime (e.g.
'20200229', issue #301).
* set the c_api_binop_methods compiler directive to True to
retain Cython 0.x behavior for arithmetic operators for
Cython >= 3.0.0
* support for python 3.12.
- drop cython3.patch (upstream)
-------------------------------------------------------------------
Wed Aug 30 11:03:06 UTC 2023 - Markéta Machová <mmachova@suse.com>
@@ -6,7 +18,7 @@ Wed Aug 30 11:03:06 UTC 2023 - Markéta Machová <mmachova@suse.com>
-------------------------------------------------------------------
Thu Oct 27 22:15:54 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to version 1.6.2
- Update to version 1.6.2
* num2date should not fail on an empty integer array (issue #287).
* longdouble keyword in date2num so that a roundtrip from a time to a date
and back again does not lose microsecond precision when the units require
@@ -21,7 +33,7 @@ Mon Sep 26 19:50:01 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to version 1.6.1
* fix failing tests on windows with numpy 1.23.0 (issue #278)
* expose to_tuple module function in public API.
-------------------------------------------------------------------
Sun Mar 27 14:54:45 UTC 2022 - Dirk Müller <dmueller@suse.com>
@@ -30,11 +42,11 @@ Sun Mar 27 14:54:45 UTC 2022 - Dirk Müller <dmueller@suse.com>
* improved performance of the num2date algorithm, in some cases providing
an over 100x speedup
* fix for date2index for select != 'exact' when select='exact' works
* silently change calendar='gregorian' to 'standard' internally,
* silently change calendar='gregorian' to 'standard' internally,
since 'gregorian' deprecated in CF v1.9
* add "is_leap_year" function
* wheels that work on Apple M1 (arm64) available on pypi.
* added support for "common_year" and "common_years" units for "noleap"
* added support for "common_year" and "common_years" units for "noleap"
and "365_day" calendars
* check consistency of year arg and has_year_zero kwarg in cftime.datetime
(issue #248). Also assume if has_year_zero not specified it should be True
@@ -53,13 +65,13 @@ Sun Mar 27 14:54:45 UTC 2022 - Dirk Müller <dmueller@suse.com>
(via `cftime.datetime.__format__`)
* add support for astronomical year numbering (including year zero) for
real-world calendars using 'has_year_zero' cftime.datetime kwarg
Default is False for 'real-world' calendars ('julian', 'gregorian'/'standard',
Default is False for 'real-world' calendars ('julian', 'gregorian'/'standard',
'proleptic_gregorian'). Ignored for idealized calendars like '360_day
(they always have year zero).
* add "change_calendar" cftime.datetime method to switch to another
* add "change_calendar" cftime.datetime method to switch to another
'real-world' calendar. Enable comparison of cftime.datetime instances
with different 'real-world' calendars (using the new change_calendar method)
* remove legacy `utime` class, and legacy `JulianDayFromDate` and
* remove legacy `utime` class, and legacy `JulianDayFromDate` and
`DateFromJulianDay` functions (replaced by `cftime.datetime.toordinal`
and `cftime.datetime.fromordinal`).
* Change ValueError to TypeError in __sub__
@@ -68,9 +80,9 @@ Sun Mar 27 14:54:45 UTC 2022 - Dirk Müller <dmueller@suse.com>
Tue Mar 2 05:51:33 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 1.4.1:
* Restore use of calendar-specific sub-classes in `cftime.num2date`,
`cftime.datetime.__add__`, and `cftime.datetime.__sub__`. The use of them
`cftime.datetime.__add__`, and `cftime.datetime.__sub__`. The use of them
will be removed in a later release.
* add 'fromordinal' static method to create a cftime.datetime instance
from a julian day ordinal and calendar (inverse of 'toordinal').
@@ -78,9 +90,9 @@ Tue Mar 2 05:51:33 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
and times allow. Previously this would only be true if the units were
'microseconds' (PR #225). In other circumstances, as before, `cftime.date2num`
will return an array of floats.
* Rewrite of julian day/calendar functions (_IntJulianDayToCalendar and
* Rewrite of julian day/calendar functions (_IntJulianDayToCalendar and
_IntJulianDayFromCalendar) to remove GPL'ed code. cftime license
changed to MIT (to be consistent with netcdf4-python).
changed to MIT (to be consistent with netcdf4-python).
* Added datetime.toordinal() (returns julian day, kwarg 'fractional'
can be used to include fractional day).
* cftime.datetime no longer uses calendar-specific sub-classes.
@@ -100,7 +112,7 @@ Tue Mar 2 05:51:33 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
The calendar specific sub-classes are now deprecated, but remain for now
as stubs that just instantiate the base class and override __repr__.
* update regex in _cpdef _parse_date so reference years with more than four
digits can be handled.
digits can be handled.
* Change default calendar in cftime.date2num from 'standard' to None
(calendar associated with first input datetime object is used).
* add `cftime.datetime.tzinfo=None` for compatibility with python datetime
@@ -137,7 +149,7 @@ Thu Jul 9 04:32:49 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
* change dayofwk and dayofyr attributes into properties (issue #158)
* fix for issue #165 (python datetime should be returned when
only_use_cftime_datimes=False).
* include pyproject.toml in MANIFEST.in so it gets
* include pyproject.toml in MANIFEST.in so it gets
included in source tarball (issue #154).
* fix microsecond formatting issue, ensure identical results
computed for arrays and scales (issue #143, PR #146).
@@ -157,7 +169,7 @@ Thu Jul 9 04:32:49 UTC 2020 - Steve Kowalik <steven.kowalik@suse.com>
Fri Jan 24 15:13:06 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- update to 1.0.4.2
* fix for date2num error when converting a DatetimeProlepticGregorian
* fix for date2num error when converting a DatetimeProlepticGregorian
object
-------------------------------------------------------------------

View File

@@ -16,16 +16,14 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%{?sle15_python_module_pythons}
Name: python-cftime
Version: 1.6.2
Version: 1.6.3
Release: 0
Summary: Time-handling functionality from netcdf4-python
License: MIT
URL: https://github.com/Unidata/cftime
Source: https://files.pythonhosted.org/packages/source/c/cftime/cftime-%{version}.tar.gz
#PATCH-FIX-UPSTREAM https://github.com/Unidata/cftime/pull/305 Set c_api_binop_methods Cython compiler directive to True
Patch: cython3.patch
BuildRequires: %{python_module Cython >= 0.29.20}
BuildRequires: %{python_module numpy-devel}
BuildRequires: %{python_module numpy}