## START: Set by rpmautospec ## (rpmautospec version 0.8.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # For fastmcp: disks, keyring, memory # For pydocket: redis # For tests: pydantic, elasticsearch # # The `valkey` extras is ignored here because it depends on valkey-glide and it # is not present at the time in Fedora %global extras memory,disk,redis,mongodb,vault,elasticsearch,opensearch,keyring,keyring-linux,pydantic,postgresql,wrappers-encryption Name: python-py-key-value Version: 0.4.4 Release: %autorelease Summary: Key-Value Store Project License: Apache-2.0 BuildArch: noarch URL: https://github.com/strawgate/py-key-value Source: %{url}/archive/%{version}/py-key-value-%{version}.tar.gz # Downstream-only dependency adjustments #Patch1: 0002-Drop-the-docker-setup-from-redis-store-tests.patch BuildRequires: tomcli # For testing valkey/redis BuildRequires: python3-valkey BuildRequires: valkey # Test dependencies BuildRequires: python3-pytest BuildRequires: python3-inline-snapshot BuildRequires: python3-dirty-equals %global _description %{expand: This library provides a pluggable interface for key-value stores with support for multiple backends, TTL handling, type safety, and extensible wrappers.} %description %_description %package -n python3-py-key-value-aio Summary: Async Key-Value %description -n python3-py-key-value-aio %_description This package provides the key_value.aio importable module. %pyproject_extras_subpkg -n python3-py-key-value-aio -i %{python3_sitelib}/py_key_value_aio-%{version}.dist-info %{gsub %{extras} %{quote:,} %{quote: }} %prep %autosetup -p 1 -n py-key-value-%{version} # Remove upper bound: uv_build tomcli set pyproject.toml arrays replace build-system.requires 'uv_build>=0.8.2,<0.9.0' 'uv_build>=0.8.2' # Remove linting module: types-hvac from vault extras tomcli set pyproject.toml arrays delitem project.optional-dependencies.vault 'types-hvac.*' # Remove lower bound: aiohttp tomcli set pyproject.toml arrays replace project.optional-dependencies.elasticsearch 'aiohttp>=.*' 'aiohttp' # Remove lower bound: dbus-python tomcli set pyproject.toml arrays replace project.optional-dependencies.keyring-linux 'dbus-python>=.*' 'dbus-python' # Remove lower bound: pydantic tomcli set pyproject.toml arrays replace project.optional-dependencies.pydantic 'pydantic>=.*' 'pydantic' # Remove lower bound: cryptography tomcli set pyproject.toml arrays replace project.optional-dependencies.wrappers-encryption 'cryptography>=.*' 'cryptography' # Remove unnecessary pytest plugin options: pytest-xdist tomcli set pyproject.toml arrays delitem tool.pytest.ini_options.addopts -- '-n=auto' tomcli set pyproject.toml arrays delitem tool.pytest.ini_options.addopts -- '--dist=loadfile' # Remove unnecessary pytest plugin options: pytest-timeout tomcli set pyproject.toml del tool.pytest.ini_options.timeout tomcli set pyproject.toml del tool.pytest.ini_options.timeout_func_only # Remove unnecessary pytest plugin options: pytest-dotenv tomcli set pyproject.toml del tool.pytest.ini_options.env_files %generate_buildrequires %pyproject_buildrequires -x %{extras} %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -L key_value %check %{_bindir}/valkey-server --bind 127.0.0.1 --port 6380 & VALKEY_SERVER_PID=$! # Ignore tests that have missing dependencies, require a docker socket, or only # run on Windows. ignore="${ignore-} --ignore tests/stores" %pytest ${ignore-} kill $VALKEY_SERVER_PID %files -n python3-py-key-value-aio -f %{pyproject_files} %doc README.md %changelog ## START: Generated by rpmautospec * Mon May 18 2026 Rodolfo Olivieri - 0.4.4-1 - Bump to 0.4.4 (closes rhbz#2438775) * Mon Feb 23 2026 Rodolfo Olivieri - 0.3.0-2 - Include redis extras as part of the build * Wed Jan 21 2026 Carl George - 0.3.0-1 - Initial package rhbz#2427769 ## END: Generated by rpmautospec