summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorThomas A Caswell <tcaswell@gmail.com>2019-07-25 20:52:27 -0400
committerThomas A Caswell <tcaswell@gmail.com>2019-07-25 20:52:27 -0400
commitbe7ba8331ee355ecedf7aab395c74b0d81dfc3c4 (patch)
tree97b820944fbfb65b93df1038293334e0afd10b7e /doc
parentd66f98e12ab436044f6b19c97d227515df0843ea (diff)
downloadnumpy-be7ba8331ee355ecedf7aab395c74b0d81dfc3c4.tar.gz
DOC: add support / drop table
Based on work by @Carreau
Diffstat (limited to 'doc')
-rw-r--r--doc/neps/nep-0029-deprecation_policy.rst89
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/neps/nep-0029-deprecation_policy.rst b/doc/neps/nep-0029-deprecation_policy.rst
index de928dd4e..7755a1fca 100644
--- a/doc/neps/nep-0029-deprecation_policy.rst
+++ b/doc/neps/nep-0029-deprecation_policy.rst
@@ -95,6 +95,38 @@ If there is a ``Python`` 4 or a NumPy 2 this policy will have to be
reviewed in light of the community's and projects' best interests.
+Support Table
+~~~~~~~~~~~~~
+
+============ ====== =====
+Date Python NumPy
+------------ ------ -----
+Jan 16, 2019 3.5+ 1.13+
+Mar 14, 2019 3.6+ 1.13+
+Jun 08, 2019 3.6+ 1.14+
+Jan 07, 2020 3.6+ 1.15+
+Jun 23, 2020 3.7+ 1.15+
+Jul 23, 2020 3.7+ 1.16+
+Jan 13, 2021 3.7+ 1.17+
+Dec 26, 2021 3.8+ 1.17+
+============ ====== =====
+
+
+Drop Schedule
+~~~~~~~~~~~~~
+
+::
+
+ On Jan 16, 2019 drop support for Numpy 1.12 (initially released on Jan 15, 2017)
+ On Mar 14, 2019 drop support for Python 3.5 (initially released on Sep 13, 2015)
+ On Jun 08, 2019 drop support for Numpy 1.13 (initially released on Jun 07, 2017)
+ On Jan 07, 2020 drop support for Numpy 1.14 (initially released on Jan 06, 2018)
+ On Jun 23, 2020 drop support for Python 3.6 (initially released on Dec 23, 2016)
+ On Jul 23, 2020 drop support for Numpy 1.15 (initially released on Jul 23, 2018)
+ On Jan 13, 2021 drop support for Numpy 1.16 (initially released on Jan 13, 2019)
+ On Dec 26, 2021 drop support for Python 3.7 (initially released on Jun 27, 2018)
+
+
Implementation
--------------
@@ -198,6 +230,63 @@ Discussion
References and Footnotes
------------------------
+Code to generate support and drop schedule tables ::
+
+ from datetime import datetime, timedelta
+
+ data = """Jan 15, 2017: Numpy 1.12
+ Sep 13, 2015: Python 3.5
+ Jun 27, 2018: Python 3.7
+ Dec 23, 2016: Python 3.6
+ Jun 07, 2017: Numpy 1.13
+ Jan 06, 2018: Numpy 1.14
+ Jul 23, 2018: Numpy 1.15
+ Jan 13, 2019: Numpy 1.16
+ """
+
+ releases = []
+
+ plus42 = timedelta(days=int(365*3.5 + 1))
+ plus24 = timedelta(days=int(365*2 + 1))
+
+ for line in data.splitlines():
+ date, project_version = line.split(':')
+ project, version = project_version.strip().split(' ')
+ release = datetime.strptime(date, '%b %d, %Y')
+ if project.lower() == 'numpy':
+ drop = release + plus24
+ else:
+ drop = release + plus42
+ releases.append((drop, project, version, release))
+
+ releases = sorted(releases, key=lambda x: x[0])
+
+ minpy = '3.8+'
+ minnum = '1.17+'
+
+ toprint_drop_dates = ['']
+ toprint_support_table = []
+ for d, p, v, r in releases[::-1]:
+ df = d.strftime('%b %d, %Y')
+ toprint_drop_dates.append(
+ f'On {df} drop support for {p} {v} '
+ f'(initially released on {r.strftime("%b %d, %Y")})')
+ toprint_support_table.append(f'{df} {minpy:<6} {minnum:<5}')
+ if p.lower() == 'numpy':
+ minnum = v+'+'
+ else:
+ minpy = v+'+'
+
+ for e in toprint_drop_dates[::-1]:
+ print(e)
+
+ print('============ ====== =====')
+ print('Date Python NumPy')
+ print('------------ ------ -----')
+ for e in toprint_support_table[::-1]:
+ print(e)
+ print('============ ====== =====')
+
Copyright
---------