diff --git a/pkgs/development/python-modules/ast-serialize/default.nix b/pkgs/development/python-modules/ast-serialize/default.nix new file mode 100644 index 000000000000..71ee99cb9e62 --- /dev/null +++ b/pkgs/development/python-modules/ast-serialize/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + cargo, + rustPlatform, + rustc, +}: + +buildPythonPackage (finalAttrs: { + pname = "ast-serialize"; + version = "0.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mypyc"; + repo = "ast_serialize"; + tag = "v${finalAttrs.version}"; + hash = "sha256-R5hNpbJjKKZDOKQCdGZQ+0iW5vdh5CzSgzORESh4bDU="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-uhUMaUkaL57X8CVy6T9pCQa62IsOeKN/dhZTPVXSn14="; + }; + + build-system = [ + cargo + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + rustc + ]; + + pythonImportsCheck = [ + "ast_serialize" + ]; + + meta = { + description = "Fast Python parser that generates a serialized AST"; + homepage = "https://github.com/mypyc/ast_serialize"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0affe265a11a..815153af375a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1094,6 +1094,8 @@ self: super: with self; { ast-grep-py = callPackage ../development/python-modules/ast-grep-py { }; + ast-serialize = callPackage ../development/python-modules/ast-serialize { }; + asterisk-mbox = callPackage ../development/python-modules/asterisk-mbox { }; asteroid-filterbanks = callPackage ../development/python-modules/asteroid-filterbanks { };