dev-python/aioautomower - 2.7.4 (ha-bleeding-edge)

Search

Install

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

Package Information

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

Ebuild Details

Version EAPI Keywords Slot
2.7.4 8 ~amd64 ~arm64 ~x86 0
View Raw Ebuild
# 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/
}

USE Flags

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

Global/Standard Flags

Inherited Eclasses

Dependencies

RDEPEND

	>=dev-python/aiohttp-3.9.0[]
	>=dev-python/mashumaro-3.12[]
	dev-python/orjson[]

BDEPEND

	dev-python/hatchling[]
	test? (
		>=dev-python/pytest-7.0[]
		dev-python/pytest-asyncio[]
		dev-python/pytest-cov[]
		dev-python/aresponses[]
		dev-python/syrupy[]
	)