diff --git a/pkgs/development/python-modules/postgrest-py/default.nix b/pkgs/development/python-modules/postgrest-py/default.nix new file mode 100644 index 0000000000000..8e3b02bdd457a --- /dev/null +++ b/pkgs/development/python-modules/postgrest-py/default.nix @@ -0,0 +1,61 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + deprecation, + h2, + httpx, + poetry-core, + pydantic, + pytestCheckHook, + pythonPackages, +}: + +buildPythonPackage rec { + pname = "postgrest-py"; + version = "1.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "supabase"; + repo = "postgrest-py"; + tag = "v${version}"; + hash = "sha256-WTS8J8XhHPSe6N1reY3j2QYHaRY1goiVoqQCUKSgbVY="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + deprecation + httpx + pydantic + ]; + + nativeCheckInputs = [ + pytestCheckHook + h2 + ]; + + # Lots of tests fail without network access + disabledTestPaths = [ + "tests/_async/test_client.py" + "tests/_async/test_filter_request_builder.py" + "tests/_async/test_filter_request_builder_integration.py" + "tests/_async/test_query_request_builder.py" + "tests/_async/test_request_builder.py" + "tests/_sync/test_filter_request_builder_integration.py" + ]; + disabledTests = [ + "test_params_purged_after_execute" + ]; + + pythonImportsCheck = [ "postgrest" ]; + + meta = { + description = "PostgREST client for Python, provides an ORM interface to PostgREST"; + homepage = "https://github.com/supabase/postgrest-py"; + changelog = "https://github.com/supabase/postgrest-py/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jherland ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a17766a683ade..dbe0cd64c8b7e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11683,6 +11683,8 @@ self: super: with self; { posix-ipc = callPackage ../development/python-modules/posix-ipc { }; + postgrest-py = callPackage ../development/python-modules/postgrest-py { }; + posthog = callPackage ../development/python-modules/posthog { }; pot = callPackage ../development/python-modules/pot { };