diff --git a/spec-0000/SPEC0_versions.py b/spec-0000/SPEC0_versions.py index 2c215180..c4528c89 100644 --- a/spec-0000/SPEC0_versions.py +++ b/spec-0000/SPEC0_versions.py @@ -146,6 +146,8 @@ def get_release_dates(package, support_time=plus24): print("Saving drop schedule to schedule.md") + + with open("schedule.md", "w") as fh: # we collect package 6 month in the past, and drop the first quarter # as we might have filtered some of the packages out depending on @@ -154,8 +156,8 @@ def get_release_dates(package, support_time=plus24): fh.write("#### " + str(quarter).replace("Q", " - Quarter ") + ":\n\n") fh.write("###### Recommend drop support for:\n\n") - fh.write("| | | |\n") - fh.write("|----|----|----|\n") + table = "| | | |\n" + table += "|----|----|----|\n" sub = dq.loc[quarter] for package in sorted(set(sub.index.get_level_values(0))): @@ -169,5 +171,18 @@ def get_release_dates(package, support_time=plus24): if rel_min == rel_max else f"{rel_min.strftime('%b %Y')} and {rel_max.strftime('%b %Y')}" ) - fh.write(f"|{package:<15}|{version_range:<19}|released {rel_range}|\n") + table += f"|{package:<15}|{version_range:<19}|released {rel_range}|\n" + + print(table) + rows = [[el.strip() for el in row.split('|')] for row in table.splitlines()] + print(rows) + col_widths = [max(map(len, column)) for column in zip(*rows)] + print(col_widths) + rows[1] = [el if el != "----" else "-" * col_widths[i] for i, el in enumerate(rows[1])] + for row in rows: + for entry, width in zip(row, col_widths): + if not width: + continue + fh.write("| {} ".format(str.ljust(entry, width))) + fh.write("|\n") fh.write("\n") diff --git a/spec-0000/schedule.md b/spec-0000/schedule.md index 97fc487b..cc84a194 100644 --- a/spec-0000/schedule.md +++ b/spec-0000/schedule.md @@ -2,128 +2,128 @@ ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |7.26.0 to 7.28.0 |released Aug 2021 and Sep 2021| -|networkx |2.6 |released Jul 2021| -|pandas |1.3.0 |released Jul 2021| -|scikit-learn |1.0 |released Sep 2021| -|xarray |0.19.0 |released Jul 2021| +| | | | +| ------------ | ---------------- | ------------------------------ | +| ipython | 7.26.0 to 7.28.0 | released Aug 2021 and Sep 2021 | +| networkx | 2.6 | released Jul 2021 | +| pandas | 1.3.0 | released Jul 2021 | +| scikit-learn | 1.0 | released Sep 2021 | +| xarray | 0.19.0 | released Jul 2021 | #### 2023 - Quarter 4: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |7.29.0 to 7.30.0 |released Oct 2021 and Nov 2021| -|matplotlib |3.5.0 |released Nov 2021| -|numpy |1.22.0 |released Dec 2021| -|python |3.9 |released Oct 2020| -|scikit-image |0.19.0 |released Dec 2021| -|xarray |0.20.0 |released Nov 2021| +| | | | +| ------------ | ---------------- | ------------------------------ | +| ipython | 7.29.0 to 7.30.0 | released Oct 2021 and Nov 2021 | +| matplotlib | 3.5.0 | released Nov 2021 | +| numpy | 1.22.0 | released Dec 2021 | +| python | 3.9 | released Oct 2020 | +| scikit-image | 0.19.0 | released Dec 2021 | +| xarray | 0.20.0 | released Nov 2021 | #### 2024 - Quarter 1: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |7.31.0 to 8.2.0 |released Jan 2022 and Mar 2022| -|networkx |2.7 |released Feb 2022| -|pandas |1.4.0 |released Jan 2022| -|scipy |1.8.0 |released Feb 2022| -|xarray |0.21.0 to 2022.3.0 |released Jan 2022 and Mar 2022| +| | | | +| -------- | ------------------ | ------------------------------ | +| ipython | 7.31.0 to 8.2.0 | released Jan 2022 and Mar 2022 | +| networkx | 2.7 | released Feb 2022 | +| pandas | 1.4.0 | released Jan 2022 | +| scipy | 1.8.0 | released Feb 2022 | +| xarray | 0.21.0 to 2022.3.0 | released Jan 2022 and Mar 2022 | #### 2024 - Quarter 2: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |7.33.0 to 8.4.0 |released Apr 2022 and May 2022| -|networkx |2.8 |released Apr 2022| -|numpy |1.23.0 |released Jun 2022| -|scikit-learn |1.1.0 |released May 2022| +| | | | +| ------------ | --------------- | ------------------------------ | +| ipython | 7.33.0 to 8.4.0 | released Apr 2022 and May 2022 | +| networkx | 2.8 | released Apr 2022 | +| numpy | 1.23.0 | released Jun 2022 | +| scikit-learn | 1.1.0 | released May 2022 | #### 2024 - Quarter 3: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |8.5.0 |released Sep 2022| -|matplotlib |3.6.0 |released Sep 2022| -|pandas |1.5.0 |released Sep 2022| -|scipy |1.9.0 |released Jul 2022| -|xarray |2022.6.0 to 2022.9.0|released Jul 2022 and Sep 2022| +| | | | +| ---------- | -------------------- | ------------------------------ | +| ipython | 8.5.0 | released Sep 2022 | +| matplotlib | 3.6.0 | released Sep 2022 | +| pandas | 1.5.0 | released Sep 2022 | +| scipy | 1.9.0 | released Jul 2022 | +| xarray | 2022.6.0 to 2022.9.0 | released Jul 2022 and Sep 2022 | #### 2024 - Quarter 4: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |8.6.0 to 8.7.0 |released Oct 2022 and Nov 2022| -|numpy |1.24.0 |released Dec 2022| -|python |3.10 |released Oct 2021| -|scikit-learn |1.2.0 |released Dec 2022| -|xarray |2022.10.0 to 2022.12.0|released Oct 2022 and Dec 2022| +| | | | +| ------------ | ---------------------- | ------------------------------ | +| ipython | 8.6.0 to 8.7.0 | released Oct 2022 and Nov 2022 | +| numpy | 1.24.0 | released Dec 2022 | +| python | 3.10 | released Oct 2021 | +| scikit-learn | 1.2.0 | released Dec 2022 | +| xarray | 2022.10.0 to 2022.12.0 | released Oct 2022 and Dec 2022 | #### 2025 - Quarter 1: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |8.8.0 to 8.12.0 |released Jan 2023 and Mar 2023| -|matplotlib |3.7.0 |released Feb 2023| -|networkx |3.0 |released Jan 2023| -|scikit-image |0.20.0 |released Feb 2023| -|scipy |1.10.0 |released Jan 2023| -|xarray |2023.1.0 to 2023.3.0|released Jan 2023 and Mar 2023| +| | | | +| ------------ | -------------------- | ------------------------------ | +| ipython | 8.8.0 to 8.12.0 | released Jan 2023 and Mar 2023 | +| matplotlib | 3.7.0 | released Feb 2023 | +| networkx | 3.0 | released Jan 2023 | +| scikit-image | 0.20.0 | released Feb 2023 | +| scipy | 1.10.0 | released Jan 2023 | +| xarray | 2023.1.0 to 2023.3.0 | released Jan 2023 and Mar 2023 | #### 2025 - Quarter 2: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |8.13.0 to 8.14.0 |released Apr 2023 and Jun 2023| -|networkx |3.1 |released Apr 2023| -|numpy |1.25.0 |released Jun 2023| -|pandas |2.0.0 |released Apr 2023| -|scikit-image |0.21.0 |released Jun 2023| -|scikit-learn |1.3.0 |released Jun 2023| -|scipy |1.11.0 |released Jun 2023| -|xarray |2023.4.0 to 2023.6.0|released Apr 2023 and Jun 2023| +| | | | +| ------------ | -------------------- | ------------------------------ | +| ipython | 8.13.0 to 8.14.0 | released Apr 2023 and Jun 2023 | +| networkx | 3.1 | released Apr 2023 | +| numpy | 1.25.0 | released Jun 2023 | +| pandas | 2.0.0 | released Apr 2023 | +| scikit-image | 0.21.0 | released Jun 2023 | +| scikit-learn | 1.3.0 | released Jun 2023 | +| scipy | 1.11.0 | released Jun 2023 | +| xarray | 2023.4.0 to 2023.6.0 | released Apr 2023 and Jun 2023 | #### 2025 - Quarter 3: ###### Recommend drop support for: -| | | | -|----|----|----| -|ipython |8.15.0 to 8.16.0 |released Sep 2023 and Sep 2023| -|matplotlib |3.8.0 |released Sep 2023| -|numpy |1.26.0 |released Sep 2023| -|pandas |2.1.0 |released Aug 2023| -|xarray |2023.7.0 to 2023.9.0|released Jul 2023 and Sep 2023| +| | | | +| ---------- | -------------------- | ------------------------------ | +| ipython | 8.15.0 to 8.16.0 | released Sep 2023 and Sep 2023 | +| matplotlib | 3.8.0 | released Sep 2023 | +| numpy | 1.26.0 | released Sep 2023 | +| pandas | 2.1.0 | released Aug 2023 | +| xarray | 2023.7.0 to 2023.9.0 | released Jul 2023 and Sep 2023 | #### 2025 - Quarter 4: ###### Recommend drop support for: -| | | | -|----|----|----| -|python |3.11 |released Oct 2022| -|scikit-image |0.22.0 |released Oct 2023| +| | | | +| ------------ | ------ | ----------------- | +| python | 3.11 | released Oct 2022 | +| scikit-image | 0.22.0 | released Oct 2023 | #### 2026 - Quarter 4: ###### Recommend drop support for: -| | | | -|----|----|----| -|python |3.12 |released Oct 2023| +| | | | +| ------ | ---- | ----------------- | +| python | 3.12 | released Oct 2023 |