diff --git a/pkgs/development/python-modules/burner-redis/default.nix b/pkgs/development/python-modules/burner-redis/default.nix new file mode 100644 index 000000000000..c8ffe4e2c8dc --- /dev/null +++ b/pkgs/development/python-modules/burner-redis/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + rustPlatform, + + pytest-asyncio, + redis, +}: + +buildPythonPackage (finalAttrs: { + pname = "burner-redis"; + version = "0.1.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "prefectlabs"; + repo = "burner-redis"; + tag = "v${finalAttrs.version}"; + hash = "sha256-soXwXxo8vVGEEM5iDNFa86zlPA+e74b+AS9diUoOdME="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-0qdmcoRje7OkHnGhO8CaR/g38yL9K8Jc+1KjfW4xPTQ="; + }; + + nativeBuildInputs = [ + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + ]; + + pythonImportsCheck = [ "burner_redis" ]; + + doCheck = true; + nativeCheckInputs = [ + pytestCheckHook + + pytest-asyncio + redis + ]; + + meta = { + description = "Embedded, in-process Redis-compatible database"; + homepage = "https://github.com/prefectlabs/burner-redis"; + downloadPage = "https://github.com/prefectlabs/burner-redis/releases"; + changelog = "https://github.com/prefectlabs/burner-redis/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prince213 ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8c0b456452dc..4f5a793f86e2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2405,6 +2405,8 @@ self: super: with self; { bundlewrap-teamvault = callPackage ../development/python-modules/bundlewrap-teamvault { }; + burner-redis = callPackage ../development/python-modules/burner-redis { }; + busylight-core = callPackage ../development/python-modules/busylight-core { }; busylight-for-humans = callPackage ../development/python-modules/busylight-for-humans { };