commit dafc6a275efd2ba88efdf27f144fe738c916f1912d2eadf09d4d972774484978 Author: Markéta Machová Date: Wed Nov 5 10:21:37 2025 +0000 update to 5.0.0 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-extra-platforms?expand=0&rev=23 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/extra_platforms-3.2.3.tar.gz b/extra_platforms-3.2.3.tar.gz new file mode 100644 index 0000000..68d3abf --- /dev/null +++ b/extra_platforms-3.2.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5e563eefc855593d9efe760e8509e2f3c213458744cb1dfc2917dd21b417694 +size 41099 diff --git a/extra_platforms-4.1.0.tar.gz b/extra_platforms-4.1.0.tar.gz new file mode 100644 index 0000000..c383134 --- /dev/null +++ b/extra_platforms-4.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d99c2fb8fdadeb2e47747c40033465ca551fc57287a547d2de07c0875aefed8 +size 47038 diff --git a/extra_platforms-4.1.1.tar.gz b/extra_platforms-4.1.1.tar.gz new file mode 100644 index 0000000..1da629d --- /dev/null +++ b/extra_platforms-4.1.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d97cf80167812137de4a55c0a4e782a66c6be9f1c1ffb254e26a1c3d347d1d81 +size 47284 diff --git a/extra_platforms-5.0.0.tar.gz b/extra_platforms-5.0.0.tar.gz new file mode 100644 index 0000000..6e52b12 --- /dev/null +++ b/extra_platforms-5.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ac94f6747eaf14ff7e0ef0929d5d9c3dbe40a8cd42d93d6c6ae8105ec1b0dd6 +size 47428 diff --git a/python-extra-platforms.changes b/python-extra-platforms.changes new file mode 100644 index 0000000..69827fe --- /dev/null +++ b/python-extra-platforms.changes @@ -0,0 +1,149 @@ +------------------------------------------------------------------- +Tue Nov 4 16:54:46 UTC 2025 - Johannes Kastl + +- 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 2 16:01:14 UTC 2025 - Johannes Kastl + +- update to 4.1.1: + * Add detection of Ultramarine Linux. Closes #329. + +------------------------------------------------------------------- +Wed Oct 22 04:46:43 UTC 2025 - Johannes Kastl + +- 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 6 05:28:30 UTC 2025 - Johannes Kastl + +- update to 3.2.3: + * Add detection of macOS Tahoe (v26.x) + +------------------------------------------------------------------- +Sun May 25 07:58:30 UTC 2025 - Johannes Kastl + +- update to 3.2.2: + * Fix detection of UNKNOWN_CI + +------------------------------------------------------------------- +Sun May 18 06:25:24 UTC 2025 - Johannes Kastl + +- update to 3.2.1: + * Add convenient ALL_PLATFORMS_WITHOUT_CI group to exclude all CI + systems from ALL_PLATFORMS + +------------------------------------------------------------------- +Sun May 18 06:03:14 UTC 2025 - Johannes Kastl + +- 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 5 10:53:54 UTC 2025 - Johannes Kastl + +- 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 5 10:51:41 UTC 2025 - Johannes Kastl + +- 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 18:31:07 UTC 2025 - Johannes Kastl + +- 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 3 08:46:58 UTC 2025 - Johannes Kastl + +- 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_/@unless_ decorators + for each platform and group. + * Change all group membership check utilities to be functions + instead of variables. You now have to call is_() + instead of is_. + * Cache the result of is_() 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 3 08:39:24 UTC 2024 - Johannes Kastl + +- 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 10:31:10 UTC 2024 - Johannes Kastl + +- enable builds for python3.13 + +------------------------------------------------------------------- +Wed Nov 20 13:47:55 UTC 2024 - Johannes Kastl + +- new package python-extra-platforms, required by + python-click-extra diff --git a/python-extra-platforms.spec b/python-extra-platforms.spec new file mode 100644 index 0000000..e051460 --- /dev/null +++ b/python-extra-platforms.spec @@ -0,0 +1,74 @@ +# +# spec file for package python-extra-platforms +# +# Copyright (c) 2025 SUSE LLC and contributors +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-extra-platforms +Version: 5.0.0 +Release: 0 +Summary: Detect platforms and group them by family +License: GPL-2.0-or-later +URL: https://github.com/kdeldycke/extra-platforms +Source: https://files.pythonhosted.org/packages/source/e/extra-platforms/extra_platforms-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.10} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: python-rpm-macros +# SECTION runtime requirements +BuildRequires: %{python_module distro >= 1.9.0} +# /SECTION +# SECTION test requirements +BuildRequires: %{python_module pytest >= 8.3.5} +BuildRequires: %{python_module pytest-randomly >= 3.16.0} +BuildRequires: %{python_module pytest-xdist >= 3.8.0} +BuildRequires: %{python_module requests >= 2.32.3 with %python-requests < 2.33} +BuildRequires: %{python_module tomli >= 2.3.0 if %python-base < 3.11} +# /SECTION +BuildRequires: fdupes +Requires: python-distro >= 1.9.0 +BuildArch: noarch +%python_subpackages + +%description +Detect platforms and group them by family + +%prep +%autosetup -p1 -n extra_platforms-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# remove coverage configuration +sed -i '/cov=/d' pyproject.toml +sed -i '/cov-report=/d' pyproject.toml +sed -i '/--cov-branch/d' pyproject.toml +sed -i '/--cov-precision=2/d' pyproject.toml +# do not run tests that try to connect to websites +rm -f tests/test_platform_data.py +%pytest -k "(not test_pypoject_classifiers)" + +%files %{python_files} +%{python_sitelib}/extra_platforms +%{python_sitelib}/extra_platforms-%{version}.dist-info + +%changelog