diff --git a/pkgs/development/python-modules/conjure-python-client/default.nix b/pkgs/development/python-modules/conjure-python-client/default.nix new file mode 100644 index 000000000000..4856b050ace9 --- /dev/null +++ b/pkgs/development/python-modules/conjure-python-client/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + requests, + pytestCheckHook, + pyyaml, +}: + +buildPythonPackage rec { + version = "3.0.0"; + pname = "conjure-python-client"; + pyproject = true; + + src = fetchFromGitHub { + owner = "palantir"; + repo = "conjure-python-client"; + tag = "${version}"; + hash = "sha256-Ux4yn/fvfiW1mPir1lT+l9bKUnh7CNU6qNTac046H74="; + }; + + # https://github.com/palantir/conjure-python-client/blob/3.0.0/setup.py#L57 + postPatch = '' + echo '__version__ = "${version}"' > ./conjure_python_client/_version.py + ''; + + build-system = [ setuptools ]; + + dependencies = [ requests ]; + + nativeCheckInputs = [ + pytestCheckHook + pyyaml + ]; + + # some tests depend on a code generator that isn't available in nixpkgs + # https://github.com/palantir/conjure-python-client/blob/3.0.0/CONTRIBUTING.md?plain=1#L23 + disabledTestPaths = [ + "test/conjure/test_conjure_repr.py" + "test/integration_test" + "test/serde/test_decode_union.py" + ]; + + pythonImportsCheck = [ "conjure_python_client" ]; + + meta = { + description = "Python client and JSON encoders for use with generated Conjure clients"; + homepage = "https://github.com/palantir/conjure-python-client"; + changelog = "https://github.com/palantir/conjure-python-client/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ alkasm ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 79acec4ff1e0..a9f6f5deb977 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2825,6 +2825,8 @@ self: super: with self; { confuse = callPackage ../development/python-modules/confuse { }; + conjure-python-client = callPackage ../development/python-modules/conjure-python-client { }; + connect-box = callPackage ../development/python-modules/connect-box { }; connected-components-3d = callPackage ../development/python-modules/connected-components-3d { };