diff --git a/pkgs/development/python-modules/aioacaia/default.nix b/pkgs/development/python-modules/aioacaia/default.nix
new file mode 100644
index 000000000000..b44d87805f0a
--- /dev/null
+++ b/pkgs/development/python-modules/aioacaia/default.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  bleak,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "aioacaia";
+  version = "0.1.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.12";
+
+  src = fetchFromGitHub {
+    owner = "zweckj";
+    repo = "aioacaia";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-cD9NGGRDsFalrcmaTGPOjkh0+KbPW/MyBq79RNQZQ64=";
+  };
+
+  build-system = [ setuptools ];
+
+  dependencies = [ bleak ];
+
+  # Module only has a homebrew tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "aioacaia" ];
+
+  meta = {
+    description = "Async implementation of pyacaia";
+    homepage = "https://github.com/zweckj/aioacaia";
+    changelog = "https://github.com/zweckj/aioacaia/releases/tag/v${version}";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ebe1c7901a84..e53234d8bec6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -151,6 +151,8 @@ self: super: with self; {
 
   aio-pika = callPackage ../development/python-modules/aio-pika { };
 
+  aioacaia = callPackage ../development/python-modules/aioacaia { };
+
   aioairzone = callPackage ../development/python-modules/aioairzone { };
 
   aioairzone-cloud = callPackage ../development/python-modules/aioairzone-cloud { };