14 rustPlatform.buildRustPackage rec {
18 src = fetchFromGitHub {
22 hash = "sha256-Zephf4mB3RI5YIAOIjfqIfgVANefkH63OQoPPMe417E=";
25 cargoHash = "sha256-yLKt/Xml7ig6QG3T5Qn39tW7U5NIN1hSOaLiSRMiy5I=";
27 buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
28 darwin.apple_sdk.frameworks.Security
32 # Requires network access, fails in sandbox.
37 version = testers.testVersion { package = maturin; };
38 pyo3 = python3.pkgs.callPackage ./pyo3-test {
40 buildAndTestSubdir = "examples/word-count";
43 nativeBuildInputs = with rustPlatform; [
50 updateScript = nix-update-script { };
54 description = "Build and publish Rust crates Python packages";
56 Build and publish Rust crates with PyO3, rust-cpython, and
57 cffi bindings as well as Rust binaries as Python packages.
59 This project is meant as a zero-configuration replacement for
60 setuptools-rust and Milksnake. It supports building wheels for
61 Python and can upload them to PyPI.
63 homepage = "https://github.com/PyO3/maturin";
64 changelog = "https://github.com/PyO3/maturin/blob/v${version}/Changelog.md";
65 license = with lib.licenses; [
69 maintainers = with lib.maintainers; [ getchoo ];
70 mainProgram = "maturin";