# 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"
}