InstallationΒΆ
Quick startΒΆ
Add the library to your project with uv:
$ uv add extra-platforms
Or inspect the current environment straight from your terminal with the bundled CLI:
$ uvx extra-platforms
Try itΒΆ
You can try Extra Platforms right now in your terminal, without installing any dependency or virtual env thanks to uvx:
$ uvx extra-platforms
$ uvx extra-platforms@13.10.1
$ uvx --from git+https://github.com/kdeldycke/extra-platforms -- extra-platforms
Try the libraryΒΆ
You can also try the library itself in an interactive Python shell without installing anything on your system:
$ uvx --with extra-platforms python
>>> from extra_platforms import current_platform, BSD, UNIX, LINUX
>>> current_platform()
Platform(id='macos', name='macOS')
>>> current_platform() in BSD
True
>>> current_platform() in UNIX
True
>>> current_platform() in LINUX
False
Install methodsΒΆ
This package is available on PyPI and in several OS distributions, so you can install the latest stable release with your favorite package manager:
Easiest way is to install uv, then add it to your project:
$ uv add extra-platforms
Or to install the CLI system-wide with uv tool:
$ uv tool install extra-platforms
You can install the latest stable release and its dependencies with a simple pip call:
$ python -m pip install extra-platforms
If you have difficulties to use pip, see pipβs own installation instructions.
pipx is a great way to install the CLI globally:
$ pipx install extra-platforms
A python-extra-platforms package is available on AUR and can be installed with any AUR helper:
$ yay -S python-extra-platforms
$ paru -S python-extra-platforms
Extra Platforms is available in GNU Guix:
$ guix install python-extra-platforms
Tip
The package landed in Guix on 2026-06-28. If guix install cannot find it yet, refresh your channels first with guix pull.
The python-extra-platforms package is available on openSUSE Tumbleweed:
$ sudo zypper install python3-extra-platforms
The sysutils/py-extra-platforms package is available in pkgsrc for NetBSD and all other platforms supported by pkgsrc:
$ pkgin install py313-extra-platforms
Or build it from source:
$ cd /usr/pkgsrc/sysutils/py-extra-platforms
$ make install clean
For the Pytest decorators, install the pytest extra: uv pip install 'extra-platforms[pytest]'.
Python compatibilityΒΆ
The table below shows which Python versions each extra-platforms release range supports, derived from each git tagβs pyproject.toml. It refreshes automatically through click-extraβs {matrix} directive, which repomaticβs update-docs job reruns to keep it in sync with new releases.
|
Released |
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|
|
2025-11-03 |
β |
β |
β |
β |
β |
β |
β |
|
2025-10-21 |
β |
β |
β |
β |
β |
β |
β |
|
2025-03-02 |
β |
β |
β |
β |
β |
β |
β |
|
2024-10-21 |
β |
β |
β |
β |
β |
β |
β |
|
2024-09-11 |
β |
β |
β |
β |
β |
β |
β |
|
2024-08-18 |
β |
β |
β |
β |
β |
β |
β |
DependenciesΒΆ
extra-platforms has no runtime dependency. The dependency graph on the packaging page covers the extras and development groups.
NamingΒΆ
Tip
I wanted to call this package platforms, but itβs already taken on PyPI. So I went with extra-platforms instead, to mark its affiliation with Click Extra.