norwegianblue


Namenorwegianblue JSON
Version 0.19.0 PyPI version JSON
download
home_pageNone
SummaryCLI to show end-of-life dates for a number of products
upload_time2024-10-17 18:38:24
maintainerNone
docs_urlNone
authorHugo van Kemenade
requires_python>=3.9
licenseMIT
keywords cli end-of-life endoflife eol
VCS
bugtrack_url
requirements freezegun httpx platformdirs prettytable pytablewriter pytest pytest-cov python-slugify respx termcolor
Travis-CI No Travis.
coveralls test coverage
            # norwegianblue

[![PyPI version](https://img.shields.io/pypi/v/norwegianblue.svg?logo=pypi&logoColor=FFE873)](https://pypi.org/project/norwegianblue/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/norwegianblue.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/norwegianblue/)
[![PyPI downloads](https://img.shields.io/pypi/dm/norwegianblue.svg)](https://pypistats.org/packages/norwegianblue)
[![Test](https://github.com/hugovk/norwegianblue/actions/workflows/test.yml/badge.svg)](https://github.com/hugovk/norwegianblue/actions)
[![codecov](https://codecov.io/gh/hugovk/norwegianblue/branch/main/graph/badge.svg)](https://codecov.io/gh/hugovk/norwegianblue)
[![Licence](https://img.shields.io/github/license/hugovk/norwegianblue.svg)](LICENSE.txt)
[![Code style: Black](https://img.shields.io/badge/code%20style-Black-000000.svg)](https://github.com/psf/black)

<p align="center"><img src="https://raw.githubusercontent.com/hugovk/norwegianblue/main/img/eol-python.png" width="370" height="225"></p>

Python interface to [endoflife.date](https://endoflife.date/docs/api/) to show
end-of-life dates for a number of products.

## Installation

### From PyPI

```bash
python3 -m pip install --upgrade norwegianblue
```

### With [pipx][pipx]

```bash
pipx install norwegianblue
```

[pipx]: https://github.com/pypa/pipx

### From source

```bash
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:

<!-- [[[cog
from scripts.run_command import run
run("eol --help")
]]] -->

```console
$ eol --help
usage: eol [-h] [-f {html,json,md,markdown,pretty,rst,csv,tsv,yaml}] [-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
  -f {html,json,md,markdown,pretty,rst,csv,tsv,yaml}, --format {html,json,md,markdown,pretty,rst,csv,tsv,yaml}
                        deprecated: use direct options instead: --html, --json, --md, --pretty, --rst, --csv, --tsv or
                        --yaml
  -c {yes,no,auto}, --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
```

<!-- [[[end]]] -->

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

```console
$ # eol all
$ # or:
```

<!-- [[[cog
run("eol", line_limit=5)
]]] -->

```console
$ eol
akeneo-pim
alibaba-dragonwell
almalinux
alpine
amazon-cdk
...
```

<!-- [[[end]]] -->

Show end-of-life dates:

<!-- [[[cog
run("norwegianblue python")
]]] -->

```console
$ norwegianblue python
┌───────┬────────────┬─────────┬────────────────┬────────────┬────────────┐
│ cycle │  release   │ latest  │ latest release │  support   │    eol     │
├───────┼────────────┼─────────┼────────────────┼────────────┼────────────┤
│ 3.12  │ 2023-10-02 │ 3.12.0  │   2023-10-02   │ 2025-04-02 │ 2028-10-02 │
│ 3.11  │ 2022-10-24 │ 3.11.6  │   2023-10-02   │ 2024-04-01 │ 2027-10-24 │
│ 3.10  │ 2021-10-04 │ 3.10.13 │   2023-08-24   │ 2023-04-05 │ 2026-10-04 │
│ 3.9   │ 2020-10-05 │ 3.9.18  │   2023-08-24   │ 2022-05-17 │ 2025-10-05 │
│ 3.8   │ 2019-10-14 │ 3.8.18  │   2023-08-24   │ 2021-05-03 │ 2024-10-14 │
│ 3.7   │ 2018-06-26 │ 3.7.17  │   2023-06-05   │ 2020-06-27 │ 2023-06-27 │
│ 3.6   │ 2016-12-22 │ 3.6.15  │   2021-09-03   │ 2018-12-24 │ 2021-12-23 │
│ 3.5   │ 2015-09-12 │ 3.5.10  │   2020-09-05   │   False    │ 2020-09-13 │
│ 3.4   │ 2014-03-15 │ 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 │
│ 2.7   │ 2010-07-03 │ 2.7.18  │   2020-04-19   │   False    │ 2020-01-01 │
│ 2.6   │ 2008-10-01 │ 2.6.9   │   2013-10-29   │   False    │ 2013-10-29 │
└───────┴────────────┴─────────┴────────────────┴────────────┴────────────┘
```

<!-- [[[end]]] -->

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

<!-- [[[cog
run("eol python --md", with_console=False)
]]] -->

| cycle |  release   | latest  | latest release |  support   |    eol     |
| :---- | :--------: | :------ | :------------: | :--------: | :--------: |
| 3.12  | 2023-10-02 | 3.12.0  |   2023-10-02   | 2025-04-02 | 2028-10-02 |
| 3.11  | 2022-10-24 | 3.11.6  |   2023-10-02   | 2024-04-01 | 2027-10-24 |
| 3.10  | 2021-10-04 | 3.10.13 |   2023-08-24   | 2023-04-05 | 2026-10-04 |
| 3.9   | 2020-10-05 | 3.9.18  |   2023-08-24   | 2022-05-17 | 2025-10-05 |
| 3.8   | 2019-10-14 | 3.8.18  |   2023-08-24   | 2021-05-03 | 2024-10-14 |
| 3.7   | 2018-06-26 | 3.7.17  |   2023-06-05   | 2020-06-27 | 2023-06-27 |
| 3.6   | 2016-12-22 | 3.6.15  |   2021-09-03   | 2018-12-24 | 2021-12-23 |
| 3.5   | 2015-09-12 | 3.5.10  |   2020-09-05   |   False    | 2020-09-13 |
| 3.4   | 2014-03-15 | 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 |
| 2.7   | 2010-07-03 | 2.7.18  |   2020-04-19   |   False    | 2020-01-01 |
| 2.6   | 2008-10-01 | 2.6.9   |   2013-10-29   |   False    | 2013-10-29 |

<!-- [[[end]]] -->

With options:

<!-- [[[cog
run("eol nodejs --rst")
]]] -->

```console
$ eol nodejs --rst
.. table::

    ========  ============  ==========  ================  ============  ============  ======================================================================================
     cycle      release       latest     latest release     support         eol                                                link
    ========  ============  ==========  ================  ============  ============  ======================================================================================
     21        2023-10-17    21.1.0      2023-10-24        2024-04-01    2024-06-01
     20 LTS    2023-04-18    20.9.0      2023-10-24        2024-10-22    2026-04-30
     19        2022-10-18    19.9.0      2023-04-10        2023-04-01    2023-06-01
     18 LTS    2022-04-19    18.18.2     2023-10-13        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.20.2     2023-08-09        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.3     2023-02-16        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          https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__
     2         2015-05-04    2.5.0       2015-07-28        False         True          https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__
     1         2015-01-20    1.8.4       2015-07-09        False         True          https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__
    ========  ============  ==========  ================  ============  ============  ======================================================================================
```

<!-- [[[end]]] -->

## Example programmatic use

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

```python
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.](https://youtu.be/vnciwwsvNcc)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "norwegianblue",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "cli, end-of-life, endoflife, eol",
    "author": "Hugo van Kemenade",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/b3/52/433710ac30ec0b0c76ad8c8efbade045149e0cb16aacff56ae1ea56caf0b/norwegianblue-0.19.0.tar.gz",
    "platform": null,
    "description": "# norwegianblue\n\n[![PyPI version](https://img.shields.io/pypi/v/norwegianblue.svg?logo=pypi&logoColor=FFE873)](https://pypi.org/project/norwegianblue/)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/norwegianblue.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/norwegianblue/)\n[![PyPI downloads](https://img.shields.io/pypi/dm/norwegianblue.svg)](https://pypistats.org/packages/norwegianblue)\n[![Test](https://github.com/hugovk/norwegianblue/actions/workflows/test.yml/badge.svg)](https://github.com/hugovk/norwegianblue/actions)\n[![codecov](https://codecov.io/gh/hugovk/norwegianblue/branch/main/graph/badge.svg)](https://codecov.io/gh/hugovk/norwegianblue)\n[![Licence](https://img.shields.io/github/license/hugovk/norwegianblue.svg)](LICENSE.txt)\n[![Code style: Black](https://img.shields.io/badge/code%20style-Black-000000.svg)](https://github.com/psf/black)\n\n<p align=\"center\"><img src=\"https://raw.githubusercontent.com/hugovk/norwegianblue/main/img/eol-python.png\" width=\"370\" height=\"225\"></p>\n\nPython interface to [endoflife.date](https://endoflife.date/docs/api/) to show\nend-of-life dates for a number of products.\n\n## Installation\n\n### From PyPI\n\n```bash\npython3 -m pip install --upgrade norwegianblue\n```\n\n### With [pipx][pipx]\n\n```bash\npipx install norwegianblue\n```\n\n[pipx]: https://github.com/pypa/pipx\n\n### From source\n\n```bash\ngit clone https://github.com/hugovk/norwegianblue\ncd norwegianblue\npython3 -m pip install .\n```\n\n## Example command-line use\n\nRun `norwegianblue` or `eol`, they do the same thing.\n\nTop-level help:\n\n<!-- [[[cog\nfrom scripts.run_command import run\nrun(\"eol --help\")\n]]] -->\n\n```console\n$ eol --help\nusage: eol [-h] [-f {html,json,md,markdown,pretty,rst,csv,tsv,yaml}] [-c {yes,no,auto}] [--clear-cache] [--show-title {yes,no,auto}] [-v] [-V] [-w]\n           [--pretty | --md | --rst | --json | --csv | --tsv | --html | --yaml]\n           [product ...]\n\nCLI to show end-of-life dates for a number of products, from https://endoflife.date\n\nFor example:\n\n* `eol python` to see Python EOLs\n* `eol ubuntu` to see Ubuntu EOLs\n* `eol centos fedora` to see CentOS and Fedora EOLs\n* `eol all` or `eol` to list all available products\n\nSomething missing? Please contribute! https://endoflife.date/contribute\n\npositional arguments:\n  product               product to check, or 'all' to list all available (default: 'all')\n\noptions:\n  -h, --help            show this help message and exit\n  -f {html,json,md,markdown,pretty,rst,csv,tsv,yaml}, --format {html,json,md,markdown,pretty,rst,csv,tsv,yaml}\n                        deprecated: use direct options instead: --html, --json, --md, --pretty, --rst, --csv, --tsv or\n                        --yaml\n  -c {yes,no,auto}, --color {yes,no,auto}\n                        colour the output (default: auto)\n  --clear-cache         clear cache before running\n  --show-title {yes,no,auto}\n                        show or hide product title, 'auto' to show title only for multiple products (default: auto)\n  -v, --verbose         print extra messages to stderr\n  -V, --version         show program's version number and exit\n  -w, --web             open product page in web browser\n\nformatters:\n  --pretty              output in pretty (default)\n  --md                  output in Markdown\n  --rst                 output in reStructuredText\n  --json                output in JSON\n  --csv                 output in CSV\n  --tsv                 output in TSV\n  --html                output in HTML\n  --yaml                output in YAML\n```\n\n<!-- [[[end]]] -->\n\nList all available products with end-of-life dates:\n\n```console\n$ # eol all\n$ # or:\n```\n\n<!-- [[[cog\nrun(\"eol\", line_limit=5)\n]]] -->\n\n```console\n$ eol\nakeneo-pim\nalibaba-dragonwell\nalmalinux\nalpine\namazon-cdk\n...\n```\n\n<!-- [[[end]]] -->\n\nShow end-of-life dates:\n\n<!-- [[[cog\nrun(\"norwegianblue python\")\n]]] -->\n\n```console\n$ norwegianblue python\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 cycle \u2502  release   \u2502 latest  \u2502 latest release \u2502  support   \u2502    eol     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 3.12  \u2502 2023-10-02 \u2502 3.12.0  \u2502   2023-10-02   \u2502 2025-04-02 \u2502 2028-10-02 \u2502\n\u2502 3.11  \u2502 2022-10-24 \u2502 3.11.6  \u2502   2023-10-02   \u2502 2024-04-01 \u2502 2027-10-24 \u2502\n\u2502 3.10  \u2502 2021-10-04 \u2502 3.10.13 \u2502   2023-08-24   \u2502 2023-04-05 \u2502 2026-10-04 \u2502\n\u2502 3.9   \u2502 2020-10-05 \u2502 3.9.18  \u2502   2023-08-24   \u2502 2022-05-17 \u2502 2025-10-05 \u2502\n\u2502 3.8   \u2502 2019-10-14 \u2502 3.8.18  \u2502   2023-08-24   \u2502 2021-05-03 \u2502 2024-10-14 \u2502\n\u2502 3.7   \u2502 2018-06-26 \u2502 3.7.17  \u2502   2023-06-05   \u2502 2020-06-27 \u2502 2023-06-27 \u2502\n\u2502 3.6   \u2502 2016-12-22 \u2502 3.6.15  \u2502   2021-09-03   \u2502 2018-12-24 \u2502 2021-12-23 \u2502\n\u2502 3.5   \u2502 2015-09-12 \u2502 3.5.10  \u2502   2020-09-05   \u2502   False    \u2502 2020-09-13 \u2502\n\u2502 3.4   \u2502 2014-03-15 \u2502 3.4.10  \u2502   2019-03-18   \u2502   False    \u2502 2019-03-18 \u2502\n\u2502 3.3   \u2502 2012-09-29 \u2502 3.3.7   \u2502   2017-09-19   \u2502   False    \u2502 2017-09-29 \u2502\n\u2502 2.7   \u2502 2010-07-03 \u2502 2.7.18  \u2502   2020-04-19   \u2502   False    \u2502 2020-01-01 \u2502\n\u2502 2.6   \u2502 2008-10-01 \u2502 2.6.9   \u2502   2013-10-29   \u2502   False    \u2502 2013-10-29 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n<!-- [[[end]]] -->\n\nYou can format in Markdown, ready for pasting in GitHub issues and PRs:\n\n<!-- [[[cog\nrun(\"eol python --md\", with_console=False)\n]]] -->\n\n| cycle |  release   | latest  | latest release |  support   |    eol     |\n| :---- | :--------: | :------ | :------------: | :--------: | :--------: |\n| 3.12  | 2023-10-02 | 3.12.0  |   2023-10-02   | 2025-04-02 | 2028-10-02 |\n| 3.11  | 2022-10-24 | 3.11.6  |   2023-10-02   | 2024-04-01 | 2027-10-24 |\n| 3.10  | 2021-10-04 | 3.10.13 |   2023-08-24   | 2023-04-05 | 2026-10-04 |\n| 3.9   | 2020-10-05 | 3.9.18  |   2023-08-24   | 2022-05-17 | 2025-10-05 |\n| 3.8   | 2019-10-14 | 3.8.18  |   2023-08-24   | 2021-05-03 | 2024-10-14 |\n| 3.7   | 2018-06-26 | 3.7.17  |   2023-06-05   | 2020-06-27 | 2023-06-27 |\n| 3.6   | 2016-12-22 | 3.6.15  |   2021-09-03   | 2018-12-24 | 2021-12-23 |\n| 3.5   | 2015-09-12 | 3.5.10  |   2020-09-05   |   False    | 2020-09-13 |\n| 3.4   | 2014-03-15 | 3.4.10  |   2019-03-18   |   False    | 2019-03-18 |\n| 3.3   | 2012-09-29 | 3.3.7   |   2017-09-19   |   False    | 2017-09-29 |\n| 2.7   | 2010-07-03 | 2.7.18  |   2020-04-19   |   False    | 2020-01-01 |\n| 2.6   | 2008-10-01 | 2.6.9   |   2013-10-29   |   False    | 2013-10-29 |\n\n<!-- [[[end]]] -->\n\nWith options:\n\n<!-- [[[cog\nrun(\"eol nodejs --rst\")\n]]] -->\n\n```console\n$ eol nodejs --rst\n.. table::\n\n    ========  ============  ==========  ================  ============  ============  ======================================================================================\n     cycle      release       latest     latest release     support         eol                                                link\n    ========  ============  ==========  ================  ============  ============  ======================================================================================\n     21        2023-10-17    21.1.0      2023-10-24        2024-04-01    2024-06-01\n     20 LTS    2023-04-18    20.9.0      2023-10-24        2024-10-22    2026-04-30\n     19        2022-10-18    19.9.0      2023-04-10        2023-04-01    2023-06-01\n     18 LTS    2022-04-19    18.18.2     2023-10-13        2023-10-18    2025-04-30\n     17        2021-10-19    17.9.1      2022-06-01        2022-04-01    2022-06-01\n     16 LTS    2021-04-20    16.20.2     2023-08-09        2022-10-18    2023-09-11\n     15        2020-10-20    15.14.0     2021-04-06        2021-04-01    2021-06-01\n     14 LTS    2020-04-21    14.21.3     2023-02-16        2021-10-19    2023-04-30\n     13        2019-10-22    13.14.0     2020-04-29        2020-04-01    2020-06-01\n     12 LTS    2019-04-23    12.22.12    2022-04-05        2020-10-20    2022-04-30\n     11        2018-10-23    11.15.0     2019-04-30        2019-04-01    2019-06-30\n     10 LTS    2018-04-24    10.24.1     2021-04-06        2020-05-19    2021-04-30\n     9         2017-10-31    9.11.2      2018-06-12        2018-06-30    2018-06-30\n     8 LTS     2017-05-30    8.17.0      2019-12-17        2019-01-01    2019-12-31\n     7         2016-10-25    7.10.1      2017-07-11        2017-06-30    2017-06-30\n     6 LTS     2016-04-26    6.17.1      2019-04-03        2018-04-30    2019-04-30\n     5         2015-10-30    5.12.0      2016-06-23        2016-06-30    2016-06-30\n     4 LTS     2015-09-09    4.9.1       2018-03-29        2017-04-01    2018-04-30\n     3         2015-08-04    3.3.1       2015-09-15        False         True          https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__\n     2         2015-05-04    2.5.0       2015-07-28        False         True          https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__\n     1         2015-01-20    1.8.4       2015-07-09        False         True          https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_IOJS.md#__LATEST__\n    ========  ============  ==========  ================  ============  ============  ======================================================================================\n```\n\n<!-- [[[end]]] -->\n\n## Example programmatic use\n\nReturn values are from the JSON responses documented in the API:\nhttps://endoflife.date/docs/api/\n\n```python\nimport norwegianblue\n\n# Call the API\nprint(norwegianblue.norwegianblue())\nprint(norwegianblue.norwegianblue(product=\"ubuntu\"))\nprint(norwegianblue.norwegianblue(format=\"json\"))\n```\n\n## Why \"Norwegian Blue\"?\n\n[The Norwegian Blue has reached end-of-life.](https://youtu.be/vnciwwsvNcc)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CLI to show end-of-life dates for a number of products",
    "version": "0.19.0",
    "project_urls": {
        "Changelog": "https://github.com/hugovk/norwegianblue/releases",
        "Homepage": "https://github.com/hugovk/norwegianblue",
        "Source": "https://github.com/hugovk/norwegianblue"
    },
    "split_keywords": [
        "cli",
        " end-of-life",
        " endoflife",
        " eol"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f55e071c7c640b957f5f5b65776ef2f766d393194212be472dc9b9b399546047",
                "md5": "2f33661b08308eb1422628a670d83697",
                "sha256": "244d7323ef1bd9ca51d72e5f9b24adfbe8748762e9f563a3160a095150140d15"
            },
            "downloads": -1,
            "filename": "norwegianblue-0.19.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2f33661b08308eb1422628a670d83697",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 12359,
            "upload_time": "2024-10-17T18:38:22",
            "upload_time_iso_8601": "2024-10-17T18:38:22.512299Z",
            "url": "https://files.pythonhosted.org/packages/f5/5e/071c7c640b957f5f5b65776ef2f766d393194212be472dc9b9b399546047/norwegianblue-0.19.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b352433710ac30ec0b0c76ad8c8efbade045149e0cb16aacff56ae1ea56caf0b",
                "md5": "e9d400dbde52e044cb1ced8ef803201c",
                "sha256": "ffd56648aae29da1e2aae042bb59b39b29141ad8beaf1a817bebb81c7d073ee0"
            },
            "downloads": -1,
            "filename": "norwegianblue-0.19.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e9d400dbde52e044cb1ced8ef803201c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 36936,
            "upload_time": "2024-10-17T18:38:24",
            "upload_time_iso_8601": "2024-10-17T18:38:24.487495Z",
            "url": "https://files.pythonhosted.org/packages/b3/52/433710ac30ec0b0c76ad8c8efbade045149e0cb16aacff56ae1ea56caf0b/norwegianblue-0.19.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-17 18:38:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hugovk",
    "github_project": "norwegianblue",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "freezegun",
            "specs": [
                [
                    "==",
                    "1.5.1"
                ]
            ]
        },
        {
            "name": "httpx",
            "specs": [
                [
                    "==",
                    "0.27.2"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.3.6"
                ]
            ]
        },
        {
            "name": "prettytable",
            "specs": [
                [
                    "==",
                    "3.11.0"
                ]
            ]
        },
        {
            "name": "pytablewriter",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.3.3"
                ]
            ]
        },
        {
            "name": "pytest-cov",
            "specs": [
                [
                    "==",
                    "5.0.0"
                ]
            ]
        },
        {
            "name": "python-slugify",
            "specs": [
                [
                    "==",
                    "8.0.4"
                ]
            ]
        },
        {
            "name": "respx",
            "specs": [
                [
                    "==",
                    "0.21.1"
                ]
            ]
        },
        {
            "name": "termcolor",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "norwegianblue"
}
        
Elapsed time: 1.93504s