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}]
           [-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}, --format {html,json,md,markdown,pretty,rst,csv,tsv}
                        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-eks
amazon-linux
android
...

Show end-of-life dates:

$ norwegianblue python
┌───────┬────────────┬────────┬────────────────┬────────────┐
│ cycle │  release   │ latest │ latest release │    eol     │
├───────┼────────────┼────────┼────────────────┼────────────┤
│ 3.11  │ 2022-10-24 │ 3.11.0 │   2022-10-24   │ 2027-10-24 │
│ 3.10  │ 2021-10-04 │ 3.10.8 │   2022-10-11   │ 2026-10-04 │
│ 3.9   │ 2020-10-05 │ 3.9.15 │   2022-10-11   │ 2025-10-05 │
│ 3.8   │ 2019-10-14 │ 3.8.15 │   2022-10-11   │ 2024-10-14 │
│ 3.7   │ 2018-06-26 │ 3.7.15 │   2022-10-10   │ 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.0 2022-10-24 2027-10-24
3.10 2021-10-04 3.10.8 2022-10-11 2026-10-04
3.9 2020-10-05 3.9.15 2022-10-11 2025-10-05
3.8 2019-10-14 3.8.15 2022-10-11 2024-10-14
3.7 2018-06-26 3.7.15 2022-10-10 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.2.0      2022-11-29        2023-04-01    2023-06-01
     18 LTS    2022-04-19    18.12.1     2022-11-04        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.18.1     2022-11-04        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.1     2022-11-04        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.12.0.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

norwegianblue-0.12.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file norwegianblue-0.12.0.tar.gz.

File metadata

  • Download URL: norwegianblue-0.12.0.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for norwegianblue-0.12.0.tar.gz
Algorithm Hash digest
SHA256 4f30474f12453881e04bd3dfcf704b4100e01bec050e10f75e61c150ec895193
MD5 42dc81eee5218b3e1b03362c10bb7b18
BLAKE2b-256 a5816f5b83091cdb05a9ac6d6571cf6a35ccd6079484b21062352fa849e7903a

See more details on using hashes here.

Provenance

File details

Details for the file norwegianblue-0.12.0-py3-none-any.whl.

File metadata

File hashes

Hashes for norwegianblue-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bef96cdf683930239c501860ae74cb3be3c51f5081dc06f7738b1195d36975dd
MD5 e7442d534dad898406c3f1f1636d41ff
BLAKE2b-256 c696b474a774d2c4f876379dfeff30bb3a3d1e61108d5c6e0dcbb00510a1e958

See more details on using hashes here.

Provenance

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