-
-
Notifications
You must be signed in to change notification settings - Fork 737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NEP29/pandas/numpy #431
Comments
Thanks for opening your first issue here! Be sure to follow the issue template! |
there's even a python script for it from datetime import datetime, timedelta
data = """Jan 15, 2017: NumPy 1.12
Sep 13, 2015: Python 3.5
Dec 23, 2016: Python 3.6
Jun 27, 2018: Python 3.7
Jun 07, 2017: NumPy 1.13
Jan 06, 2018: NumPy 1.14
Jul 23, 2018: NumPy 1.15
Jan 13, 2019: NumPy 1.16
Jul 26, 2019: NumPy 1.17
Oct 14, 2019: Python 3.8
Dec 22, 2019: NumPy 1.18
Jun 20, 2020: NumPy 1.19
"""
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])
py_major,py_minor = sorted([int(x) for x in r[2].split('.')] for r in releases if r[1] == 'Python')[-1]
minpy = f"{py_major}.{py_minor+1}+"
num_major,num_minor = sorted([int(x) for x in r[2].split('.')] for r in releases if r[1] == 'NumPy')[-1]
minnum = f"{num_major}.{num_minor+1}+"
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+'+'
print("On next release, drop support for Python 3.5 (initially released on Sep 13, 2015)")
for e in toprint_drop_dates[-4::-1]:
print(e)
print('============ ====== =====')
print('Date Python NumPy')
print('------------ ------ -----')
for e in toprint_support_table[-4::-1]:
print(e)
print('============ ====== =====') |
This sounds useful! I think this should be at https://endoflife.date/nep29 rather than So would we have a table something like this?
|
Now that #1692 is merged, this is partially solved. I think it's better if we document each product individually (and be sure to mention NEP29, as in the current version. The "4D-chess" is something we should be doing, and making it simple for end-users on a per-product basis. |
Closing this for inactivity. |
btw NEP 29 has been "superseded by the scientific python ecosystem coordination guideline SPEC 0 — Minimum Supported Versions". |
Is your feature request related to a problem? Please describe.
determining the EOL date of scientific python involves a little bit of 4D chess https://numpy.org/neps/nep-0029-deprecation_policy.html
Describe the solution you'd like
include the nep29/pandas/numpy release schedule in a nice color coded chart
Describe alternatives you've considered
paste the NEP29 doc directly into https://endoflife.date/nep29 and redirect https://endoflife.date/numpy and https://endoflife.date/pandas to there
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: