dev-python/py-key-value-aio: new package, add 0.4.4

Signed-off-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com>
This commit is contained in:
Florian Albrechtskirchinger
2026-03-29 18:40:37 +02:00
parent 99f8c72c43
commit 6415b13ff4
3 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST py-key-value-aio-0.4.4.gh.tar.gz 348367 BLAKE2B 549f6e23c929a6805e305810c7c1791b6658733cb444419fa16c5f60deef5002122d8f73f87d9f1f708981519c07ea336c244297a268927c03f2d7408ee68809 SHA512 1963fd5a66627dc422c275229b76e712a0cb916da9e929999e792b2a925a4ff6fcb3f7bdd6d0dfae1e045d03b417c652169801ec431749baf4ab0eff0ce83c11

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>falbrechtskirchinger@gmail.com</email>
<name>Florian Albrechtskirchinger</name>
</maintainer>
<upstream>
<remote-id type="pypi">py-key-value-aio</remote-id>
<remote-id type="github">strawgate/py-key-value</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,96 @@
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=uv-build
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1 optfeature
DESCRIPTION="Async Key-Value Store - A pluggable interface for KV Stores"
HOMEPAGE="
https://github.com/strawgate/py-key-value
https://pypi.org/project/py-key-value-aio/
"
MY_PN="py-key-value"
SRC_URI="
https://github.com/strawgate/${MY_PN}/archive/refs/tags/${PV}.tar.gz
-> ${P}.gh.tar.gz"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/beartype-0.20.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/aiofile-3.5.0[${PYTHON_USEDEP}]
>=dev-python/anyio-4.4.0[${PYTHON_USEDEP}]
>=dev-python/cachetools-5.0.0[${PYTHON_USEDEP}]
>=dev-python/cryptography-45.0.0[${PYTHON_USEDEP}]
>=dev-python/diskcache-5.0.0[${PYTHON_USEDEP}]
>=dev-python/pathvalidate-3.3.1[${PYTHON_USEDEP}]
>=dev-python/pydantic-2.11.9[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=(
inline-snapshot
pytest-{asyncio,mock,timeout}
)
EPYTEST_XDIST=1
distutils_enable_tests pytest
EPYTEST_IGNORE=(
# We can't test most stores due to missing dependencies and/or Docker use
tests/stores/aerospike/
tests/stores/duckdb/
tests/stores/dynamodb/
tests/stores/elasticsearch/
tests/stores/firestore/
tests/stores/keyring/
tests/stores/memcached/
tests/stores/mongodb/
tests/stores/opensearch/
tests/stores/postgresql
tests/stores/redis/
tests/stores/rocksdb/
tests/stores/s3/
tests/stores/valkey/
tests/stores/vault/
)
src_prepare() {
distutils-r1_src_prepare
# Disable Docker-dependent tests
sed -e '/def should_run_docker_tests() -> bool:/a \ return False' \
-e '/def should_skip_docker_tests() -> bool:/a \ return True' \
-i "tests/conftest.py" || die
}
python_test() {
epytest -o asyncio_mode=auto --dist=loadfile
}
pkg_postinst() {
optfeature "disk- and file-backed cache" "dev-python/diskcache >=dev-python/pathvalidate-3.3.1"
optfeature "encryption wrappers" dev-python/cryptography
optfeature_header "Install optional key-value store backends:"
optfeature "Elasticsearch" "dev-python/elasticsearch dev-python/aiohttp"
optfeature "File-tree" "dev-python/aiofile dev-python/anyio"
optfeature "system keyring" "dev-python/keyring dev-python/dbus-python"
optfeature "memory" dev-python/cachetools
optfeature "MongoDB" dev-python/pymongo
optfeature "OpenSearch" dev-python/opensearch-py
optfeature "PostgreSQL" dev-python/asyncpg
optfeature "Pydantic" ">=dev-python/pydantic-2.11.9"
optfeature "Redis" dev-python/redis
optfeature "HashiCorp Vault" dev-python/hvac
}