| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python314-extra-platforms | Distribution: openSUSE Tumbleweed |
| Version: 13.5.1 | Vendor: openSUSE |
| Release: 1.1 | Build date: Tue Jul 28 06:57:34 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 689069 | Source RPM: python-extra-platforms-13.5.1-1.1.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://github.com/kdeldycke/extra-platforms | |
| Summary: Detect platforms and group them by family | |
Detect platforms and group them by family
Apache-2.0
* Tue Jul 28 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.5.1:
* Skip test_github_runner_detection unless
EXTRA_PLATFORMS_TEST_MATRIX is set, instead of whenever GitHub CI
is detected, so downstream packagers building the test suite
inside GitHub Actions no longer fail on the absent matrix
variable.
- update to 13.5.0:
* Rename the GUIX_BUILD CI trait to HERMETIC_BUILD. GUIX_BUILD,
is_guix_build() and the skip_guix_build/unless_guix_build
decorators still resolve to their HERMETIC_BUILD counterparts with
a DeprecationWarning, and will be removed in 14.0.0.
* Mon Jul 27 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.4.0:
* Add write_fake_executable() to extra_platforms.pytest: a fake
command for tests that drive a real subprocess, runnable even
in a /bin/sh-less build sandbox.
* Add @skip_hermetic_build / @unless_hermetic_build as aliases of
the Guix-build decorators, covering any HOME=/homeless-shelter
build sandbox (Guix, Nixpkgs, ...).
* Ship the test suite in the PyPI sdist so downstream packagers
can build and test from it; a plain pytest run no longer needs
pytest-cov or pytest-xdist.
* Drop the repomatic documentation dependency: the
MyST-docstrings Sphinx extension now comes from
click-extra[sphinx]>=8.5.
* Add a "Downstream packaging" guide for distribution packagers.
* Extend the Sphinx cross-reference conformance tests to
MyST-style roles in Python docstrings, previously never
collected.
* Mon Jul 20 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.3.1 (fix bsc#1262985):
* Fix test_current_funcs failing under nested shells: extra
shells backed by real ancestor processes (like a fish session
running an OBS chroot build) are now accounted for. Addresses
[#619]
* Document detection semantics on every trait page: which traits
can match simultaneously (shells, platforms, terminals), which
are exclusive (architectures, CI systems, agents), and how each
current_*() function arbitrates or reports absences.
* Skip the whole test workflow on version-bump pushes and pull
requests.
* Skip the package install checks on pull requests: they exercise
the released package, not the change under review.
* Run the test suite in parallel outside CI too, by moving
- -numprocesses=auto and --dist=loadgroup to pytest addopts.
* Fri Jul 17 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.3.0:
* Deprecate the TUMBLEWEED platform: openSUSE Tumbleweed is now
detected as OPENSUSE. TUMBLEWEED, is_tumbleweed() and the
skip_tumbleweed/unless_tumbleweed decorators still resolve to
their OPENSUSE counterparts with a DeprecationWarning, and will
be removed in 14.0.0.
* Detect all openSUSE release channels (Tumbleweed, Leap,
Slowroll, MicroOS, ...) as OPENSUSE. Closes #619
* Platform.info() now reports the raw os-release ID of
distribution sub-variants in its distro_id field (like ol or
opensuse-slowroll) instead of aliasing it to the canonical
platform ID.
* Rename NON_OVERLAPPING_GROUPS to CANONICAL_GROUPS and
EXTRA_GROUPS to NON_CANONICAL_GROUPS, matching the
Group.canonical vocabulary. The old names still resolve with a
DeprecationWarning, and will be removed in 14.0.0.
* Trait.info() is now implemented by the base class with identity
metadata: custom Trait subclasses are no longer forced to
override it.
* Rename the ALL_CI group to "All CI systems" and ALL_AGENTS to
"All AI coding agents", aligning with the other "all" group
names.
* current_traits() now returns an immutable frozenset: mutating
the previously returned set corrupted its cache.
* linux_info() now returns None for missing fields instead of
empty strings, like macos_info() and windows_info().
* Fix pytest decorator skip reasons mangling acronyms and brand
names ("Skip cI systems" is now "Skip All CI systems").
* Fix grammar and labels of the current_*() multiple-match errors
("Multiple CI matches:" is now "Multiple CI systems match:").
* Fix the cff-version schema field in citation.cff being
overwritten with the package version on every version bump.
* Fix stale agent tables, Sankey and mindmap diagrams in the
documentation: they are now regenerated like the other trait
categories.
* Document the platform granularity policy: independent
derivative distributions get a dedicated platform, while
channels and variants of the same distribution fold into their
parent.
* Replace the hand-maintained per-architecture, per-platform,
per-CI and per-agent exclusivity test blocks with generic
mutual-exclusion conformance tests.
* Convert test_platform_info.py from test classes to parametrized
top-level functions.
- contains a partial fix for bsc#1262985, but another test is
failing on Slowroll, hence keeping the bug open
* Thu Jul 16 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.2.0:
* Add PikaOS platform detection: PIKAOS / is_pikaos() (via ID=pika
in os-release). Closes #610
* Document installation from AUR, GNU Guix, openSUSE Tumbleweed and
pkgsrc.
* Wed Jul 08 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.1.0:
* Add ChromeOS platform detection: CHROMEOS / is_chromeos(),
covering ChromeOS itself, ChromiumOS and derivatives like
FydeOS, and the Crostini Linux container, where
current_platform() prefers the container's own distribution, as
with WSL.
* Add Clear Linux OS platform detection: CLEARLINUX /
is_clearlinux() (via ID=clear-linux-os in os-release).
* Add SliTaz GNU/Linux platform detection: SLITAZ / is_slitaz()
(via /etc/slitaz-release, as SliTaz ships no os-release file).
* Add Source Mage GNU/Linux platform detection: SOURCEMAGE /
is_sourcemage() (via ID=sourcemage in os-release).
* Upload coverage to Codecov from one runner per OS, on the
oldest and newest Python, instead of every test matrix cell.
* Drop the Codecov Test Analytics upload and the junit.xml report
generation.
* Assert CLI behavior in CI with a declarative click-extra test
suite (tests/cli-test-suite.toml), replacing the hand-rolled
smoke invocations.
* Add the macos-15-intel runner to the test matrix.
* Fri Jun 19 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.0.1:
* Add detection of macOS Golden Gate (v27.x).
* Sat May 30 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 13.0.0:
* Add IBM i platform detection: OS400 / is_os400(), recognized
via sys.platform == "os400" (reported by Python 3.9+ in IBM i's
AIX-compatible PASE runtime). Grouped under UNIX_LAYERS
alongside Cygwin.
* Detect the active shell on Windows by walking the parent
process tree via the Win32 Tool Help API
(CreateToolhelp32Snapshot), where neither /proc nor ps exists.
is_powershell(), is_cmd(), Git Bash detection through
is_bash(), current_shell() arbitration, and
current_shell_path() now rely on the actual ancestor processes
rather than only the PROMPT/PSModulePath environment variables.
Executable paths are resolved with QueryFullProcessImageNameW.
The ctypes bindings live in a new extra_platforms._windows
module, imported lazily and only on Windows.
* Add current_shell_path() returning the executable path of the
current shell (from the process tree when available, falling
back to SHELL). Shell.info() now exposes the running shell's
binary in its "path" field instead of always returning the
configured login shell from SHELL.
* Detect interpreter-hosted shells like Xonsh, which runs as a
Python script so the process tree shows python rather than
xonsh. The tree walk scans interpreter arguments for the
shell's launcher file, matching only an existing file named
exactly after the shell to avoid false positives. A new
interpreter field on Shell declares the host interpreter (XONSH
sets it to python).
* Recognize shells running under a user-mode CPU emulator: under
foreign-architecture emulation (like docker run --platform
linux/arm64 on an x86 host), the process tree shows
qemu-aarch64 /bin/bash … rather than bash; the walk strips a
leading qemu-<arch> (or rosetta) wrapper and reads the emulated
command, composing with interpreter-hosted detection.
* Detect the active shell on illumos, Solaris, and AIX/IBM i.
Their System V /proc exposes process status as binary pstatus_t
with no /proc/<pid>/cmdline or exe: the /proc walk previously
raised UnicodeDecodeError, crashing current_shell(). It now
reads /proc records as bytes and falls back to ps when /proc
yields nothing. The ps invocation uses the portable POSIX form
(-o pid=,ppid=,args=) with positional parsing of empty headers,
working across the System V ps of all three.
* Extend shell detection via the process tree to macOS and the
BSDs: the /proc-based walk was Linux-only, and the ps-based
fallback now covers macOS, FreeBSD, DragonFly, and other
systems without /proc. The walk also recognizes login shells
(argv[0] like -bash), survives an unreadable /proc/<pid>/exe
via /proc/<pid>/cmdline, and reads parent PIDs from BSD procfs
layout (/proc/<pid>/status).
* Render GitHub-style alerts (> [!NOTE], > [!WARNING], …) as
admonitions in the documentation by enabling MyST's alert
extension (requires myst-parser>=5.1).
* Drop the types-requests typing stub and the now-empty typing
dependency group, and require requests>=2.34, which ships
inline type hints (PEP 561).
* Thu Apr 30 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 12.0.3:
* Extend missing-shell tolerance to test_skip_all_shells,
test_skip_bash, and test_skip_powershell in
tests/test_pytest.py. The 12.0.2 shell-tolerance work only
covered tests/test_root.py, leaving these three tests failing
on sandboxed builders (Guix, BusyBox-only images) where no
shell is detected.
- update to 12.0.2:
* Move --cov, --cov-report=term, --numprocesses=auto, and
- -dist=loadgroup from pyproject.toml [tool.pytest].addopts into
the CI workflow. Removes pytest-cov and pytest-xdist as
unconditional test-time dependencies for downstream packagers.
* Avoid spurious cmd /c ver subprocess calls on Windows in
detection functions for non-Windows platforms. is_macos() now
relies on sys.platform == "darwin" directly. is_illumos(),
is_solaris(), is_sunos(), is_wsl1(), and is_wsl2()
short-circuit on sys.platform before invoking
platform.platform(), platform.uname(), or platform.release()
(each of which shells out via platform._syscmd_ver on Windows).
Fixes downstream test suites that globally patch
subprocess.run.
* Improve test portability: add network marker to
test_pyproject_classifiers (exclude in sandboxed builds with
pytest -m "not network"); tolerate missing shells in
test_current_funcs and test_current_strict_mode (Guix builders,
BusyBox-only images, where shell detection finds nothing).
* Mon Apr 27 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 12.0.1:
* Defer logging and warnings imports out of the cold-load path: the
stdlib logging import pulls in traceback (and _colorize on Python
3.14+), which dominates import time on slow architectures like
i586. Closes {issue}494
* Loosen the test_import_time threshold from 500 ms to 1000 ms as a
safety margin for slower architectures.
* Sun Apr 26 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 12.0.0:
* Add SH (Bourne Shell) trait and is_sh() detection function.
* Add GUIX_BUILD CI trait and is_guix_build() detection function.
* Add --json, --version, and --help options to the CLI. --json
outputs all detected traits and groups as a JSON object for
scripting.
* Overhaul shell detection: resolve symlinks in SHELL before
identifying the implementation (so /bin/sh → /bin/bash detects
bash, not sh); current_shell() now disambiguates via three-tier
priority — startup env vars, then /proc parent process tree,
then SHELL value — fixing detection on CI runners where
SHELL=/bin/sh points to a different shell than the one actually
executing; SH is treated as a low-specificity fallback and
stripped when a more specific shell is detected; new
version_env_var field on Shell records each shell's startup
environment variable (like BASH_VERSION for Bash);
is_powershell() now checks PSModulePath as a presence signal
rather than a version variable. Use is_bourne_shells() to check
for a Bourne-compatible interface regardless of implementation.
* Tue Apr 21 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 11.1.0:
* Add NixOS platform detection.
* Convert Python docstrings to MyST markdown; render them with the
repomatic.myst_docstrings Sphinx extension.
* Expand CI test matrix to cover Ubuntu 22.04, Ubuntu 22.04 ARM,
macOS 14, macOS 15, and Windows 2022.
* Fri Apr 03 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 11.0.5:
* Add project logo and banner. Closes {gh}522
* Fix broken pipx documentation link. Closes {gh}386
* Enable check_untyped_defs in mypy configuration. Fix all
resulting type errors.
* Tue Mar 31 2026 Steve Kowalik <steven.kowalik@suse.com>
- Update to 11.0.4:
* Add Void Linux platform detection.
* Tue Mar 24 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 11.0.3 :
* Add type stubs for dynamically generated is_*() group detection
functions.
* Exclude windows-11-arm + Python 3.10 from test matrix (no
native ARM64 build).
* Add Windows ARM64 workaround to force native Python instead of
x86 emulation.
* Migrate Codecov integration from codecov-action to codecov-cli.
* Enable parallel test execution by default via
- -numprocesses=auto in pytest addopts.
* Thu Mar 05 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 11.0.2:
* Raise import time test threshold from 200 ms to 500 ms to
accommodate slower architectures like i586. Closes #494
* Wed Mar 04 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 11.0.1:
* Cache AST parse results per module in docstring generation,
reducing import extra_platforms from ~120 ms to ~34 ms.
* Mon Mar 02 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 11.0.0:
* Switch license from GPL-2.0+ to Apache-2.0
* Mon Mar 02 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 10.0.0:
* Replace distro dependency with built-in /etc/os-release parser,
making the package dependency-free. macOS Platform.info() now
returns distro_id: None instead of distro_id: "darwin".
* Add new Agent trait type for detecting AI coding agents.
* Add 3 agent definitions: CLAUDE_CODE, CLINE, CURSOR.
* Add current_agent() detection function.
* Add agent group: ALL_AGENTS.
* Add @skip_<agent> and @unless_<agent> pytest decorators for all
agents and agent groups.
* Add GENERIC_LINUX platform for Linux environments where distro
cannot identify the specific distribution (e.g., minimal
containers or build chroots without /etc/os-release). Closes
[#479].
* Show detected agent in extra-platforms CLI output.
* Use TERM, CI, and LLM environment variables to distinguish
unrecognized terminals, CI systems, and agents from absent
ones.
* Tue Feb 17 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 9.2.0:
* Add new Terminal trait type for detecting terminal emulators.
Closes #459.
* Add 20 terminal definitions: ALACRITTY, APPLE_TERMINAL,
CONTOUR, FOOT, GHOSTTY, GNOME_TERMINAL, GNU_SCREEN, HYPER,
ITERM2, KITTY, KONSOLE, RIO, TABBY, TILIX, TMUX,
VSCODE_TERMINAL, WEZTERM, WINDOWS_TERMINAL, XTERM, ZELLIJ.
* Add current_terminal() detection function.
* Add terminal groups: ALL_TERMINALS, GPU_TERMINALS,
MULTIPLEXERS, NATIVE_TERMINALS, WEB_TERMINALS.
* Add @skip_<terminal> and @unless_<terminal> pytest decorators
for all terminals and terminal groups.
* Display all detected traits and groups in extra-platforms CLI.
* Fix emoji column alignment in CLI.
- update to 9.1.0:
* Add extra-platforms CLI command.
* Skip Nuitka binary builds.
* Add new ALPINE, KALI, MANJARO, OPENWRT platform definitions.
* Replace filesystem-based shell detection with parent process
tree walking via /proc on Linux.
* Make is_powershell() detection cross-platform (Linux, macOS,
Windows) via PSModulePath environment variable and process tree
inspection.
* Fix CLI crash on Windows due to cp1252 encoding not supporting
Unicode output.
* Tweak some icons.
* Add issue template with detection results reporting.
* Thu Feb 12 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 9.0.0:
* Add new Shell trait type for detecting command-line
interpreters.
* Add 12 shell definitions: ASH, BASH, CMD, CSH, DASH, FISH, KSH,
NUSHELL, POWERSHELL, TCSH, XONSH, ZSH.
* Add current_shell() detection function.
* Add shell groups: ALL_SHELLS, BOURNE_SHELLS, C_SHELLS,
OTHER_SHELLS, WINDOWS_SHELLS.
* Add @skip_<shell> and @unless_<shell> pytest decorators for all
shells and shell groups.
* Fix icons conflicts.
* Fix crash in compiled binaries (Nuitka, PyInstaller, cx_Freeze)
caused by missing source files for docstring extraction.
* Force Sphinx documentation builds to use Python >= 3.12 via
[tool.uv.dependency-groups].
* Remove all deprecated backward-compatibility aliases:
- Remove ALL_PLATFORM_IDS (use ALL_TRAIT_IDS).
- Remove ALL_PLATFORMS_WITHOUT_CI (use ALL_PLATFORMS).
- Remove UNKNOWN_LINUX (use UNKNOWN_PLATFORM).
- Remove ANY_ARM, ANY_MIPS, ANY_SPARC, ANY_WINDOWS (use
ALL_ARM, ALL_MIPS, ALL_SPARC, ALL_WINDOWS).
- Remove OTHER_UNIX (use OTHER_POSIX).
- Remove current_os() (use current_platform()).
- Remove current_platforms() (use current_traits()).
- Remove platforms_from_ids() (use traits_from_ids()).
- Remove is_unknown_linux() (use is_unknown_platform()).
- Remove is_all_architectures(), is_all_platforms(),
is_all_ci(), is_all_traits() (use is_any_architecture(),
is_any_platform(), is_any_ci(), is_any_trait()).
- Remove is_all_platforms_without_ci() (use is_any_platform()).
- Remove is_ci() (use is_any_ci()).
- Remove is_other_unix() (use is_other_posix()).
- Remove is_bsd_without_macos() (use is_bsd_not_macos()).
- Remove is_unix_without_macos() (use is_unix_not_macos()).
- Remove Group._extract_members() and
Group._extract_platforms() (use extract_members()).
- Remove deprecated module shims for extra_platforms.platform
and extra_platforms.operations.
* Remove '_deprecated.py' module.
* Tue Feb 03 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 8.0.0:
* Add aliases field to Trait class, allowing alternative IDs that
resolve to the canonical ID.
* Add aliases for common architecture names:
- arm64 → aarch64
- amd64 → x86_64
- armhf, armv7 → armv7l
- i486 → i386
- powerpc64le, ppc64el → ppc64le
* Emit a UserWarning when an alias is used, encouraging use of
the canonical ID.
* Change Trait.aliases type from tuple to frozenset for better
semantics.
* Add new BIG_ENDIAN and LITTLE_ENDIAN groups to classify
architectures by endianness, with is_big_endian() and
is_little_endian() detection functions.
* Remove operations.py and move content to group and group_data
modules.
* Rename Group._extract_members() to extract_members() and make
it public.
* Simplify reduce() algorithm from brute-force enumeration to a
greedy approximation for better performance.
* Move current_*() and is_unknown_*() functions to detection.py
module.
* Create new platform_info.py module for platform-specific info
gathering.
* Add claude.md documentation file.
* Mon Jan 19 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 7.0.0:
- Add new ARMV5TEL architecture.
- Add new DRAGONFLY_BSD, HAIKU and ILLUMOS platforms.
- Add new ARCH_32_BIT, ARCH_64_BIT and UNKNOWN groups.
- Add new detection functions:
- is_armv5tel()
- is_dragonfly_bsd()
- is_haiku()
- is_illumos()
- is_arch_32_bit()
- is_arch_64_bit()
- is_unknown()
- Fix detection of AARCH64 on Windows ARM runners.
- Rename UNKNOWN_LINUX trait to UNKNOWN_PLATFORM.
- Remove UNKNOWN_ARCHITECTURE trait from ALL_ARCHITECTURES
group.
- Remove UNKNOWN_LINUX trait from ALL_PLATFORMS group.
- Remove UNKNOWN_CI trait from ALL_CI group.
- current_architecture(), current_platform() and current_ci()
functions now returns UNKNOWN_ARCHITECTURE, UNKNOWN_PLATFORM
and UNKNOWN_CI if detection fails. Add strict mode to raise
an exception instead.
- Rename groups:
- OTHER_UNIX → OTHER_POSIX
- ANY_ARM → ALL_ARM
- ANY_MIPS → ALL_MIPS
- ANY_SPARC → ALL_SPARC
- ANY_WINDOWS → ALL_WINDOWS
- Rename detection functions:
- is_other_unix() → is_other_posix()
- is_all_architectures() → is_any_architecture()
- is_all_platforms() → is_any_platform()
- is_all_ci() → is_any_ci()
- is_all_traits() → is_any_trait()
- is_unknown_linux() → is_unknown_platform()
- is_bsd_without_macos() → is_bsd_not_macos()
- is_unix_without_macos() → is_unix_not_macos()
- Re-introduce aliases removed in v6.0.0 for backward
compatibility:
- Group._extract_platforms() → Group._extract_members()
- is_all_platforms_without_ci() → is_any_platform()
- is_ci() → is_any_ci()
- Rename Pytest decorators:
- @skip/@unless_unknown_linux →
@skip/@unless_unknown_platform
- @skip/@unless_bsd_without_macos →
@skip/@unless_bsd_not_macos
- @skip/@unless_unix_without_macos →
@skip/@unless_unix_not_macos
- Deprecate renamed symbols and detection functions with
aliases.
- Pre-compute traits and groups metadata to enforce conventions
for data definitions, detection functions, Pytest decorators
and document generation.
- Mark all canonical groups with the ⬥ symbol everywhere in the
documentation.
- Cross-link all traits, groups and detection functions in the
documentation.
* Fri Jan 16 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 6.0.0:
* Add architecture detection: aarch64, arm, armv6l, armv7l,
armv8l, i386, i586, i686, loongarch64, mips, mips64, mips64el,
mipsel, ppc, ppc64, ppc64le, riscv32, riscv64, s390x, sparc,
sparc64, unknown_architecture, wasm32, wasm64, x86_64.
* Architectures, platforms and CI systems are now known as
traits.
* Add new current_traits() method to return all traits matching
the current environment: architecture, platforms and CI
systems. Deprecate current_platforms() in favor of it.
* Add new current_architecture() and current_ci() methods to
return the current architecture and CI system.
* Rename:
- current_os() to current_platform().
- platforms_from_ids() to traits_from_ids().
- CI group to ALL_CI. CI now refers to the CI(Trait) class.
- ALL_PLATFORM_IDS constant to ALL_TRAIT_IDS.
- Group.platforms to Group.members.
- Group.platform_ids to Group.member_ids.
- Group._extract_platforms() to Group._extract_members()
* Group.members is now an immutable MappingProxyType.
* Add more in-place operators (|=, &=, -=, ^=) and set-like
behavior to Group.
* Add canonical attribute to Group.
* Add new ALL_ARCHITECTURES, ANY_ARM, X86, LOONGARCH, ANY_MIPS,
POWERPC, RISCV, ANY_SPARC, IBM_MAINFRAME, WEBASSEMBLY and
ALL_TRAITS groups.
* Deprecate ALL_PLATFORMS_WITHOUT_CI group is favor of
ALL_PLATFORMS.
* Add new ALL_ARCHITECTURE_GROUPS, ALL_PLATFORM_GROUPS and
ALL_CI_GROUPS collections of groups.
* Remove utilization workaround for macos-15-intel.
* Replace deprecated codecov/test-results-action by
codecov/codecov-action.
* Move auto-lock time from 8:43 to 4:43.
- switch to tarball from GitHub, as the one from PyPi does no
longer container the tests directory
* Tue Dec 09 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 5.1.0:
* Change Amazon Linux icon.
* Add cooldown period for dependabot and uv.lock updates.
* Merge all label jobs into a single one.
* Change the test, typing and docs extra dependency groups into
development dependency groups.
* Uncap all dependencies.
* Run tests on Python 3.14t and 3.15t free-threaded variants.
* Run tests on ubuntu-slim GitHub Actions runner.
* Run docs update job on ubuntu-slim runner.
* Unlock a CPU core stuck at 100% utilization on macos-15-intel.
* Mon Nov 17 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 5.0.1:
* Add detection of CachyOS. Closes #341.
* Tue Nov 04 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 5.0.0
* Changes
- Relax dependencies to support Python 3.10.
- Re-introduce tomli dependency for Python 3.10 users.
- Skip tests on intermediate Python versions (3.11, 3.12 and 3.13)
to reduce CI load.
* Sun Nov 02 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 4.1.1:
* Add detection of Ultramarine Linux. Closes #329.
* Wed Oct 22 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 4.1.0:
* Add new invalidate_caches() method to invalidate internal
caches used for platform detection.
* Remove dependency on boltons.
* Add all Operating System :: trove classifiers.
* Add all platform names as package keywords.
- update to 4.0.0:
* Fix detection of GNU/Hurd. Closes #308.
* Move all typing-related imports behind a hard-coded
TYPE_CHECKING guard to avoid runtime imports.
* Remove maximum capped version of all dependencies (relax all ~=
specifiers to >=). This gives more freedom to downstream and
upstream packagers. Document each minimal version choice.
* Add official support of Python 3.14.
* Run tests on Python 3.15.
* Skip tests on Python 3.12 and 3.13 to reduce CI load.
* Use astral-sh/setup-uv action to install uv instead of manually
installing it with pip.
* Run tests on macos-26 and macos-15-intel runners.
* Remove tests on EOL'ed windows-2019 and macos-13.
* Support GitHub admonitions in Sphinx/MyST documentation.
* Wed Aug 06 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 3.2.3:
* Add detection of macOS Tahoe (v26.x)
* Sun May 25 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 3.2.2:
* Fix detection of UNKNOWN_CI
* Sun May 18 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 3.2.1:
* Add convenient ALL_PLATFORMS_WITHOUT_CI group to exclude all CI
systems from ALL_PLATFORMS
* Sun May 18 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 3.2.0:
* Add detection of CI systems: GITHUB_CI, GITLAB_CI and
UNKNOWN_CI.
* Add new CI group to group all CI platforms.
* Move OS families diagrams to group documentation page.
* Remove ALL_PLATFORMS from Sankey diagram.
* Run tests on windows-11-arm runners.
* Remove tests on EOL ubuntu-20-04.
* Wed Mar 05 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 3.1.0:
* Allow platform ID membership test on groups.
* Add items() method to Group.
* Allow None values in nested references to platforms and groups.
* Keep initial order of data from platforms_from_ids() and
groups_from_ids() results.
* Allow arbitrary arguments number in Group._extract_platforms().
* Wed Mar 05 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 3.0.0:
* Allow set operations to resolve group and Platform IDs.
* Make resolution of platform and group IDs case-insensitive.
* Only runs website tests on Linux to prevent DOSing them.
* Drop supports for Python 3.10.
* Remove tomli dependency.
* Thu Feb 20 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 2.1.0:
* Add new platforms_from_ids and groups_from_ids methods to
retrieve platforms and groups from a collection of IDs.
* Allow a platform to be fetched by its ID from a group with the
group[platform_id] item getter syntax.
* Add new ALL_PLATFORM_IDS, ALL_GROUP_IDS and ALL_IDS constants.
* Removes ALL_OS_LABELS.
* Add windows-2025 to the test matrix.
* Mark Python 3.14 tests as stable.
* Fri Jan 03 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 2.0.0:
* Add support for Nobara detection.
* Fix current_os() to always return a single platform. Closes
[#158].
* Add new current_platforms() method to return all platforms
matching the current environment.
* Generate a pair of Pytest @skip_<id>/@unless_<id> decorators
for each platform and group.
* Change all group membership check utilities to be functions
instead of variables. You now have to call is_<group_id>()
instead of is_<group_id>.
* Cache the result of is_<group_id>() group membership check
utilities.
* Do not call all detection heuristics on module import. Instead,
call them lazily when needed.
* Make URLs required on all platforms.
* Invite users in error messages and logs to contribute back
edge-cases to improve detection heuristics.
* Upload test results to coverage.
* Tue Dec 03 2024 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- update to 1.7.0:
* Display the hierarchy of non-overlapping groups as a mindmap.
* Add URL on all platforms.
* Add support for openSUSE Tumbleweed detection. Closes #133.
* Do not allow icons on platforms and groups to be empty.
* Run tests in parallel to speed up CI.
* Thu Nov 28 2024 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- enable builds for python3.13
* Wed Nov 20 2024 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- new package python-extra-platforms, required by
python-click-extra
/usr/bin/extra-platforms /usr/bin/extra-platforms-3.14 /usr/lib/python3.14/site-packages/extra_platforms /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/INSTALLER /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/METADATA /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/RECORD /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/REQUESTED /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/WHEEL /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/entry_points.txt /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/licenses /usr/lib/python3.14/site-packages/extra_platforms-13.5.1.dist-info/licenses/license /usr/lib/python3.14/site-packages/extra_platforms/__init__.py /usr/lib/python3.14/site-packages/extra_platforms/__main__.py /usr/lib/python3.14/site-packages/extra_platforms/__pycache__ /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/__init__.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/__init__.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/__main__.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/__main__.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_deprecated.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_deprecated.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_docstrings.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_docstrings.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_types.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_types.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_utils.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_utils.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_windows.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/_windows.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/agent_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/agent_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/architecture_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/architecture_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/ci_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/ci_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/detection.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/detection.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/group.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/group.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/group_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/group_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/platform_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/platform_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/platform_info.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/platform_info.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/pytest.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/pytest.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/shell_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/shell_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/terminal_data.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/terminal_data.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/trait.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/extra_platforms/__pycache__/trait.cpython-314.pyc /usr/lib/python3.14/site-packages/extra_platforms/_deprecated.py /usr/lib/python3.14/site-packages/extra_platforms/_docstrings.py /usr/lib/python3.14/site-packages/extra_platforms/_types.py /usr/lib/python3.14/site-packages/extra_platforms/_utils.py /usr/lib/python3.14/site-packages/extra_platforms/_windows.py /usr/lib/python3.14/site-packages/extra_platforms/agent_data.py /usr/lib/python3.14/site-packages/extra_platforms/architecture_data.py /usr/lib/python3.14/site-packages/extra_platforms/ci_data.py /usr/lib/python3.14/site-packages/extra_platforms/detection.py /usr/lib/python3.14/site-packages/extra_platforms/group.py /usr/lib/python3.14/site-packages/extra_platforms/group_data.py /usr/lib/python3.14/site-packages/extra_platforms/platform_data.py /usr/lib/python3.14/site-packages/extra_platforms/platform_info.py /usr/lib/python3.14/site-packages/extra_platforms/py.typed /usr/lib/python3.14/site-packages/extra_platforms/pytest.py /usr/lib/python3.14/site-packages/extra_platforms/shell_data.py /usr/lib/python3.14/site-packages/extra_platforms/terminal_data.py /usr/lib/python3.14/site-packages/extra_platforms/trait.py /usr/share/libalternatives/extra-platforms /usr/share/libalternatives/extra-platforms/314.conf
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 03:14:27 2026