diff options
Diffstat (limited to 'pkgs/development/python-modules/jiter/default.nix')
-rw-r--r-- | pkgs/development/python-modules/jiter/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/jiter/default.nix b/pkgs/development/python-modules/jiter/default.nix new file mode 100644 index 0000000000000..4f23966dcc165 --- /dev/null +++ b/pkgs/development/python-modules/jiter/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + rustPlatform, + fetchFromGitHub, + libiconv, + dirty-equals, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "jiter"; + version = "0.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pydantic"; + repo = "jiter"; + rev = "refs/tags/v${version}"; + hash = "sha256-EgovddXbwutLaVkosdbJ2Y3BpEms+RoeaO8ghBRNdio="; + }; + + postPatch = '' + cp ${./Cargo.lock} Cargo.lock + ''; + + cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }; + + buildAndTestSubdir = "crates/jiter-python"; + + nativeBuildInputs = [ rustPlatform.cargoSetupHook ]; + + build-system = [ rustPlatform.maturinBuildHook ]; + + buildInputs = [ libiconv ]; + + pythonImportsCheck = [ "jiter" ]; + + nativeCheckInputs = [ + dirty-equals + pytestCheckHook + ]; + + meta = { + description = "Fast iterable JSON parser"; + homepage = "https://github.com/pydantic/jiter/"; + changelog = "https://github.com/pydantic/jiter/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ natsukium ]; + }; +} |