;;; SPDX-FileCopyrightText: 2024, 2025 Evgeny Pisemsky ;;; ;;; SPDX-License-Identifier: GPL-3.0-or-later (define-module (homeassistant-package)) (use-modules (guix packages) (guix download) (guix gexp) (guix transformations) (guix build-system pyproject) (guix build-system python) ((guix licenses) #:prefix license:) (gnu packages admin) (gnu packages astronomy) (gnu packages check) (gnu packages databases) (gnu packages image) (gnu packages messaging) (gnu packages music) (gnu packages python-build) (gnu packages python-check) (gnu packages python-crypto) (gnu packages python-web) (gnu packages python-xyz) (gnu packages sphinx) (gnu packages time) (gnu packages xml)) ;;; Dependencies for empty configuration (define-public python-astral-for-homeassistant (package (inherit python-astral) (name "python-astral") (version "2.2") (source (origin (method url-fetch) (uri (pypi-uri "astral" version)) (sha256 (base32 "1gkggdibccmdy9glymw3kbrkzm6svvsg0lk56hhy92y4smkrj7g4")))) (native-inputs (list poetry python-freezegun)))) (define-public python-attrs-for-homeassistant (package (inherit python-attrs) (version "22.2.0") (source (origin (method url-fetch) (uri (pypi-uri "attrs" version)) (sha256 (base32 "16az31ccld8s3xj7q1iw6a402sf92lfpvcwdyq1kr6815zy7n8n9")))) (arguments (list #:tests? #f)) (native-inputs (modify-inputs (package-native-inputs python-attrs) (append python-setuptools python-wheel))))) (define-public python-atomicwrites-homeassistant (package (name "python-atomicwrites-homeassistant") (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "atomicwrites-homeassistant" version)) (sha256 (base32 "0bsc3xfslmqsj02h7llnl135zdbp1cj6dn98a924arzi0qhnfsi5")))) (build-system pyproject-build-system) (native-inputs (list python-setuptools python-wheel)) (home-page "https://github.com/untitaker/python-atomicwrites") (synopsis "Atomic file writes.") (description "Atomic file writes.") (license license:expat))) (define-public python-awesomeversion (package (name "python-awesomeversion") (version "22.9.0") (source (origin (method url-fetch) (uri (pypi-uri "awesomeversion" version)) (sha256 (base32 "0zkzl6kpl19rp98rszm63pqzb5imvc6iamp1ljr107p86g9r0h9g")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core)) (home-page "https://github.com/ludeeus/awesomeversion") (synopsis "Create and compare version objects") (description "This package allows to make anything a version object, and compare against a vast section of other version formats.") (license license:expat))) (define-public python-ciso8601-for-homeassistant (package (inherit python-ciso8601) (version "2.3.0") (source (origin (method url-fetch) (uri (pypi-uri "ciso8601" version)) (sha256 (base32 "0049dkv86w5q8j97ilagc15njnrn9mvxi55ciqsw7gnqhvbzpqqr")))) (arguments (list #:tests? #f)))) (define-public python-bluetooth-data-tools (package (name "python-bluetooth-data-tools") (version "1.20.0") (source (origin (method url-fetch) (uri (pypi-uri "bluetooth_data_tools" version)) (sha256 (base32 "0dil1gi20g0ldkf1fq3x6m789ljkvsqfp20zmw5mw12ylahsq48w")))) (build-system pyproject-build-system) (native-inputs (list python-poetry-core python-setuptools)) (propagated-inputs (list python-cryptography python-myst-parser python-sphinx python-sphinx-rtd-theme)) (home-page "https://github.com/bdraco/bluetooth-data-tools") (synopsis "Tools for converting bluetooth data and packets") (description "This package provides tools for converting bluetooth data and packets.") (license license:asl2.0))) (define-public python-pyric (package (name "python-pyric") (version "0.1.6.3") (source (origin (method url-fetch) (uri (pypi-uri "PyRIC" version)) (sha256 (base32 "1jfcq8bfzh7a8cgp7xwjvp8yry50br998zq901n41lpbmwfb0fdm")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (home-page "http://wraith-wireless.github.io/PyRIC/") (synopsis "Python Wireless Library") (description "Python Wireless Library.") (license license:gpl3+))) (define-public python-btsocket (package (name "python-btsocket") (version "0.3.0") (source (origin (method url-fetch) (uri (pypi-uri "btsocket" version)) (sha256 (base32 "03bs2i582kdqfvj8yrnzjhllkvbzr9r9r9gfz3cz10zq1zg9b93y")))) (build-system pyproject-build-system) (native-inputs (list python-bumpversion python-coverage python-pycodestyle python-pygments python-sphinx python-sphinx-rtd-theme python-twine python-setuptools python-wheel)) (arguments (list #:tests? #f)) (home-page "https://github.com/ukBaz/python-btsocket") (synopsis "Python library for BlueZ Bluetooth Management API") (description "Python library for @code{BlueZ} Bluetooth Management API.") (license license:expat))) (define-public python-bluetooth-auto-recovery (package (name "python-bluetooth-auto-recovery") (version "1.4.2") (source (origin (method url-fetch) (uri (pypi-uri "bluetooth_auto_recovery" version)) (sha256 (base32 "1n5panr753sm6mbw103a8abmbal4fy79p67dy1p7rc34337vliki")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-pytest python-pytest-cov)) (propagated-inputs (list python-async-timeout python-bluetooth-adapters python-btsocket python-myst-parser python-pyric python-sphinx python-sphinx-rtd-theme python-usb-devices)) (home-page "https://github.com/bluetooth-devices/bluetooth-auto-recovery") (synopsis "Recover bluetooth adapters that are in an stuck state") (description "Recover bluetooth adapters that are in an stuck state.") (license license:expat))) (define-public python-usb-devices (package (name "python-usb-devices") (version "0.4.5") (source (origin (method url-fetch) (uri (pypi-uri "usb_devices" version)) (sha256 (base32 "0p8rbqs06g0l39wnhk7snqydighc98j7czsvqk393irbvw37cp4v")))) (build-system pyproject-build-system) (native-inputs (list python-pytest python-pytest-cov python-poetry-core)) (arguments (list #:tests? #f)) (home-page "https://github.com/bluetooth-devices/usb-devices") (synopsis "Tools for mapping, describing, and resetting USB devices") (description "This package provides tools for mapping, describing, and resetting USB devices.") (license license:expat))) (define-public python-uart-devices (package (name "python-uart-devices") (version "0.1.0") (source (origin (method url-fetch) (uri (pypi-uri "uart_devices" version)) (sha256 (base32 "1cfrg9b6jjh7pmz03iz50yjsrvlzvii59bcy7k0s9hhbpb0440vz")))) (build-system pyproject-build-system) (native-inputs (list python-pytest python-pytest-cov python-poetry-core)) (arguments (list #:tests? #f)) (home-page "https://github.com/bdraco/uart-devices") (synopsis "UART Devices for Linux") (description "UART Devices for Linux.") (license license:expat))) (define-public python-aiooui (package (name "python-aiooui") (version "0.1.6") (source (origin (method url-fetch) (uri (pypi-uri "aiooui" version)) (sha256 (base32 "0r5wjfzpk0hbarsi3k13widm93lvwcsi8kgpyql1znzyfzpjv307")))) (build-system python-build-system) (native-inputs (list python-wheel)) (home-page "https://github.com/bluetooth-devices/aiooui") (synopsis "Async OUI lookups") (description "Async OUI lookups.") (license license:expat))) (define-public python-bluetooth-adapters (package (name "python-bluetooth-adapters") (version "0.19.4") (source (origin (method url-fetch) (uri (pypi-uri "bluetooth_adapters" version)) (sha256 (base32 "1wq6l3yc3wf8z8qmbvx3pjwki32wirxmjjk7g34jy2lriw233yqq")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-pytest python-pytest-cov python-poetry-core)) (propagated-inputs (list python-aiooui python-async-timeout python-bleak python-dbus-fast python-myst-parser python-sphinx python-sphinx-rtd-theme python-uart-devices python-usb-devices)) (home-page "https://github.com/bluetooth-devices/bluetooth-adapters") (synopsis "Tools to enumerate and find Bluetooth Adapters") (description "This package provides tools to enumerate and find Bluetooth Adapters.") (license license:asl2.0))) (define-public python-bleak-retry-connector (package (name "python-bleak-retry-connector") (version "3.5.0") (source (origin (method url-fetch) (uri (pypi-uri "bleak_retry_connector" version)) (sha256 (base32 "15ilr96dpsz5p8kkfjqwa8124xp362dwvyybjmfy0yzz2d8s45pn")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-pytest python-pytest-cov python-poetry-core)) (propagated-inputs (list python-async-timeout python-bleak python-bluetooth-adapters python-dbus-fast)) (home-page "https://github.com/bluetooth-devices/bleak-retry-connector") (synopsis "A connector for Bleak Clients that handles transient connection failures") (description "This package provides a connector for Bleak Clients that handles transient connection failures.") (license license:expat))) (define-public python-dbus-fast (package (name "python-dbus-fast") (version "2.24.0") (source (origin (method url-fetch) (uri (pypi-uri "dbus_fast" version)) (sha256 (base32 "0dbgakxdjzrcqqaivpha0icfm3dfhkxwignmyvbhyc42x18rrdbj")))) (build-system pyproject-build-system) (native-inputs (list python-poetry-core python-setuptools)) (home-page "https://github.com/bluetooth-devices/dbus-fast") (synopsis "A faster version of dbus-next") (description "This package provides a faster version of dbus-next.") (license license:expat))) (define-public python-bleak (package (name "python-bleak") (version "0.22.2") (source (origin (method url-fetch) (uri (pypi-uri "bleak" version)) (sha256 (base32 "1zp9hslsl8q77wbcdm08va8fc325nazy2lhnmbfffhyq9c7hq089")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-pytest python-hypothesis)) (propagated-inputs (list python-async-timeout python-dbus-fast python-typing-extensions)) (home-page "https://github.com/hbldh/bleak") (synopsis "Bluetooth Low Energy platform Agnostic Klient") (description "Bluetooth Low Energy platform Agnostic Klient.") (license license:expat))) (define-public python-async-interrupt (package (name "python-async-interrupt") (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "async_interrupt" version)) (sha256 (base32 "1ma3xldbgd5xmvhrdjx72mklaimj4ggm4gx4bva1ll3q4jg5aiyi")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-pytest python-pytest-cov)) (home-page "https://github.com/bdraco/async_interrupt") (synopsis "Context manager to raise an exception when a future is done") (description "Context manager to raise an exception when a future is done.") (license license:asl2.0))) (define-public python-habluetooth (package (name "python-habluetooth") (version "3.4.0") (source (origin (method url-fetch) (uri (pypi-uri "habluetooth" version)) (sha256 (base32 "1kzl42rb32fy4jnl21z0irxhz11dkp4sygs1ccnvbyqmykzcc9x2")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-pytest python-pytest-cov python-setuptools)) (propagated-inputs (list python-async-interrupt python-bleak python-bleak-retry-connector python-bluetooth-adapters python-bluetooth-auto-recovery python-bluetooth-data-tools)) (home-page "https://github.com/bluetooth-devices/habluetooth") (synopsis "High availability Bluetooth") (description "High availability Bluetooth.") (license license:asl2.0))) (define-public python-home-assistant-bluetooth (package (name "python-home-assistant-bluetooth") (version "1.10.0") (source (origin (method url-fetch) (uri (pypi-uri "home_assistant_bluetooth" version)) (sha256 (base32 "1q5xgr6678la1fh5f4k3wa94dr8x7zxh4hkaqiwjfm1xkpds4478")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-setuptools)) (propagated-inputs (list python-habluetooth)) (home-page "https://github.com/home-assistant-libs/home-assistant-bluetooth") (synopsis "Home Assistant Bluetooth Models and Helpers") (description "Home Assistant Bluetooth Models and Helpers.") (license license:asl2.0))) (define-public python-ifaddr-for-homeassistant (package (inherit python-ifaddr) (version "0.2.0") (source (origin (method url-fetch) (uri (pypi-uri "ifaddr" version)) (sha256 (base32 "1m5fqjqf53m31qrl8fxp2sbwf4mvk5mbjpw2jm2x8rgpmg5by36c")))) (build-system pyproject-build-system) (arguments '()) (native-inputs (list python-pytest python-netifaces python-setuptools python-wheel)))) (define-public python-lru-dict (package (name "python-lru-dict") (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "lru-dict" version)) (sha256 (base32 "1mqvl5rfrwhddl96nw2ca4b9d1cj242700fvv3sdss4xy616gi8k")))) (build-system pyproject-build-system) (native-inputs (list python-pytest python-setuptools python-wheel)) (home-page "https://github.com/amitdev/lru-dict") (synopsis "An Dict like LRU container.") (description "An Dict like LRU container.") (license license:expat))) (define-public python-pyjwt-for-homeassistant (package (inherit python-pyjwt) (version "2.7.0") (source (origin (method url-fetch) (uri (pypi-uri "PyJWT" version)) (sha256 (base32 "0x70qffax798pbkcn3yd9kh99yzqzlss1ra98cnilp18qjis8v5x")))))) (define-public python-slugify-for-homeassistant (package (inherit python-slugify) (version "4.0.1") (source (origin (method url-fetch) (uri (pypi-uri "python-slugify" version)) (sha256 (base32 "0w22fapghmzk3xdasc4dn7h8sl58l08d1h5zbf72dh80drv1g9b9")))))) (define-public python-requests-for-homeassistant (package (inherit python-requests) (version "2.31.0") (source (origin (method url-fetch) (uri (pypi-uri "requests" version)) (sha256 (base32 "1qfidaynsrci4wymrw3srz8v1zy7xxpcna8sxpm91mwqixsmlb4l")))))) (define-public python-ulid-transform (package (name "python-ulid-transform") (version "0.7.2") (source (origin (method url-fetch) (uri (pypi-uri "ulid_transform" version)) (sha256 (base32 "0nxglsz03r6js9b7spcjdiawzpc5y2rb9hklrdsvf6zpwzwsjy2z")))) (build-system pyproject-build-system) (native-inputs (list python-poetry-core python-setuptools)) (home-page "https://github.com/bdraco/ulid-transform") (synopsis "Create and transform ULIDs") (description "This library provides fast ULID transformations for python.") (license license:expat))) (define-public python-voluptuous-for-homeassistant (package (inherit python-voluptuous) (version "0.13.1") (source (origin (method url-fetch) (uri (pypi-uri "voluptuous" version)) (sha256 (base32 "08wp91dn1ibsmjd0660hpldq5ii9xqmg9h6l2k5p6rqxc0h1rlz8")))) (native-inputs (list python-pytest)))) (define-public python-voluptuous-serialize (package (name "python-voluptuous-serialize") (version "2.6.0") (source (origin (method url-fetch) (uri (pypi-uri "voluptuous-serialize" version)) (sha256 (base32 "1i57pkwzchljdmhdq31mypq6vzcfz8kxh0j42j9s70lm4dcdrb3r")))) (build-system pyproject-build-system) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-voluptuous-for-homeassistant)) (home-page "http://github.com/balloob/voluptuous-serialize") (synopsis "Convert voluptuous schemas to dictionaries") (description "Convert voluptuous schemas to dictionaries.") (license license:asl2.0))) ;;; Dependencies from homeassistant/package_constraints.txt (define-public python-aiohttp-cors (package (name "python-aiohttp-cors") (version "0.7.0") (source (origin (method url-fetch) (uri (pypi-uri "aiohttp_cors" version)) (sha256 (base32 "0pczn54bqd32v8zhfbjfybiza6xh1szwxy6as577dn8g23bwcfad")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-aiohttp)) (home-page "https://github.com/aio-libs/aiohttp-cors") (synopsis "CORS support for aiohttp") (description "CORS support for aiohttp.") (license license:asl2.0))) (define-public python-pyroute2 (package (name "python-pyroute2") (version "0.7.5") (source (origin (method url-fetch) (uri (pypi-uri "pyroute2" version)) (sha256 (base32 "1r8bbkz70r108vnhlh44aamb4qb7bc670ylk1bgmfcslwaijzsqy")))) (build-system python-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (delete 'sanity-check)))) (home-page "https://github.com/svinota/pyroute2") (synopsis "Python Netlink library") (description "Python Netlink library.") (license (list license:gpl2+ license:asl2.0)))) (define-public python-cached-ipaddress (package (name "python-cached-ipaddress") (version "0.5.0") (source (origin (method url-fetch) (uri (pypi-uri "cached_ipaddress" version)) (sha256 (base32 "0q7wrsm1jfgrbgjnabpmy13d92b9yra4pj26vjr0jwb23046synw")))) (build-system pyproject-build-system) (native-inputs (list python-poetry-core python-setuptools)) (home-page "https://github.com/bdraco/cached-ipaddress") (synopsis "Cache construction of ipaddress objects") (description "Cache construction of ipaddress objects.") (license license:expat))) (define-public python-dnspython-for-homeassistant (package (inherit python-dnspython) (version "2.3.0") (source (origin (method url-fetch) (uri (pypi-uri "dnspython" version)) (sha256 (base32 "1fa0lm90sibdzwi0hk5b47k68fhjpvh68vgg287ffsxl7sq34ki2")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-setuptools)))) (define-public python-aiodiscover (package (name "python-aiodiscover") (version "1.4.16") (source (origin (method url-fetch) (uri (pypi-uri "aiodiscover" version)) (sha256 (base32 "0sc8ci11di8113dd5b2j02kp8y1r8xd0gr1069hkhyi1j9i9nnr4")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-aiodns python-async-timeout python-cached-ipaddress python-ifaddr-for-homeassistant python-netifaces python-pyroute2 python-dnspython-for-homeassistant)) (home-page "https://github.com/bdraco/aiodiscover") (synopsis "Discover hosts by arp and ptr lookup") (description "Discover hosts by arp and ptr lookup.") (license license:asl2.0))) (define-public python-home-assistant-intents (package (name "python-home-assistant-intents") (version "2023.6.28") (source (origin (method url-fetch) (uri (pypi-uri "home-assistant-intents" version)) (sha256 (base32 "0qmnncqgink62q192mksl23vhv7bqck3ncbcqqfpqspsvjvj5pg3")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (home-page "https://github.com/home-assistant/intents") (synopsis "Intents for Home Assistant") (description "Intents for Home Assistant.") (license license:cc-by4.0))) (define-public python-didl-lite (package (name "python-didl-lite") (version "1.3.2") (source (origin (method url-fetch) (uri (pypi-uri "python-didl-lite" version)) (sha256 (base32 "1waabh1fwnx1w3q1fpp0s58alqpwh72gg4zx3rgv1xs064fn9h48")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-defusedxml)) (home-page "https://github.com/StevenLooman/python-didl-lite") (synopsis "DIDL-Lite (Digital Item Declaration Language) tools for Python") (description "DIDL-Lite (Digital Item Declaration Language) tools for Python.") (license license:asl2.0))) (define-public python-async-upnp-client (package (name "python-async-upnp-client") (version "0.33.2") (source (origin (method url-fetch) (uri (pypi-uri "async_upnp_client" version)) (sha256 (base32 "1lr6baj06yyqzfcsj66dgy9i6xjhh3xpbpa33yq7a8g197n51jik")))) (build-system pyproject-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (delete 'sanity-check)))) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-aiohttp python-async-timeout python-defusedxml python-didl-lite python-voluptuous-for-homeassistant)) (home-page "https://github.com/StevenLooman/async_upnp_client") (synopsis "Async UPnP Client") (description "Async U@code{PnP} Client.") (license license:asl2.0))) (define-public python-fnvhash (package (name "python-fnvhash") (version "0.1.0") (source (origin (method url-fetch) (uri (pypi-uri "fnvhash" version)) (sha256 (base32 "13jsr2crcxv69n71p2mgyr4q7x5nwzvlkdmmna3kk7sg0l2xb0iy")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (home-page "https://github.com/znerol/py-fnvhash") (synopsis "Pure Python FNV hash implementation") (description "Pure Python FNV hash implementation.") (license license:expat))) (define-public python-fnv-hash-fast (package (name "python-fnv-hash-fast") (version "0.3.1") (source (origin (method url-fetch) (uri (pypi-uri "fnv_hash_fast" version)) (sha256 (base32 "0gbg2zsrrrzlb42xxra8wn6pf3hp6r0a3kli98mhdll1nxk72qpq")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-setuptools)) (propagated-inputs (list python-fnvhash)) (home-page "https://github.com/bdraco/fnv-hash-fast") (synopsis "A fast version of fnv1a") (description "This package provides a fast version of fnv1a.") (license license:expat))) (define-public python-acme (package (name "python-acme") (version "1.31.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 "0lzwfrsrph66ix9warpb428q37v3nk48ldv5v26w608iz9i35qgm")))) (build-system pyproject-build-system) (propagated-inputs (list python-cryptography python-josepy python-pyopenssl python-pyrfc3339 python-pytz python-requests-for-homeassistant python-setuptools)) (native-inputs (list python-importlib-resources python-pytest python-requests-toolbelt python-pytest-xdist python-typing-extensions python-wheel)) (home-page "https://github.com/certbot/certbot") (synopsis "ACME protocol implementation in Python") (description "ACME protocol implementation in Python.") (license license:asl2.0))) (define-public python-envs (package (name "python-envs") (version "1.4") (source (origin (method url-fetch) (uri (pypi-uri "envs" version)) (sha256 (base32 "160358zskyg6g606lndjcv7yd2nv5f7ca14y55lds72xk333b14x")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-pytest python-pytest-cov)) (propagated-inputs (list python-click python-jinja2 python-terminaltables)) (home-page #f) (synopsis "Easy access of environment variables from Python with support for strings, booleans, list, tuples, and dicts.") (description "Easy access of environment variables from Python with support for strings, booleans, list, tuples, and dicts.") (license license:asl2.0))) (define-public python-pycognito (package (name "python-pycognito") (version "2022.12.0") (source (origin (method url-fetch) (uri (pypi-uri "pycognito" version)) (sha256 (base32 "0byr2daq3xggddafgliv5k8psbx1swrkd476wwp98qiq1x10gk29")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-boto3 python-envs python-jose python-requests-for-homeassistant)) (home-page "https://github.com/pvizeli/pycognito") (synopsis "Python class to integrate Boto3's Cognito client so it is easy to login users. With SRP support.") (description "Python class to integrate Boto3's Cognito client so it is easy to login users. With SRP support.") (license license:asl2.0))) (define-public python-snitun (package (name "python-snitun") (version "0.35.0") (source (origin (method url-fetch) (uri (pypi-uri "snitun" version)) (sha256 (base32 "0kyqzghh273fy81jrxqgzl0qj8wnn11iz7ay5396hg67ap6blcnb")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (propagated-inputs (list python-aiohttp python-async-timeout python-attrs-for-homeassistant python-cryptography)) (native-inputs (list python-pytest python-pytest-aiohttp python-pytest-timeout python-setuptools python-wheel)) (home-page "https://github.com/NabuCasa/snitun") (synopsis "SNI proxy with TCP multiplexer") (description "SNI proxy with TCP multiplexer.") (license license:gpl3))) (define-public python-hass-nabucasa (package (name "python-hass-nabucasa") (version "0.69.0") (source (origin (method url-fetch) (uri (pypi-uri "hass-nabucasa" version)) (sha256 (base32 "0kgmvfvr2dqlihcn8qffky0kg8xhn16zzjwzyspfq49kc5rxf3qh")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-wheel)) (propagated-inputs (list python-acme python-aiohttp python-atomicwrites-homeassistant python-attrs-for-homeassistant python-ciso8601-for-homeassistant python-cryptography python-pycognito python-pyjwt-for-homeassistant python-snitun python-requests-toolbelt)) (home-page "https://github.com/NabuCasa/hass-nabucasa") (synopsis "Home Assistant cloud integration by Nabu Casa, Inc.") (description "Home Assistant cloud integration by Nabu Casa, Inc.") (license license:gpl3))) (define-public python-unicode-rbnf (package (name "python-unicode-rbnf") (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "unicode_rbnf" version)) (sha256 (base32 "1xvi83zd0y8w1j94kwsgaa50b146rm5qxbl7vqy4293ywisms39j")))) (build-system pyproject-build-system) (native-inputs (list python-setuptools python-wheel)) (home-page "http://github.com/rhasspy/unicode-rbnf") (synopsis "Rule-based number formatting using Unicode CLDR data") (description "Rule-based number formatting using Unicode CLDR data.") (license license:expat))) (define-public python-hassil (package (name "python-hassil") (version "1.0.6") (source (origin (method url-fetch) (uri (pypi-uri "hassil" version)) (sha256 (base32 "0y87rmba8977w4gmyxbm5pqhw4rk9f2vjw41d4vghz14a8l9a95c")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-importlib-resources python-pyyaml python-unicode-rbnf)) (home-page "http://github.com/home-assistant/hassil") (synopsis "The Home Assistant Intent Language parser") (description "The Home Assistant Intent Language parser.") (license license:asl2.0))) (define-public python-home-assistant-frontend (package (name "python-home-assistant-frontend") (version "20230705.1") (source (origin (method url-fetch) (uri (string-append "https://files.pythonhosted.org/packages/" "ef/87/69818138c1aca6f1039da07874cf13a32159283252225fe062585dcc42ef/" "home_assistant_frontend-20230705.1-py3-none-any.whl")) (sha256 (base32 "0slnqlkh0hvnhm6mw0k6lddmzm4prh18ak7dm7w0hi2i9snv4bsl")))) (build-system python-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (delete 'build) (replace 'install (lambda _ (apply invoke "pip" "--no-cache-dir" "--no-input" "install" "--no-deps" "--prefix" #$output (find-files "." "\\.whl$"))))))) (home-page "https://github.com/home-assistant/frontend") (synopsis "Frontend for Home Assistant") (description "This offers the official frontend to control Home Assistant.") (license license:asl2.0))) (define-public python-psutil-home-assistant (package (name "python-psutil-home-assistant") (version "0.0.1") (source (origin (method url-fetch) (uri (pypi-uri "psutil-home-assistant" version)) (sha256 (base32 "1f5xq720fi0bnd9w9zb1jyjm1jjrxzlj6a6s80qkmnbninlz7r7b")))) (build-system pyproject-build-system) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-psutil)) (home-page "https://github.com/home-assistant-libs/psutil-home-assistant") (synopsis "Wrapper for psutil to allow it to be used several times in the same process.") (description "Wrapper for psutil to allow it to be used several times in the same process.") (license license:asl2.0))) (define-public python-pyturbojpeg (package (name "python-pyturbojpeg") (version "1.6.7") (source (origin (method url-fetch) (uri (pypi-uri "PyTurboJPEG" version)) (sha256 (base32 "106djrg1qflmxjbpyqmdqgkph8a227gikgg1lgbn4791p6bq7vvv")))) (build-system pyproject-build-system) (native-inputs (list python-setuptools python-wheel)) (inputs (list libjpeg-turbo)) (propagated-inputs (list python-numpy)) (home-page "https://github.com/lilohuang/PyTurboJPEG") (synopsis "A Python wrapper of libjpeg-turbo for decoding and encoding JPEG image.") (description "This package provides a Python wrapper of libjpeg-turbo for decoding and encoding JPEG image.") (license license:expat))) (define-public python-webrtcvad (package (name "python-webrtcvad") (version "2.0.10") (source (origin (method url-fetch) (uri (pypi-uri "webrtcvad" version)) (sha256 (base32 "1skax7nzc76qrl5sx1c4n9kr371wk460jr2xlnqvfgxn4pxx5gpi")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (home-page "https://github.com/wiseman/py-webrtcvad") (synopsis "Python interface to the Google WebRTC Voice Activity Detector (VAD)") (description "Python interface to the Google @code{WebRTC} Voice Activity Detector (VAD).") (license license:expat))) (define-public python-zeroconf-for-homeassistant (package (inherit python-zeroconf) (version "0.70.0") (source (origin (method url-fetch) (uri (pypi-uri "zeroconf" version)) (sha256 (base32 "0jnn71x05in3c3vh2ab0pwvh6nl9rgcichivrisaic8j6rjg6ppr")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-setuptools)) (propagated-inputs (list python-async-timeout python-ifaddr-for-homeassistant)))) ;;; Dependencies for default configuration (define-public python-pymetno (package (name "python-pymetno") (version "0.10.0") (source (origin (method url-fetch) (uri (pypi-uri "PyMetno" version)) (sha256 (base32 "173z1nvf8fq6qzjj5vsm02cs12366xii69axjcrvrrd2l2p0y3ms")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-aiohttp python-async-timeout python-xmltodict python-pytz)) (home-page "https://github.com/Danielhiversen/pyMetno/") (synopsis "A library to communicate with the met.no api") (description "This package provides a library to communicate with the met.no api.") (license license:expat))) (define-public python-mashumaro (package (name "python-mashumaro") (version "3.13.1") (source (origin (method url-fetch) (uri (pypi-uri "mashumaro" version)) (sha256 (base32 "0nwpy57ismmf6vjqdqnrxpys7487vnli975kpivn0giv4n8057qn")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-typing-extensions)) (home-page "https://github.com/Fatal1ty/mashumaro") (synopsis "Fast and well tested serialization library") (description "Fast and well tested serialization library.") (license license:asl2.0))) (define-public python-backoff (package (name "python-backoff") (version "2.2.1") (source (origin (method url-fetch) (uri (pypi-uri "backoff" version)) (sha256 (base32 "1fjwz9x81wpfn22j96ck49l3nb2hn19qfgv44441h8qrpgsjky03")))) (build-system pyproject-build-system) (native-inputs (list python-poetry-core python-setuptools)) (home-page "https://github.com/litl/backoff") (synopsis "Function decoration for backoff and retry") (description "Function decoration for backoff and retry.") (license license:expat))) (define-public python-radios (package (name "python-radios") (version "0.1.1") (source (origin (method url-fetch) (uri (pypi-uri "radios" version)) (sha256 (base32 "17jr9nmgz2q0zxlhdln6mq9rf0x5mqsxnakbfvb4fva7q7zsmh4s")))) (build-system pyproject-build-system) (arguments (list #:tests? #f)) (native-inputs (list python-poetry-core python-setuptools)) (propagated-inputs (list python-aiodns python-aiohttp python-awesomeversion python-backoff python-cachetools python-mashumaro python-orjson python-pycountry python-yarl python-pydantic)) (home-page "https://github.com/frenck/python-radios") (synopsis "Asynchronous Python client for the Radio Browser API") (description "Asynchronous Python client for the Radio Browser API.") (license license:expat))) (define-public python-securetar-for-homeassistant (package (inherit python-securetar) (version "2023.3.0") (source (origin (method url-fetch) (uri (pypi-uri "securetar" version)) (sha256 (base32 "166lgvz9xvf279alyba1xmi56q37231ybdb2s1jsqwpmzhwf6qpk")))) (build-system pyproject-build-system) (native-inputs (list python-setuptools python-wheel)) (propagated-inputs (list python-cryptography)))) (define-public homeassistant (package (name "homeassistant") (version "2023.7.3") ; Latest version that supports python 3.10 (source (origin (method url-fetch) (uri (pypi-uri "homeassistant" version)) (sha256 (base32 "1finbjbx4m2mkwjv8ss5n821750sqwd2gsvprpa6xm03f0dvp161")))) (build-system pyproject-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'unpack 'relax-dependencies (lambda _ (substitute* "pyproject.toml" (("aiohttp==3.8.5") "aiohttp>=3.8.5,<4") (("async-timeout==4.0.2") "async-timeout>=4.0.2") (("bcrypt==4.0.1") "bcrypt>3") (("cryptography==41.0.1") "cryptography>=41.0.1") (("pyOpenSSL==23.2.0") "pyOpenSSL>=23.2.0") (("orjson==3.9.1") "orjson>=3.9.1") (("httpx==0.24.1") "httpx>=0.24.1") (("yarl==1.9.2") "yarl>=1.9.2,<2"))))))) (propagated-inputs (list python-aiohttp ; aiohttp==3.8.5 (relaxed) python-astral-for-homeassistant ; astral==2.2 python-async-timeout ; async-timeout==4.0.2 (relaxed) python-attrs-for-homeassistant ; attrs==22.2.0 python-atomicwrites-homeassistant ; atomicwrites-homeassistant==1.4.1 python-awesomeversion ; awesomeversion==22.9.0 python-bcrypt ; bcrypt==4.0.1 (outdated, relaxed) python-certifi ; certifi>=2021.5.30 python-ciso8601-for-homeassistant ; ciso8601==2.3.0 python-httpx ; httpx==0.24.1 (relaxed) python-home-assistant-bluetooth ; home-assistant-bluetooth==1.10.0 python-ifaddr-for-homeassistant ; ifaddr==0.2.0 python-jinja2 ; Jinja2==3.1.2 python-lru-dict ; lru-dict==1.2.0 python-pyjwt-for-homeassistant ; PyJWT==2.7.0 python-cryptography ; cryptography==41.0.1 (relaxed) python-pyopenssl ; pyOpenSSL==23.2.0 (relaxed) python-orjson ; orjson==3.9.1 (relaxed) python-pip ; pip>=21.3.1,<23.2 python-slugify-for-homeassistant ; python-slugify==4.0.1 python-pyyaml ; PyYAML==6.0.1 python-requests-for-homeassistant ; requests==2.31.0 python-typing-extensions ; typing_extensions>=4.6.3,<5.0 python-ulid-transform ; ulid-transform==0.7.2 python-voluptuous-for-homeassistant ; voluptuous==0.13.1 python-voluptuous-serialize ; voluptuous-serialize==2.6.0 python-yarl ; yarl==1.9.2 (relaxed) python-aiohttp-cors ; aiohttp-cors==0.7.0 python-aiodiscover ; aiodiscover==1.4.16 python-sqlalchemy-2 ; SQLAlchemy==2.0.15 (2.0.36) python-home-assistant-intents ; home-assistant-intents==2023.6.28 python-async-upnp-client ; async-upnp-client==0.33.2 python-fnv-hash-fast ; fnv-hash-fast==0.3.1 python-av ; ha-av==10.1.0 (10.0.0) python-hass-nabucasa ; hass-nabucasa==0.69.0 python-hassil ; hassil==1.0.6 python-home-assistant-frontend ; home-assistant-frontend==20230705.1 python-janus ; janus==1.0.0 python-mutagen ; mutagen==1.46.0 (1.47.0) python-paho-mqtt ; paho-mqtt==1.6.1 python-pillow ; Pillow==9.5.0 (9.2.0) python-psutil-home-assistant ; psutil-home-assistant==0.0.1 python-pynacl ; PyNaCl==1.5.0 python-pyserial ; pyserial==3.5 python-pyturbojpeg ; PyTurboJPEG==1.6.7 python-pyudev ; pyudev==0.23.2 (0.22.0) python-scapy ; scapy==2.5.0 python-webrtcvad ; webrtcvad==2.0.10 python-zeroconf-for-homeassistant ; zeroconf==0.70.0 python-pymetno ; PyMetno==0.10.0 python-radios ; radios==0.1.1 python-gtts ; gTTS==2.2.4 (2.3.1) python-securetar-for-homeassistant ; securetar==2023.3.0 python-tzdata python-wheel)) (home-page "https://www.home-assistant.io/") (synopsis "Open-source home automation platform") (description "Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts.") (license license:asl2.0)))