{ "info": { "author": "konstin ", "author_email": "konstin ", "bugtrack_url": null, "classifiers": [], "description": "# Maturin\n\n_formerly pyo3-pack_\n\n[![Linux and Mac Build Status](https://img.shields.io/travis/PyO3/maturin/master.svg?style=flat-square)](https://travis-ci.org/PyO3/maturin)\n[![Windows Build status](https://img.shields.io/appveyor/ci/konstin/maturin/master.svg?style=flat-square)](https://ci.appveyor.com/project/konstin/maturin/branch/master)\n[![FreeBSD](https://img.shields.io/cirrus/github/PyO3/maturin?style=flat-square&task=freebsd)](https://cirrus-ci.com/github/PyO3/maturin)\n[![Crates.io](https://img.shields.io/crates/v/maturin.svg?style=flat-square)](https://crates.io/crates/maturin)\n[![PyPI](https://img.shields.io/pypi/v/maturin.svg?style=flat-square)](https://pypi.org/project/maturin/)\n[![Chat on Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square)](https://gitter.im/PyO3/Lobby)\n\nBuild and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages.\n\nThis project is meant as a zero configuration replacement for [setuptools-rust](https://github.com/PyO3/setuptools-rust) and [milksnake](https://github.com/getsentry/milksnake). It supports building wheels for python 3.5+ on windows, linux, mac and freebsd, can upload them to [pypi](https://pypi.org/) and has basic pypy support.\n\n## Usage\n\nYou can either download binaries from the [latest release](https://github.com/PyO3/maturin/releases/latest) or install it with pip:\n\n```shell\npip install maturin\n```\n\nThere are three main commands:\n\n * `maturin publish` builds the crate into python packages and publishes them to pypi.\n * `maturin build` builds the wheels and stores them in a folder (`target/wheels` by default), but doesn't upload them.\n * `maturin develop` builds the crate and install it's as a python module directly in the current virtualenv.\n\n`pyo3` and `rust-cpython` bindings are automatically detected, for cffi or binaries you need to pass `-b cffi` or `-b bin`. maturin doesn't needs extra configuration files and doesn't clash with an existing setuptools-rust or milksnake configuration. You can even integrate it with testing tools such as [tox](https://tox.readthedocs.io/en/latest/). There are examples for the different bindings in the `test-crates` folder.\n\nThe name of the package will be the name of the cargo project, i.e. the name field in the `[package]` section of Cargo.toml. The name of the module, which you are using when importing, will be the `name` value in the `[lib]` section (which defaults to the name of the package). For binaries it's simply the name of the binary generated by cargo.\n\n## pyo3 and rust-cpython\n\nFor pyo3 and rust-cpython, maturin can only build packages for installed python versions. On linux and mac, all python versions in `PATH` are used. If you don't set your own interpreters with `-i`, a heuristic is used to search for python installations. On windows all versions from the python launcher (which is installed by default by the python.org installer) and all conda environments except base are used. You can check which versions are picked up with the `list-python` subcommand.\n\npyo3 will set the used python interpreter in the environment variable `PYTHON_SYS_EXECUTABLE`, which can be used from custom build scripts.\n\n## Cffi\n\n Cffi wheels are compatible with all python versions, but they need to have `cffi` installed for the python used for building (`pip install cffi`).\n\nmaturin will utilize cbindgen to generate a header file. To customize the header file you can either configure cbindgen through a cbindgen.toml file inside your project root or write a setup a build script which writes a header file to `$PROJECT_ROOT/target/header.h`. \n\nBased on these header file maturin is going to generated a module which exports a `ffi` and a `lib` object.\n\n
\nExample of a custom build script\n\n```rust\nuse cbindgen; // Use `extern crate cbindgen` in rust 2015\nuse std::env;\nuse std::path::Path;\n\nfn main() {\n let crate_dir = env::var(\"CARGO_MANIFEST_DIR\").unwrap();\n\n let bindings = cbindgen::Builder::new()\n .with_no_includes()\n .with_language(cbindgen::Language::C)\n .with_crate(crate_dir)\n .generate()\n .unwrap();\n bindings.write_to_file(Path::new(\"target\").join(\"header.h\"));\n}\n```\n\n
\n\n## Mixed rust/python projects\n\nTo create a mixed rust/python project, create a folder with your module name (i.e. `lib.name` in Cargo.toml) next to your Cargo.toml and add your python sources there:\n\n```\nmy-project\n\u251c\u2500\u2500 Cargo.toml\n\u251c\u2500\u2500 my_project\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 bar.py\n\u251c\u2500\u2500 Readme.md\n\u2514\u2500\u2500 src\n \u00a0\u00a0 \u2514\u2500\u2500 lib.rs\n```\n\nmaturin will add the native extension as a module in your python folder. When using develop, maturin will copy the native library and for cffi also the glue code to your python folder. You should add those files to your gitignore.\n\nWith cffi you can do `from .my_project import lib` and then use `lib.my_native_function`, with pyo3/rust-cpython you can directly `from .my_project import my_native_function`.\n\nExample layout with pyo3 after `maturin develop`:\n\n```\nmy-project\n\u251c\u2500\u2500 Cargo.toml\n\u251c\u2500\u2500 my_project\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 bar.py\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 my_project.cpython-36m-x86_64-linux-gnu.so\n\u251c\u2500\u2500 Readme.md\n\u2514\u2500\u2500 src\n \u00a0\u00a0 \u2514\u2500\u2500 lib.rs\n```\n\n## Python metadata\n\nTo specifiy python dependecies, add a list `requires-dist` in a `[package.metadata.maturin]` section in the Cargo.toml. This list is equivalent to `install_requires` in setuptools:\n\n```toml\n[package.metadata.maturin]\nrequires-dist = [\"flask~=1.1.0\", \"toml==0.10.0\"]\n```\n\nPip allows adding so called console scripts, which are shell commands that execute some function in you program. You can add console scripts in a section `[package.metadata.maturin.scripts]`. The keys are the script names while the values are the path to the function in the format `some.module.path:class.function`, where the `class` part is optional. The function is called with no arguments. Example:\n\n```toml\n[package.metadata.maturin.scripts]\nget_42 = \"my_project:DummyClass.get_42\"\n```\n\nYou can also specify [trove classifiers](https://pypi.org/classifiers/) in your Cargo.toml under `package.metadata.maturin.classifier`:\n\n```toml\n[package.metadata.maturin]\nclassifier = [\"Programming Language :: Python\"]\n```\n\nYou can use other fields from the [python core metadata](https://packaging.python.org/specifications/core-metadata/) in the `[package.metadata.maturin]` section, specifically ` maintainer`, `maintainer-email` and `requires-python` (string fields), as well as `requires-external`, `project-url` and `provides-extra` (lists of strings).\n\n## pyproject.toml\n\nmaturin supports building through pyproject.toml. To use it, create a `pyproject.toml` next to your `Cargo.toml` with the following content:\n\n```toml\n[build-system]\nrequires = [\"maturin\"]\nbuild-backend = \"maturin\"\n```\n\nIf a `pyproject.toml` with a `[build-system]` entry is present, maturin will build a source distribution (sdist) of your package, unless `--no-sdist` is specified. The source distribution will contain the same files as `cargo package`. To only build a source distribution, pass `--interpreter` without any values.\n\nYou can then e.g. install your package with `pip install .`. With `pip install . -v` you can see the output of cargo and maturin.\n\nYou can use the options `manylinux`, `skip-auditwheel`, `bindings`, `strip`, `cargo-extra-args` and `rustc-extra-args` under `[tool.maturin]` the same way you would when running maturin directly. The `bindings` key is required for cffi and bin projects as those can't be automatically detected. Currently, all build are in release mode (see [this thread](https://discuss.python.org/t/pep-517-debug-vs-release-builds/1924) for details).\n\nFor a non-manylinux build you could with cffi bindings you could use the following:\n\n```toml\n[build-system]\nrequires = [\"maturin\"]\nbuild-backend = \"maturin\"\n\n[tool.maturin]\nbindings = \"cffi\"\nmanylinux = \"off\"\n```\n\nUsing tox with build isolation is currently blocked by a tox bug ([tox-dev/tox#1344](https://github.com/tox-dev/tox/issues/1344)). There's a `cargo sdist` command for only building a source distribution as workaround for [pypa/pip#6041](https://github.com/pypa/pip/issues/6041).\n\n## Manylinux and auditwheel\n\nFor portability reasons, native python modules on linux must only dynamically link a set of very few libraries which are installed basically everywhere, hence the name manylinux. The pypa offers a special docker container and a tool called [auditwheel](https://github.com/pypa/auditwheel/) to ensure compliance with the [manylinux rules](https://www.python.org/dev/peps/pep-0513/#the-manylinux1-policy).\n\nmaturin contains a reimplementation of a major part of auditwheel automatically checking the generated library. If you want to disable those checks or build for native linux target, use the `--manylinux` flag.\n\nFor full manylinux compliance you need to compile in a cent os 5 docker container. The [konstin2/maturin](https://hub.docker.com/r/konstin2/maturin) image is based on the official manylinux image. You can use it like this:\n\n```\ndocker run --rm -v $(pwd):/io konstin2/maturin build\n```\n\nmaturin itself is manylinux compliant when compiled for the musl target. The binaries on the release pages have additional keyring integration (through the `password-storage` feature), which is not manylinux compliant.\n\n## PyPy\n\nmaturin can build wheels for pypy with pyo3. Note that pypy [is not compatible with manylinux1](https://github.com/antocuni/pypy-wheels#why-not-manylinux1-wheels) and you can't publish pypy wheel to pypi pypy has been only tested manually and on linux. See [#115](https://github.com/PyO3/maturin/issues/115) for more details.\n\n### Build\n\n```\nFLAGS:\n -h, --help \n Prints help information\n\n --no-sdist \n Don't build a source distribution\n\n --release \n Pass --release to cargo\n\n --skip-auditwheel \n [deprecated, use --manylinux instead] Don't check for manylinux compliance\n\n --strip \n Strip the library for minimum file size\n\n -V, --version \n Prints version information\n\n\nOPTIONS:\n -b, --bindings \n Which kind of bindings to use. Possible values are pyo3, rust-cpython, cffi and bin\n\n --cargo-extra-args ...\n Extra arguments that will be passed to cargo as `cargo rustc [...] [arg1] [arg2] --`\n \n Use as `--cargo-extra-args=\"--my-arg\"`\n -i, --interpreter ...\n The python versions to build wheels for, given as the names of the interpreters. Uses autodiscovery if not\n explicitly set.\n --manylinux \n Control the platform tag on linux.\n \n - `1`: Use the manylinux1 tag and check for compliance\n - `1-unchecked`: Use the manylinux1 tag without checking for compliance\n - `2010`: Use the manylinux2010 tag and check for compliance\n - `2010-unchecked`: Use the manylinux1 tag without checking for compliance\n - `off`: Use the native linux tag (off)\n \n This option is ignored on all non-linux platforms [default: 1] [possible values: 1, 1-unchecked, 2010,\n 2010-unchecked, off]\n -o, --out \n The directory to store the built wheels in. Defaults to a new \"wheels\" directory in the project's target\n directory\n -m, --manifest-path \n The path to the Cargo.toml [default: Cargo.toml]\n\n --rustc-extra-args ...\n Extra arguments that will be passed to rustc as `cargo rustc [...] -- [arg1] [arg2]`\n \n Use as `--rustc-extra-args=\"--my-arg\"`\n --target \n The --target option for cargo\n```\n\n### Publish\n\n```\nFLAGS:\n --debug \n Do not pass --release to cargo\n\n -h, --help \n Prints help information\n\n --no-sdist \n Don't build a source distribution\n\n --no-strip \n Strip the library for minimum file size\n\n --skip-auditwheel \n [deprecated, use --manylinux instead] Don't check for manylinux compliance\n\n -V, --version \n Prints version information\n\n\nOPTIONS:\n -b, --bindings \n Which kind of bindings to use. Possible values are pyo3, rust-cpython, cffi and bin\n\n --cargo-extra-args ...\n Extra arguments that will be passed to cargo as `cargo rustc [...] [arg1] [arg2] --`\n \n Use as `--cargo-extra-args=\"--my-arg\"`\n -i, --interpreter ...\n The python versions to build wheels for, given as the names of the interpreters. Uses autodiscovery if not\n explicitly set.\n --manylinux \n Control the platform tag on linux.\n \n - `1`: Use the manylinux1 tag and check for compliance\n - `1-unchecked`: Use the manylinux1 tag without checking for compliance\n - `2010`: Use the manylinux2010 tag and check for compliance\n - `2010-unchecked`: Use the manylinux1 tag without checking for compliance\n - `off`: Use the native linux tag (off)\n \n This option is ignored on all non-linux platforms [default: 1] [possible values: 1, 1-unchecked, 2010,\n 2010-unchecked, off]\n -o, --out \n The directory to store the built wheels in. Defaults to a new \"wheels\" directory in the project's target\n directory\n -p, --password \n Password for pypi or your custom registry. Note that you can also pass the password through MATURIN_PASSWORD\n\n -m, --manifest-path \n The path to the Cargo.toml [default: Cargo.toml]\n\n -r, --repository-url \n The url of registry where the wheels are uploaded to [default: https://upload.pypi.org/legacy/]\n\n --rustc-extra-args ...\n Extra arguments that will be passed to rustc as `cargo rustc [...] -- [arg1] [arg2]`\n \n Use as `--rustc-extra-args=\"--my-arg\"`\n --target \n The --target option for cargo\n\n -u, --username \n Username for pypi or your custom registry\n```\n\n### Develop\n\n```\nFLAGS:\n -h, --help \n Prints help information\n\n --release \n Pass --release to cargo\n\n --strip \n Strip the library for minimum file size\n\n -V, --version \n Prints version information\n\n\nOPTIONS:\n -b, --binding-crate \n Which kind of bindings to use. Possible values are pyo3, rust-cpython, cffi and bin\n\n --cargo-extra-args ...\n Extra arguments that will be passed to cargo as `cargo rustc [...] [arg1] [arg2] --`\n \n Use as `--cargo-extra-args=\"--my-arg\"`\n -m, --manifest-path \n The path to the Cargo.toml [default: Cargo.toml]\n\n --rustc-extra-args ...\n Extra arguments that will be passed to rustc as `cargo rustc [...] -- [arg1] [arg2]`\n \n Use as `--rustc-extra-args=\"--my-arg\"`\n```\n\n## Code\n\nThe main part is the maturin library, which is completely documented and should be well integratable. The accompanying `main.rs` takes care username and password for the pypi upload and otherwise calls into the library.\n\nThe `sysconfig` folder contains the output of `python -m sysconfig` for different python versions and platform, which is helpful during development.\n\nYou need to install `cffi` (`pip install cffi`) to run the tests.\n\nThere are two optional hacks that can speed up the tests (over 80s to 17s on my machine). By running `cargo build --release --manifest-path test-crates/cargo-mock/Cargo.toml` you can activate a cargo cache avoiding to rebuild the pyo3 test crates with every python vesion. Delete `target/test-cache` to clear the cache (e.g. after changing a test crate) or remove `test-crates/cargo-mock/target/release/cargo` to deactive it. By running the tests with the `faster-tests` feature, binaries are stripped and wheels are only stored and not compressed.\n\nYou might want to have look into my [blog post](https://blog.schuetze.link/2018/07/21/a-dive-into-packaging-native-python-extensions.html) which explains the intricacies of building native python packages.\n", "description_content_type": "text/markdown; charset=UTF-8; variant=GFM", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "python cffi packaging pypi pyo3", "license": "MIT OR Apache-2.0", "maintainer": "", "maintainer_email": "", "name": "maturin", "package_url": "https://pypi.org/project/maturin/", "platform": "", "project_url": "https://pypi.org/project/maturin/", "project_urls": null, "release_url": "https://pypi.org/project/maturin/0.7.6/", "requires_dist": [ "toml~=0.10.0" ], "requires_python": "", "summary": "Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages", "version": "0.7.6" }, "last_serial": 5899485, "releases": { "0.7.0": [ { "comment_text": "", "digests": { "md5": "b96434c48470598cdeca3938dc1c5c23", "sha256": "a645dacae4209e3e4776451f76c5472ce80d1e97755c7c591d50176e8675667f" }, "downloads": -1, "filename": "maturin-0.7.0-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "b96434c48470598cdeca3938dc1c5c23", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4359181, "upload_time": "2019-08-30T18:37:15", "url": "https://files.pythonhosted.org/packages/3e/94/81aaaa249ef13605483b1210605dc847e489f42d5c6240b02b44f9ee423c/maturin-0.7.0-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "17d4728a47abe58d029b869bd6b327b5", "sha256": "aee29227e22c3bdb854d03107aa2c78d2766268daa26148ad2ab581f207a318a" }, "downloads": -1, "filename": "maturin-0.7.0-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "17d4728a47abe58d029b869bd6b327b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4777819, "upload_time": "2019-08-30T18:58:45", "url": "https://files.pythonhosted.org/packages/f5/57/370b26fd1417e55a1ea37af33a68bf19d524cc13786c27508bc557025fba/maturin-0.7.0-py2.py3-none-win_amd64.whl" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "ceec5c16f527c2476b5b55a3360938cf", "sha256": "4d1509f0b493ef06074dd708d3fcbaf65e1e930744df2bec02ba6c169f0d7519" }, "downloads": -1, "filename": "maturin-0.7.1-py2.py3-none-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "ceec5c16f527c2476b5b55a3360938cf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4799266, "upload_time": "2019-08-30T23:03:26", "url": "https://files.pythonhosted.org/packages/aa/4f/92c77a565a41cc7db2e52af7d825ee7df69836191b04d8105e847d38e25d/maturin-0.7.1-py2.py3-none-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0e07bcc550bdb100785614f8a462651a", "sha256": "c6cb3f2cd4e38fe008d95fc7d610dadf422d43a25563d7ed3267e4b3394dc8e5" }, "downloads": -1, "filename": "maturin-0.7.1-py2.py3-none-manylinux1_i686.whl", "has_sig": false, "md5_digest": "0e07bcc550bdb100785614f8a462651a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5031722, "upload_time": "2019-08-30T23:02:28", "url": "https://files.pythonhosted.org/packages/d1/68/844d5a66f5f585645f5a3ca4e4e88324ad67becd4c6a19b386a8a3bba028/maturin-0.7.1-py2.py3-none-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "ae088093f5e75ee1e6f709f38bfb3fea", "sha256": "20a53ae792398b5976c6d9441ff445e1629e19ab8f72248328709f83c3fb00e9" }, "downloads": -1, "filename": "maturin-0.7.1-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "ae088093f5e75ee1e6f709f38bfb3fea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4944389, "upload_time": "2019-08-30T22:59:04", "url": "https://files.pythonhosted.org/packages/20/38/e6a36ef140240de9d9639ebf24b978bf9bae912686d44c4f5ea3c74eaa3c/maturin-0.7.1-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "2bff0022c1741c5ae8f4c14b81e49e9e", "sha256": "c9409a135a92b63d7ea3cd3a45de2c0391975d6157f6ddfb780ddf6c833c19f1" }, "downloads": -1, "filename": "maturin-0.7.1-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "2bff0022c1741c5ae8f4c14b81e49e9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4443963, "upload_time": "2019-08-31T00:51:39", "url": "https://files.pythonhosted.org/packages/69/c6/b5d2be343f4492a58cd3731b4476e55ad8711402cb0f094f0cc7c5893149/maturin-0.7.1-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "2f712ea58e831b1962ab82aa0384efe7", "sha256": "04cd8b96f572668e03f6cde2f8d425d74478d47ade3fa9bc5bc50cca7af0720d" }, "downloads": -1, "filename": "maturin-0.7.1-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "2f712ea58e831b1962ab82aa0384efe7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4851579, "upload_time": "2019-08-31T01:09:16", "url": "https://files.pythonhosted.org/packages/d2/ba/836ac290d823b0682b9328414b641954fd914c20f7feeb621e4ca0a5d44f/maturin-0.7.1-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "29fe6d43f71e4133842263488799ff19", "sha256": "51a56a8331af185e29886f6a874188825f0d10e85225f963e1caac12dbe18feb" }, "downloads": -1, "filename": "maturin-0.7.1.tar.gz", "has_sig": false, "md5_digest": "29fe6d43f71e4133842263488799ff19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80958, "upload_time": "2019-08-30T22:59:07", "url": "https://files.pythonhosted.org/packages/1c/fd/4267595b8a2c7f2a03e5466b1e512dd4227ad1f295619b6e25be70fff825/maturin-0.7.1.tar.gz" } ], "0.7.1-beta.1": [ { "comment_text": "", "digests": { "md5": "8b5a5f38f67521730b4b7da18563a334", "sha256": "95354145c984c8359292d970b629ebf387bd71da6c8f8babcb9df0ff9470c7cc" }, "downloads": -1, "filename": "maturin-0.7.1_beta.1-py2.py3-none-manylinux1_i686.whl", "has_sig": false, "md5_digest": "8b5a5f38f67521730b4b7da18563a334", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5035084, "upload_time": "2019-08-30T19:28:41", "url": "https://files.pythonhosted.org/packages/22/cb/ba98c97e04ae540f4f635b62bc3053c2e5cb3b939623551a05421996e0e4/maturin-0.7.1_beta.1-py2.py3-none-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "6bbcd9a70114acf34a21854950c6d775", "sha256": "098a3d8c6b8a85fd01fd3469d0ea891e531a29425509a29beeb41ab64bdc629b" }, "downloads": -1, "filename": "maturin-0.7.1_beta.1-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "6bbcd9a70114acf34a21854950c6d775", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4943356, "upload_time": "2019-08-30T19:28:10", "url": "https://files.pythonhosted.org/packages/89/a2/c6ed13d754cdd261acef296c7aa479b832f9f07ec758014329540adbcbeb/maturin-0.7.1_beta.1-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9ef85bf704e66eaa9790200648d87945", "sha256": "ceada7f801782f05a7ec4e5fac94af3d6795323139b85eec60a618d6b1813fb5" }, "downloads": -1, "filename": "maturin-0.7.1_beta.1-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "9ef85bf704e66eaa9790200648d87945", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4439851, "upload_time": "2019-08-30T21:31:28", "url": "https://files.pythonhosted.org/packages/d4/81/ba9412c101122166b7e86b3e378db2b9f048e42846c25ba1364bb20b16d6/maturin-0.7.1_beta.1-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "6fc399f27a5b90266f03f6257fd0a067", "sha256": "df744409e6d6627ad8c8202394db3cc2aa2509cc2b3d9623995f08b97908bf34" }, "downloads": -1, "filename": "maturin-0.7.1_beta.1-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "6fc399f27a5b90266f03f6257fd0a067", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4858251, "upload_time": "2019-08-30T21:49:28", "url": "https://files.pythonhosted.org/packages/1c/a9/6e54745fb892026224d284e813deeca91c45a9f71328537bc9226d46ebc7/maturin-0.7.1_beta.1-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "f5926393b48ad129acc58586265e33da", "sha256": "1d7c011f5c62e0674bb6edac609bf7c49dfc9769422cdf6899b14b484f3a90e5" }, "downloads": -1, "filename": "maturin-0.7.1_beta.1.tar.gz", "has_sig": false, "md5_digest": "f5926393b48ad129acc58586265e33da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80712, "upload_time": "2019-08-30T19:28:12", "url": "https://files.pythonhosted.org/packages/1c/5e/67974b2db63d623e67d7da830fedc3b1834743367a0de4ba407ed10ef245/maturin-0.7.1_beta.1.tar.gz" } ], "0.7.1-beta.2": [ { "comment_text": "", "digests": { "md5": "43e9ae23d0fa45a6c477b3bcd116cca8", "sha256": "74d283bd561d176694366c191b1c25990e1543905811b43a95d9f3d059543881" }, "downloads": -1, "filename": "maturin-0.7.1_beta.2-py2.py3-none-manylinux1_i686.whl", "has_sig": false, "md5_digest": "43e9ae23d0fa45a6c477b3bcd116cca8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5035156, "upload_time": "2019-08-30T21:32:21", "url": "https://files.pythonhosted.org/packages/49/97/81f4de39f50f153d5cca040a98510bd1718267655ecb74e31f555c36e38e/maturin-0.7.1_beta.2-py2.py3-none-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "c46d7e4ee3fdcaf5108ecf0a3d68bad2", "sha256": "e07861c4564f4009af75a129fe24926c4f5014b7ac13dce9b651a0150586bd3c" }, "downloads": -1, "filename": "maturin-0.7.1_beta.2-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "c46d7e4ee3fdcaf5108ecf0a3d68bad2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4943824, "upload_time": "2019-08-30T21:31:39", "url": "https://files.pythonhosted.org/packages/01/ac/50e37235bc95b8ff6ed033c69a00d81ef4ebd7f9619580851f2e6eacb255/maturin-0.7.1_beta.2-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "753fa66bfec7bc95576db4f1b3a0f0c0", "sha256": "eb813db1851b416ca5dd2261041c15e603ca6082f7ff60a5ed4ec90c6c333af6" }, "downloads": -1, "filename": "maturin-0.7.1_beta.2-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "753fa66bfec7bc95576db4f1b3a0f0c0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4440937, "upload_time": "2019-08-30T23:01:34", "url": "https://files.pythonhosted.org/packages/bc/9f/0e2ffad98ce608f98d1c82aa1ec24eb2db189714a810c05250d179497358/maturin-0.7.1_beta.2-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "aa4612208c7d17eedb42645361fbdfd6", "sha256": "a5e18a5ebdf0e0e3326c460c66d390a42fea3d7c60f07e628a0b32af780a6a63" }, "downloads": -1, "filename": "maturin-0.7.1_beta.2-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "aa4612208c7d17eedb42645361fbdfd6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4856429, "upload_time": "2019-08-30T23:20:05", "url": "https://files.pythonhosted.org/packages/43/6f/747d3a7ea3889ef2f498fd546cfcfd9865d37b0eed9b91c6dc6ef51a2769/maturin-0.7.1_beta.2-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "1c9812906956e6e8cbeabace3592490c", "sha256": "80d53c2ac82ebb36ed4aa47861e9f95693c6f92137c1c7e3044c822ce5ca6ba6" }, "downloads": -1, "filename": "maturin-0.7.1_beta.2.tar.gz", "has_sig": false, "md5_digest": "1c9812906956e6e8cbeabace3592490c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80726, "upload_time": "2019-08-30T21:31:41", "url": "https://files.pythonhosted.org/packages/2a/6a/88241cbd9e42ff65f40cb862ce43b1a44dd1fe258e804b91e562057e1a30/maturin-0.7.1_beta.2.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "59a800d5455e95e39f7b142b960b9a3f", "sha256": "1e015309f97e34169b13e133d7ef74eaca3eade889cd4c66109b23f4b845187c" }, "downloads": -1, "filename": "maturin-0.7.2-py2.py3-none-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "59a800d5455e95e39f7b142b960b9a3f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4795980, "upload_time": "2019-09-05T13:45:40", "url": "https://files.pythonhosted.org/packages/c2/e7/65804f13ea1fde111246fc4918be941597133d628b98e97718e6cfbd7111/maturin-0.7.2-py2.py3-none-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "71c166ac2a3ccd2ab729c759ef39a4bf", "sha256": "3c3fde596ca8b74d35e2d8874d9116b2f7cca66ab91f0c94ce78223f76d4fa89" }, "downloads": -1, "filename": "maturin-0.7.2-py2.py3-none-manylinux1_i686.whl", "has_sig": false, "md5_digest": "71c166ac2a3ccd2ab729c759ef39a4bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5035487, "upload_time": "2019-09-05T13:41:47", "url": "https://files.pythonhosted.org/packages/db/c0/34fdc5861700227829ff0bfa25d857620ba03dd3b38c92c6800539a70c7d/maturin-0.7.2-py2.py3-none-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "42b24d2087ec7b8922f5a966721169d4", "sha256": "cbef38c4da788c87fd1a6ad9e71e786e6dd2180f7ed8ce4bca1d191f0fb427fd" }, "downloads": -1, "filename": "maturin-0.7.2-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "42b24d2087ec7b8922f5a966721169d4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4946371, "upload_time": "2019-09-05T13:38:50", "url": "https://files.pythonhosted.org/packages/db/89/134417045a0d4771d13bc67332ce2d1dcfced3c4a60ee0f81b28d79d7720/maturin-0.7.2-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "af68c7026ec9da732e10dd5bfd48c68a", "sha256": "d7bba3a4dd1c8fcf24eca45cbf1df650a8821954cc6f1b75f267b2c6bcd02812" }, "downloads": -1, "filename": "maturin-0.7.2-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "af68c7026ec9da732e10dd5bfd48c68a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4447128, "upload_time": "2019-09-05T14:07:45", "url": "https://files.pythonhosted.org/packages/ec/4b/a88a9b1e25e568505b70240fa16292cad164c48d8f68d17b73500e832cd3/maturin-0.7.2-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "ffb26678ad02cc72e59651c9c506885c", "sha256": "e89272805f04c5058fca4ebe9af63b4af8d6892ea46334ed9a1f2ad84aecd676" }, "downloads": -1, "filename": "maturin-0.7.2-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "ffb26678ad02cc72e59651c9c506885c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4859608, "upload_time": "2019-09-05T14:30:15", "url": "https://files.pythonhosted.org/packages/8b/b7/dddb5e491fb535e639c5f7509f93191960139aec1c3d0e090c53816aabbd/maturin-0.7.2-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "9c2fe09551996819e36c8b1215cfb417", "sha256": "e47f7a1c31a9678d9d5d89bba033003fc25124062da2ea755ea90aed901f8445" }, "downloads": -1, "filename": "maturin-0.7.2.tar.gz", "has_sig": false, "md5_digest": "9c2fe09551996819e36c8b1215cfb417", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81240, "upload_time": "2019-09-05T13:38:52", "url": "https://files.pythonhosted.org/packages/a1/75/949c4913c7a710d393260163eb8972862db8d3c46864fe64a16cc7d1237e/maturin-0.7.2.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "4f81f051355b565bb546efe31bc643b6", "sha256": "f53aaa74d27eb6de663dd2525f5c444eebae7dbc9ec00f0df567db948840b07d" }, "downloads": -1, "filename": "maturin-0.7.4-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "4f81f051355b565bb546efe31bc643b6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4425124, "upload_time": "2019-09-22T08:51:37", "url": "https://files.pythonhosted.org/packages/02/0b/44cffa5bbc82f4620bdcdf444772c6d7671d5cd21acbc0332371cd862773/maturin-0.7.4-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "493922f664b3c83f4a61928c66c605f7", "sha256": "de8cc7890eab2b346ab15fe2708dfa0dc0dd21df445bbb08f4cd55f4ae8809e2" }, "downloads": -1, "filename": "maturin-0.7.4-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "493922f664b3c83f4a61928c66c605f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4846563, "upload_time": "2019-09-22T09:10:36", "url": "https://files.pythonhosted.org/packages/88/2c/bcfdb68b3347aeb67cf708fe1e246a8b7976b2edec3db2db433b5890f570/maturin-0.7.4-py2.py3-none-win_amd64.whl" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "ad0fd3a97f2a574e0b057b28c34ffadf", "sha256": "da79bc28ac9ad8f29b177eeaf602da896b5f04adb08ef3d45d8946e997fc6237" }, "downloads": -1, "filename": "maturin-0.7.5-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "ad0fd3a97f2a574e0b057b28c34ffadf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4421936, "upload_time": "2019-09-24T11:58:44", "url": "https://files.pythonhosted.org/packages/bb/31/54a08d562961e5880010ae18105faadde2ec508c4826647d473e27575abd/maturin-0.7.5-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "6053a514ee893811d59b5d49a4d0252a", "sha256": "715aae61031ce0dc20fd2cd02cc4f7c467aca420a496c1fd0213779634561d04" }, "downloads": -1, "filename": "maturin-0.7.5-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "6053a514ee893811d59b5d49a4d0252a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4846243, "upload_time": "2019-09-24T12:05:14", "url": "https://files.pythonhosted.org/packages/6d/92/9a4d84049228dec63a97e0e50e0f31200ff5fd1c7047f463bf847bea5f4e/maturin-0.7.5-py2.py3-none-win_amd64.whl" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "802838d83c19dfdf878b4fc550c71979", "sha256": "0e58532b845aad5d1a1df9dd6ef56456d63b737e4a3a30e8572447fbc23d151f" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "802838d83c19dfdf878b4fc550c71979", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4802683, "upload_time": "2019-09-28T10:18:09", "url": "https://files.pythonhosted.org/packages/37/34/48289c2e815586862afaf1a51b05f281cbf831c6b7cfd1ec46249a7206dc/maturin-0.7.6-py2.py3-none-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "479704407a879a846db313d4dfc2199a", "sha256": "4e2f73f97d2f030da42a2758e56e95ce2491afd9a080e70b78b088128145af87" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-manylinux1_i686.whl", "has_sig": false, "md5_digest": "479704407a879a846db313d4dfc2199a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5043960, "upload_time": "2019-09-28T10:09:50", "url": "https://files.pythonhosted.org/packages/6e/73/2b37c6d50a94f5bc590413bdb961b231f08ad60524b958faf943e82cccbe/maturin-0.7.6-py2.py3-none-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "19f2b58367762ac704535058c2d65ce6", "sha256": "a435b280afcba7a1ca7203a60b198d8f93d874db0ffed13ee537c5066160b429" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "19f2b58367762ac704535058c2d65ce6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4958716, "upload_time": "2019-09-28T10:10:11", "url": "https://files.pythonhosted.org/packages/17/23/214a227a01365b8f7df89e92bda39c922ff52d925c942262971244bf9c15/maturin-0.7.6-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a3208d2316c78d312e7bfba6078cb86a", "sha256": "ab75ad31257d2238673bde7d402c2e7608e37a8042350ca7fd51f70382a1a638" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "a3208d2316c78d312e7bfba6078cb86a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4423089, "upload_time": "2019-09-28T10:09:11", "url": "https://files.pythonhosted.org/packages/57/8f/3294ea791c1290f0fcb47adaa6c2a70a2edd576a32669bc9a24827333448/maturin-0.7.6-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "7b1d15a1d30501966c4fb85b17ea566f", "sha256": "90efda63af6c565a986d1e050673e033cbefc3c9b2996fa2fdf9e6d94d5bd179" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "7b1d15a1d30501966c4fb85b17ea566f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4849986, "upload_time": "2019-09-28T10:22:41", "url": "https://files.pythonhosted.org/packages/ec/01/d96cbc30b3e8e2590415c9414c3e399779a2bb373b9943241369f464c46d/maturin-0.7.6-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "41f8882ae1ec697c822622699b297d7e", "sha256": "9eecde82ee37772764d6237b7784912241d0b93292f72ff29a921f33842691ca" }, "downloads": -1, "filename": "maturin-0.7.6.tar.gz", "has_sig": false, "md5_digest": "41f8882ae1ec697c822622699b297d7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81890, "upload_time": "2019-09-28T10:10:13", "url": "https://files.pythonhosted.org/packages/0a/51/25d94171411d5acaa56d26c5936375e9b1d7a81e2f4cc6f87af47d166616/maturin-0.7.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "802838d83c19dfdf878b4fc550c71979", "sha256": "0e58532b845aad5d1a1df9dd6ef56456d63b737e4a3a30e8572447fbc23d151f" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "802838d83c19dfdf878b4fc550c71979", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4802683, "upload_time": "2019-09-28T10:18:09", "url": "https://files.pythonhosted.org/packages/37/34/48289c2e815586862afaf1a51b05f281cbf831c6b7cfd1ec46249a7206dc/maturin-0.7.6-py2.py3-none-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "479704407a879a846db313d4dfc2199a", "sha256": "4e2f73f97d2f030da42a2758e56e95ce2491afd9a080e70b78b088128145af87" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-manylinux1_i686.whl", "has_sig": false, "md5_digest": "479704407a879a846db313d4dfc2199a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5043960, "upload_time": "2019-09-28T10:09:50", "url": "https://files.pythonhosted.org/packages/6e/73/2b37c6d50a94f5bc590413bdb961b231f08ad60524b958faf943e82cccbe/maturin-0.7.6-py2.py3-none-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "19f2b58367762ac704535058c2d65ce6", "sha256": "a435b280afcba7a1ca7203a60b198d8f93d874db0ffed13ee537c5066160b429" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "19f2b58367762ac704535058c2d65ce6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4958716, "upload_time": "2019-09-28T10:10:11", "url": "https://files.pythonhosted.org/packages/17/23/214a227a01365b8f7df89e92bda39c922ff52d925c942262971244bf9c15/maturin-0.7.6-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a3208d2316c78d312e7bfba6078cb86a", "sha256": "ab75ad31257d2238673bde7d402c2e7608e37a8042350ca7fd51f70382a1a638" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "a3208d2316c78d312e7bfba6078cb86a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4423089, "upload_time": "2019-09-28T10:09:11", "url": "https://files.pythonhosted.org/packages/57/8f/3294ea791c1290f0fcb47adaa6c2a70a2edd576a32669bc9a24827333448/maturin-0.7.6-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "7b1d15a1d30501966c4fb85b17ea566f", "sha256": "90efda63af6c565a986d1e050673e033cbefc3c9b2996fa2fdf9e6d94d5bd179" }, "downloads": -1, "filename": "maturin-0.7.6-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "7b1d15a1d30501966c4fb85b17ea566f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4849986, "upload_time": "2019-09-28T10:22:41", "url": "https://files.pythonhosted.org/packages/ec/01/d96cbc30b3e8e2590415c9414c3e399779a2bb373b9943241369f464c46d/maturin-0.7.6-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "41f8882ae1ec697c822622699b297d7e", "sha256": "9eecde82ee37772764d6237b7784912241d0b93292f72ff29a921f33842691ca" }, "downloads": -1, "filename": "maturin-0.7.6.tar.gz", "has_sig": false, "md5_digest": "41f8882ae1ec697c822622699b297d7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81890, "upload_time": "2019-09-28T10:10:13", "url": "https://files.pythonhosted.org/packages/0a/51/25d94171411d5acaa56d26c5936375e9b1d7a81e2f4cc6f87af47d166616/maturin-0.7.6.tar.gz" } ] }