It detects six traits (CPU architecture, OS/distribution, shell, terminal, CI, agents), which are grouped into families (BSD, LINUX, UNIX, ...) for convenience.
You can try the library without installing anything:
$ uvx --with extra-platforms python
>>> from extra_platforms import current_platform, BSD, is_linux
>>> current_platform()
Platform(id='macos', name='macOS')
>>> current_platform() in BSD
True
>>> is_linux()
False
It also ships Pytest decorators (@skip_linux, @unless_macos) for platform-conditional tests.The library has zero dependencies and is Apache-2.0 licensed.
I'm interested in collecting edge cases, which you can send me by performing an auto-detection with:
$ uvx extra-platforms