Skip to main content

CLI to show end-of-life dates for a number of products

Project description

norwegianblue

PyPI version Supported Python versions PyPI downloads Test codecov Licence Code style: Black

Python interface to endoflife.date to show end-of-life dates for a number of products.

Installation

From PyPI

python3 -m pip install --upgrade norwegianblue

From source

git clone https://github.com/hugovk/norwegianblue
cd norwegianblue
python3 -m pip install .

Example command-line use

Run norwegianblue or eol, they do the same thing.

Top-level help:

$ eol --help
usage: eol [-h] [-f {html,json,md,markdown,pretty,rst,csv,tsv,yaml}] [-c {yes,no,auto}] [--clear-cache] [-v] [-V]
           [product ...]

CLI to show end-of-life dates for a number of products, from https://endoflife.date

For example:

* `eol python` to see Python EOLs
* `eol ubuntu` to see Ubuntu EOLs
* `eol centos fedora` to see CentOS and Fedora EOLs
* `eol all` or `eol` to list all available products

Something missing? Please contribute! https://endoflife.date/contribute

positional arguments:
  product               Product to check, or 'all' to list all available (default: ['all'])

options:
  -h, --help            show this help message and exit
  -f {html,json,md,markdown,pretty,rst,csv,tsv,yaml}, --format {html,json,md,markdown,pretty,rst,csv,tsv,yaml}
                        The format of output (default: pretty)
  -c {yes,no,auto}, --color {yes,no,auto}
                        Color the terminal output (default: auto)
  --clear-cache         Clear cache before running (default: False)
  -v, --verbose         Print extra messages to stderr (default: 30)
  -V, --version         show program's version number and exit

List all available products with end-of-life dates:

$ # eol all
$ # or:
$ eol
almalinux
alpine
amazon-corretto
amazon-eks
amazon-linux
...

Show end-of-life dates:

$ norwegianblue python
┌───────┬────────────┬─────────┬────────────────┬────────────┐
│ cycle │  release   │ latest  │ latest release │    eol     │
├───────┼────────────┼─────────┼────────────────┼────────────┤
│ 3.11  │ 2022-10-24 │ 3.11.2  │   2023-02-07   │ 2027-10-24 │
│ 3.10  │ 2021-10-04 │ 3.10.10 │   2023-02-07   │ 2026-10-04 │
│ 3.9   │ 2020-10-05 │ 3.9.16  │   2022-12-06   │ 2025-10-05 │
│ 3.8   │ 2019-10-14 │ 3.8.16  │   2022-12-06   │ 2024-10-14 │
│ 3.7   │ 2018-06-26 │ 3.7.16  │   2022-12-06   │ 2023-06-27 │
│ 3.6   │ 2016-12-22 │ 3.6.15  │   2021-09-03   │ 2021-12-23 │
│ 3.5   │ 2015-09-12 │ 3.5.10  │   2020-09-05   │ 2020-09-13 │
│ 3.4   │ 2014-03-15 │ 3.4.10  │   2019-03-18   │ 2019-03-18 │
│ 3.3   │ 2012-09-29 │ 3.3.7   │   2017-09-19   │ 2017-09-29 │
│ 2.7   │ 2010-07-03 │ 2.7.18  │   2020-04-19   │ 2020-01-01 │
│ 2.6   │ 2008-10-01 │ 2.6.9   │   2013-10-29   │ 2013-10-29 │
└───────┴────────────┴─────────┴────────────────┴────────────┘

You can format in Markdown, ready for pasting in GitHub issues and PRs:

cycle release latest latest release eol
3.11 2022-10-24 3.11.2 2023-02-07 2027-10-24
3.10 2021-10-04 3.10.10 2023-02-07 2026-10-04
3.9 2020-10-05 3.9.16 2022-12-06 2025-10-05
3.8 2019-10-14 3.8.16 2022-12-06 2024-10-14
3.7 2018-06-26 3.7.16 2022-12-06 2023-06-27
3.6 2016-12-22 3.6.15 2021-09-03 2021-12-23
3.5 2015-09-12 3.5.10 2020-09-05 2020-09-13
3.4 2014-03-15 3.4.10 2019-03-18 2019-03-18
3.3 2012-09-29 3.3.7 2017-09-19 2017-09-29
2.7 2010-07-03 2.7.18 2020-04-19 2020-01-01
2.6 2008-10-01 2.6.9 2013-10-29 2013-10-29

With options:

$ eol nodejs --format rst
.. table::

    ========  ============  ==========  ================  ============  ============
     cycle      release       latest     latest release     support         eol
    ========  ============  ==========  ================  ============  ============
     19        2022-10-18    19.6.0      2023-02-01        2023-04-01    2023-06-01
     18 LTS    2022-04-19    18.14.0     2023-02-02        2023-10-18    2025-04-30
     17        2021-10-19    17.9.1      2022-06-01        2022-04-01    2022-06-01
     16 LTS    2021-04-20    16.19.0     2022-12-13        2022-10-18    2023-09-11
     15        2020-10-20    15.14.0     2021-04-06        2021-04-01    2021-06-01
     14 LTS    2020-04-21    14.21.2     2022-12-13        2021-10-19    2023-04-30
     13        2019-10-22    13.14.0     2020-04-29        2020-04-01    2020-06-01
     12 LTS    2019-04-23    12.22.12    2022-04-05        2020-10-20    2022-04-30
     11        2018-10-23    11.15.0     2019-04-30        2019-04-01    2019-06-30
     10 LTS    2018-04-24    10.24.1     2021-04-06        2020-05-19    2021-04-30
     9         2017-10-31    9.11.2      2018-06-12        2018-06-30    2018-06-30
     8 LTS     2017-05-30    8.17.0      2019-12-17        2019-01-01    2019-12-31
     7         2016-10-25    7.10.1      2017-07-11        2017-06-30    2017-06-30
     6 LTS     2016-04-26    6.17.1      2019-04-03        2018-04-30    2019-04-30
     5         2015-10-30    5.12.0      2016-06-23        2016-06-30    2016-06-30
     4 LTS     2015-09-09    4.9.1       2018-03-29        2017-04-01    2018-04-30
     3         2015-08-04    3.3.1       2015-09-15        False         True
     2         2015-05-04    2.5.0       2015-07-28        False         True
     1         2015-01-20    1.8.4       2015-07-09        False         True
    ========  ============  ==========  ================  ============  ============

Example programmatic use

Return values are from the JSON responses documented in the API: https://endoflife.date/docs/api/

import norwegianblue

# Call the API
print(norwegianblue.norwegianblue())
print(norwegianblue.norwegianblue(product="ubuntu"))
print(norwegianblue.norwegianblue(format="json"))

Why "Norwegian Blue"?

The Norwegian Blue has reached end-of-life.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

norwegianblue-0.14.0.tar.gz (34.7 kB view hashes)

Uploaded Source

Built Distribution

norwegianblue-0.14.0-py3-none-any.whl (11.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page