1
0
Fork 0

add tapo cli

This commit is contained in:
Maurice Debray 2026-02-10 16:30:26 +01:00
parent ea3f8f01bb
commit 4638bfae0e
7 changed files with 166 additions and 25 deletions

46
nix/tapo.nix Normal file
View file

@ -0,0 +1,46 @@
{
lib,
rustPlatform,
buildPythonPackage,
maturin,
fetchFromGitHub,
}:
buildPythonPackage rec {
pname = "tapo";
version = "0.8.8";
pyproject = true;
src = fetchFromGitHub {
owner = "mihai-dinculescu";
repo = "tapo";
rev = "v${version}";
hash = "sha256-cVrD2XfS3Oum0DL9DYQfnNN6WKyjSiy94Vj+sUMmbcc=";
};
nativeBuildInputs = [
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
sourceRoot = "${src.name}/tapo-py";
cargoRoot = "../";
env = {
CARGO_TARGET_DIR = "./target";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-Klr3rx1zYcul1gPz6H+d5idHlNJQB3SuY5nZlXwHFmY=";
};
meta = {
description = "Unofficial Tapo API Client. Works with TP-Link Tapo smart devices. Tested with light bulbs (L510, L520, L530, L535, L610, L630), light strips (L900, L920, L930), plugs (P100, P105, P110, P110M, P115), power strips (P300, P304M, P316M), hubs (H100), switches (S200B) and sensors (KE100, T100, T110, T300, T310, T315";
homepage = "https://github.com/mihai-dinculescu/tapo";
changelog = "https://github.com/mihai-dinculescu/tapo/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
mainProgram = "tapo";
};
}