This library seamlessly transforms diverse operating system product and release names from various tools into consistent, standardized canonical names, empowering reliable identification and integration.
It supports unstructured, inconsistent, and human-entered input as well as the identifiers used by the endoflife.date API.
Unstructured Input
Inventory tools or software provisioning tools often use names like the following to describe an operating system instance. This library converts strings like this into a standardized form.
Structured input from endoflife.date API
The endoflife.date API provides well-structured data and standardized names for products and releases. However, the names used are not familiar, e.g. the product windows has a release called 11-24h2-w. This refers to quite some Windows 11 operating systems, such as
- Microsoft Windows 11 Home 24H2
- Microsoft Windows 11 Pro 24H2
- [...]
This library resolves Windows releases referred to as "11-24h2-w" into a list of standardized operating system names covered by this name.
Supported products
As of 04.03.2026 arbitrary, unstructured names are supported for Windows 10 and 11.
Regarding releases available at the endoflife.date API, the library supports any release related to these products:
- Windows up to Windows 11 25H2
- Windows Server up to Windows Server 2025.
Roadmap
- Support for Linux operating systems
- Support other Windows operating systems:
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://opensource.org/license/apache-2-0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.