Show HN: Extra-Platforms, Python library to detect OS, arch, shell, CI, AI(github.com)
github.com
Show HN: Extra-Platforms, Python library to detect OS, arch, shell, CI, AI
https://github.com/kdeldycke/extra-platforms
3 comments
The pytest decorators are the most immediately useful part for me — @skip_linux and @unless_macos solve something I've hacked around with pytest.mark.skipif(sys.platform != ...) more times than I'd like to admit.
The CI and AI agent detection is interesting. Curious how you handle cases where multiple agents are running in the same environment — does it return the first match or all of them?
For the moment I consider that only one agent can be active. If multiple are detected, I raise an error. That is intentional to gather more context and feedback from users. I will change this behavior as soon as someone report me a use-case.
See the implementation at: https://github.com/kdeldycke/extra-platforms/blob/ecbe740bf7...
See the implementation at: https://github.com/kdeldycke/extra-platforms/blob/ecbe740bf7...
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:
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: