diff options
Diffstat (limited to 'pkgs/development/python-modules/redis-om/default.nix')
-rw-r--r-- | pkgs/development/python-modules/redis-om/default.nix | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/redis-om/default.nix b/pkgs/development/python-modules/redis-om/default.nix new file mode 100644 index 00000000000..aec5311351e --- /dev/null +++ b/pkgs/development/python-modules/redis-om/default.nix @@ -0,0 +1,85 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, unasync +, poetry-core +, python +, click +, hiredis +, more-itertools +, pydantic +, python-ulid +, redis +, types-redis +, typing-extensions +, pkgs +, pytest-asyncio +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "redis-om"; + version = "0.2.1"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "redis"; + repo = "redis-om-python"; + rev = "refs/tags/v${version}"; + hash = "sha256-jQS0VTYZeAj3+OVFy+JP4mUFBPo+a5D/kdJKagFraaA="; + }; + + nativeBuildInputs = [ + unasync + poetry-core + ]; + + propagatedBuildInputs = [ + click + hiredis + more-itertools + pydantic + python-ulid + redis + types-redis + typing-extensions + ]; + + preBuild = '' + ${python.pythonOnBuildForHost.interpreter} make_sync.py + ''; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + preCheck = '' + ${pkgs.redis}/bin/redis-server & + REDIS_PID=$! + ''; + + postCheck = '' + kill $REDIS_PID + ''; + + # probably require redisearch + # https://github.com/redis/redis-om-python/issues/532 + doCheck = false; + + pythonImportsCheck = [ + "aredis_om" + "redis_om" + ]; + + meta = with lib; { + description = "Object mapping, and more, for Redis and Python"; + homepage = "https://github.com/redis/redis-om-python"; + changelog = "https://github.com/redis/redis-om-python/releases/tag/${src.rev}"; + license = licenses.mit; + maintainers = with maintainers; [ natsukium ]; + }; +} |