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 GitHub Actions status 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

With pipx

pipx install norwegianblue

From conda-forge

With Pixi

pixi add norwegianblue

With conda

conda install --channel conda-forge norwegianblue

With pixi global

pixi global install norwegianblue

From source

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

To install tab completion on supported Linux and macOS shells, see https://kislyuk.github.io/argcomplete/

Example command-line use

Run norwegianblue or eol, they do the same thing.

Top-level help:

$ eol --help
usage: eol [-h] [-c {yes,no,auto}] [--clear-cache] [--show-title {yes,no,auto}] [-v] [-V] [-w]
           [--pretty | --md | --rst | --json | --csv | --tsv | --html | --yaml]
           [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
  -c, --color {yes,no,auto}
                        colour the output (default: auto)
  --clear-cache         clear cache before running
  --show-title {yes,no,auto}
                        show or hide product title, 'auto' to show title only for multiple products (default: auto)
  -v, --verbose         print extra messages to stderr
  -V, --version         show program's version number and exit
  -w, --web             open product page in web browser

formatters:
  --pretty              output in pretty (default)
  --md                  output in Markdown
  --rst                 output in reStructuredText
  --json                output in JSON
  --csv                 output in CSV
  --tsv                 output in TSV
  --html                output in HTML
  --yaml                output in YAML

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

$ # eol all
$ # or:
$ eol
adonisjs
akeneo-pim
alibaba-ack
alibaba-dragonwell
almalinux
...

Show end-of-life dates:

$ norwegianblue python
┌───────┬────────────┬─────────┬────────────────┬────────────┬────────────┐
│ cycle │  release   │ latest  │ latest release │  support   │    eol     │
├───────┼────────────┼─────────┼────────────────┼────────────┼────────────┤
│ 3.14  │ 2025-10-07 │ 3.14.0  │   2025-10-07   │ 2027-10-01 │ 2030-10-31 │
│ 3.13  │ 2024-10-07 │ 3.13.9  │   2025-10-14   │ 2026-10-01 │ 2029-10-31 │
│ 3.12  │ 2023-10-02 │ 3.12.12 │   2025-10-09   │ 2025-04-02 │ 2028-10-31 │
│ 3.11  │ 2022-10-24 │ 3.11.14 │   2025-10-09   │ 2024-04-01 │ 2027-10-31 │
│ 3.10  │ 2021-10-04 │ 3.10.19 │   2025-10-09   │ 2023-04-05 │ 2026-10-31 │
│ 3.9   │ 2020-10-05 │ 3.9.24  │   2025-10-09   │ 2022-05-17 │ 2025-10-31 │
│ 3.8   │ 2019-10-14 │ 3.8.20  │   2024-09-06   │ 2021-05-03 │ 2024-10-07 │
│ 3.7   │ 2018-06-27 │ 3.7.17  │   2023-06-05   │ 2020-06-27 │ 2023-06-27 │
│ 3.6   │ 2016-12-23 │ 3.6.15  │   2021-09-03   │ 2018-12-24 │ 2021-12-23 │
│ 3.5   │ 2015-09-13 │ 3.5.10  │   2020-09-05   │   False    │ 2020-09-30 │
│ 3.4   │ 2014-03-16 │ 3.4.10  │   2019-03-18   │   False    │ 2019-03-18 │
│ 3.3   │ 2012-09-29 │ 3.3.7   │   2017-09-19   │   False    │ 2017-09-29 │
│ 3.2   │ 2011-02-20 │ 3.2.6   │   2014-10-12   │   False    │ 2016-02-20 │
│ 2.7   │ 2010-07-03 │ 2.7.18  │   2020-04-19   │   False    │ 2020-01-01 │
│ 3.1   │ 2009-06-27 │ 3.1.5   │   2012-04-06   │   False    │ 2012-04-09 │
│ 3.0   │ 2008-12-03 │ 3.0.1   │   2009-02-12   │   False    │ 2009-06-27 │
│ 2.6   │ 2008-10-01 │ 2.6.9   │   2013-10-29   │   False    │ 2013-10-29 │
└───────┴────────────┴─────────┴────────────────┴────────────┴────────────┘

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

cycle release latest latest release support eol
3.14 2025-10-07 3.14.0 2025-10-07 2027-10-01 2030-10-31
3.13 2024-10-07 3.13.9 2025-10-14 2026-10-01 2029-10-31
3.12 2023-10-02 3.12.12 2025-10-09 2025-04-02 2028-10-31
3.11 2022-10-24 3.11.14 2025-10-09 2024-04-01 2027-10-31
3.10 2021-10-04 3.10.19 2025-10-09 2023-04-05 2026-10-31
3.9 2020-10-05 3.9.24 2025-10-09 2022-05-17 2025-10-31
3.8 2019-10-14 3.8.20 2024-09-06 2021-05-03 2024-10-07
3.7 2018-06-27 3.7.17 2023-06-05 2020-06-27 2023-06-27
3.6 2016-12-23 3.6.15 2021-09-03 2018-12-24 2021-12-23
3.5 2015-09-13 3.5.10 2020-09-05 False 2020-09-30
3.4 2014-03-16 3.4.10 2019-03-18 False 2019-03-18
3.3 2012-09-29 3.3.7 2017-09-19 False 2017-09-29
3.2 2011-02-20 3.2.6 2014-10-12 False 2016-02-20
2.7 2010-07-03 2.7.18 2020-04-19 False 2020-01-01
3.1 2009-06-27 3.1.5 2012-04-06 False 2012-04-09
3.0 2008-12-03 3.0.1 2009-02-12 False 2009-06-27
2.6 2008-10-01 2.6.9 2013-10-29 False 2013-10-29

With options:

$ eol nodejs --rst
.. table::

    ==============================================================================================  ============  ==========  ================  ============  ============  ==================
                                                cycle                                                 release       latest     latest release     support         eol        extended support
    ==============================================================================================  ============  ==========  ================  ============  ============  ==================
     24 LTS                                                                                          2025-05-06    24.10.0     2025-10-08        2026-10-20    2028-04-30    False
     23                                                                                              2024-10-16    23.11.1     2025-05-14        2025-04-01    2025-06-01    False
     22 LTS                                                                                          2024-04-24    22.20.0     2025-09-24        2025-10-21    2027-04-30    False
     21                                                                                              2023-10-17    21.7.3      2024-04-10        2024-04-01    2024-06-01    False
     20 LTS                                                                                          2023-04-18    20.19.5     2025-09-03        2024-10-22    2026-04-30    False
     19                                                                                              2022-10-18    19.9.0      2023-04-10        2023-04-01    2023-06-01    False
     18 LTS                                                                                          2022-04-19    18.20.8     2025-03-27        2023-10-18    2025-04-30    True
     17                                                                                              2021-10-19    17.9.1      2022-06-01        2022-04-01    2022-06-01    False
     16 LTS                                                                                          2021-04-20    16.20.2     2023-08-09        2022-10-18    2023-09-11    True
     15                                                                                              2020-10-20    15.14.0     2021-04-06        2021-04-01    2021-06-01    False
     14 LTS                                                                                          2020-04-21    14.21.3     2023-02-16        2021-10-19    2023-04-30    True
     13                                                                                              2019-10-22    13.14.0     2020-04-29        2020-04-01    2020-06-01    False
     12 LTS                                                                                          2019-04-23    12.22.12    2022-04-05        2020-10-20    2022-04-30    True
     11                                                                                              2018-10-23    11.15.0     2019-04-30        2019-04-01    2019-06-30    False
     10 LTS                                                                                          2018-04-24    10.24.1     2021-04-06        2020-05-19    2021-04-30    False
     9                                                                                               2017-10-31    9.11.2      2018-06-12        2018-06-30    2018-06-30    False
     8 LTS                                                                                           2017-05-30    8.17.0      2019-12-17        2019-01-01    2019-12-31    False
     7                                                                                               2016-10-25    7.10.1      2017-07-11        2017-06-30    2017-06-30    False
     6 LTS                                                                                           2016-04-26    6.17.1      2019-04-03        2018-04-30    2019-04-30    False
     5                                                                                               2015-10-30    5.12.0      2016-06-23        2016-06-30    2016-06-30    False
     4 LTS                                                                                           2015-09-09    4.9.1       2018-03-29        2017-04-01    2018-04-30    False
     `3 <https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__>`__    2015-08-04    3.3.1       2015-09-15        False         True          False
     `2 <https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__>`__    2015-05-04    2.5.0       2015-07-28        False         True          False
     `1 <https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__>`__    2015-01-20    1.8.4       2015-07-09        False         True          False
    ==============================================================================================  ============  ==========  ================  ============  ============  ==================

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.24.1.tar.gz (38.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

norwegianblue-0.24.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: norwegianblue-0.24.1.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for norwegianblue-0.24.1.tar.gz
Algorithm Hash digest
SHA256 34a33b2eb07bd5e8c24b57722802fd0ce06a44d8cb1738d1cfef6a115298c074
MD5 fc3bdd196cd6156206067ae6d60809e7
BLAKE2b-256 9959aafa2e59a02329d6e3d7ff92d17d91ff3074c7c1de00ff23ddad1e6c6e18

See more details on using hashes here.

Provenance

The following attestation bundles were made for norwegianblue-0.24.1.tar.gz:

Publisher: deploy.yml on hugovk/norwegianblue

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: norwegianblue-0.24.1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for norwegianblue-0.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20f9b3b6e9b9f6c56219b7fd3ed851b5c9ae04eb075eefbbe3bdd602a44459c5
MD5 434b19381390f1a0aa87028b42e6d6f4
BLAKE2b-256 2efe0ac2849391c80b943bee63e130f4c61bb3f0f5a0cefb811c63c97be77714

See more details on using hashes here.

Provenance

The following attestation bundles were made for norwegianblue-0.24.1-py3-none-any.whl:

Publisher: deploy.yml on hugovk/norwegianblue

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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