Skip to main content

Enumeration of operating systems and their releases.

Project description

REMARK: This is a nighlty build with some minor issues, the final is following within a these days.

The ‘platformids‘ package provides the categorization and enumeration of OS platforms and distributions.

This enables the development of portable generic code for arbitrary platforms in IT and IoT landscapes consisting of heterogeneous physical and virtual runtime environments.

The introduced hierarchical bitmask vectors enable for fast and efficient platform specific code and data selection for OS and distributions with routines for specific platform releases.

The supported version numbering comprise various release schemes such as classical version numbers with variable segments and optional release names,

AlpineLinux-3.8.1 CentOS-6.10 Debian-9.6 Fedora31 OS-X-10.6.8 Ubuntu-18.04 armbian-5.76 cygwin-2.9.0 opensuse-15.1 opensuse-42.3 raspbian-9.4 slackware-14.2 solaris-11.3

variations of numbering schemes,

CentOS-7.5-1804 CentOS-7.6-1810 NT-6.3.9600 NT-6.1.7601 NT-5.1.2600

as well as various numbering schemes for continuous deployment including the numbering schemes of Windows releases.

archlinux-2018.12.01 kali-linux-2019-W11 kali-linux-2019.1 NT-10.0.1809 NT-10.0.1806

The current supported platforms are:

  • Linux, BSD, Unix, Minix, Cygwin, OS-X, and Windows

  • Servers, Workstations, Embedded Systems

  • Datacenters, public and private Clouds, IoT

  • x86, amd64, arm32/armhf, arm64/aarch64

Online documentation:



Project Data

  • PROJECT: ‘platformids’

  • MISSION: Identify and enumerate platform IDs for the OS and it’s distribution.

  • VERSION: 00.01

  • RELEASE: 00.01.039

  • STATUS: beta

  • AUTHOR: Arno-Can Uestuensoez

  • COPYRIGHT: Copyright (C) 2019 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez

  • LICENSE: Artistic-License-2.0 + Forced-Fairplay-Constraints

Concepts and enumeration values are migrated from the

  • UnifiedSessionsManager (C) 2008 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez.

Runtime Environment

For a comprehensive list refer to the documentation.

Python Syntax Support

  • Python2.7, and Python3

Python Implementation Support

  • CPython, IPython, IronPython, Jython, and PyPy

Jython requires on Windows platforms the optional Java package platformids.jy.dist.nt - see documentation:

  • JDK/JRE >= Java8

  • JNA

  • For the source-installation of the contained Java modules refer to setuplib with the commands build_java and build_jy.

OS on Server, Workstation, Laptops, Virtual Machines, and Containers

  • Linux: AlpineLinux, ArchLinux, CentOS, Debian, Fedora, Gentoo, OpenSUSE, Raspbian, RHEL, Slackware, SLES, Ubuntu, …

  • BSD: DragonFlyBSD, FreeBSD, NetBSD, OpenBSD, GhostBSD, TrueOS, NomadBSD

  • OS-X: Snow Leopard

  • Windows: Win10, Win8.1, Win7, WinXP, Win2019, Win2016, Win2012, Win2008, Win2000

  • WSL-1.0: Alpine, Debian, KaliLinux, openSUSE, SLES, Ubuntu

  • Cygwin

  • UNIX: Solaris10, Solaris11

  • Minix: Minix3

  • ReactOS

Network and Security

  • Network Devices: OpenWRT

  • Security: KaliLinux, pfSense, BlackArch, ParrotOS, Pentoo

OS on Embedded Devices

  • RaspberryPI: ArchLinux, CentOS, OpenBSD, OpenWRT, Raspbian

  • ASUS-TinkerBoard: Armbian

  • e.g. Adafruit Trinket M0: CircuitPython, MicroPython

Current Release

Major Changes:


  • AIX

  • MicroPython, CircuitPython

  • test OpenBSD on rpi3

  • test Windows10IoT-Core

  • NomadBSD: has some issues with running in VirtualBox, so shifted for now

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

platformids-0.1.39.tar.gz (612.9 kB view hashes)

Uploaded source

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