Install this version:
emerge -a =dev-python/aioautomower-2.7.4
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-python/aioautomower-2.7.4
Or alternatively:
emerge --autounmask-write -a =dev-python/aioautomower-2.7.4
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( python3_{12,13,14} )
inherit distutils-r1 pypi
DESCRIPTION="Asynchronous Python library to communicate with the Husqvarna Automower Connect API"
HOMEPAGE="
https://github.com/Thomas55555/aioautomower
https://pypi.org/project/aioautomower/
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/aiohttp-3.9.0[${PYTHON_USEDEP}]
>=dev-python/mashumaro-3.12[${PYTHON_USEDEP}]
dev-python/orjson[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/hatchling[${PYTHON_USEDEP}]
test? (
>=dev-python/pytest-7.0[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/aresponses[${PYTHON_USEDEP}]
dev-python/syrupy[${PYTHON_USEDEP}]
)
"
python_prepare_all() {
python3 - <<'EOF' || die "Failed to patch pyproject.toml"
import re, pathlib
p = pathlib.Path("pyproject.toml")
lines = p.read_text().splitlines(keepends=True)
out, skip = [], False
for line in lines:
s = line.strip()
# 1. Replace the build backend
line = line.replace(
'"poetry_dynamic_versioning.backend"',
'"poetry.core.masonry.api"',
)
# 2. Remove poetry-dynamic-versioning from [build-system] requires
if "poetry-dynamic-versioning" in line:
line = re.sub(r',?\s*"poetry-dynamic-versioning[^"]*"', "", line)
line = re.sub(r'"poetry-dynamic-versioning[^"]*",?\s*', "", line)
# 3. Drop ALL [tool.poetry.group.dev*] sections and their content.
# poetry-core rejects the non-package keys (e.g. enable/metadata)
# that poetry-dynamic-versioning places there; we don't need dev
# deps to build the wheel anyway.
if re.match(r'^\[tool\.poetry\.group\.dev', s):
skip = True
continue
if skip and s.startswith("["):
skip = False
if not skip:
out.append(line)
p.write_text("".join(out))
EOF
distutils-r1_python_prepare_all
}
src_test() {
epytest tests/
}
Manage flags for this package:
euse -i <flag> -p dev-python/aioautomower |
euse -E <flag> -p dev-python/aioautomower |
euse -D <flag> -p dev-python/aioautomower
>=dev-python/aiohttp-3.9.0[] >=dev-python/mashumaro-3.12[] dev-python/orjson[]
dev-python/hatchling[] test? ( >=dev-python/pytest-7.0[] dev-python/pytest-asyncio[] dev-python/pytest-cov[] dev-python/aresponses[] dev-python/syrupy[] )