Skip to main content

Setuptools rust extension plugin

Project description

Setuptools helpers for rust Python extensions.

Compile and distribute Python extensions written in rust as easily as if they were written in C.

Example

setup.py

from setuptools import setup
from setuptools_rust import RustExtension

setup(name='hello-rust',
      version='1.0',
      rust_extensions=[RustExtension('hello_rust._helloworld', 'extensions/Cargo.toml')],
      packages=['hello_rust'],
      # rust extensions are not zip safe, just like C-extensions.
      zip_safe=False
)

You can use same commands as for c-extensions. For example:

>>> python ./setup.py develop
running develop
running egg_info
writing hello-rust.egg-info/PKG-INFO
writing top-level names to hello_rust.egg-info/top_level.txt
writing dependency_links to hello_rust.egg-info/dependency_links.txt
reading manifest file 'hello_rust.egg-info/SOURCES.txt'
writing manifest file 'hello_rust.egg-info/SOURCES.txt'
running build_ext
running build_rust
cargo build --manifest-path extensions/Cargo.toml --features python27-sys
    Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs

Creating /.../lib/python2.7/site-packages/hello_rust.egg-link (link to .)

Installed hello_rust
Processing dependencies for hello_rust==1.0
Finished processing dependencies for hello_rust==1.0

Or you can use commands like bdist_wheel or bdist_egg

This package is based on https://github.com/novocaine/rust-python-ext

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

setuptools-rust-0.1.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file setuptools-rust-0.1.tar.gz.

File metadata

File hashes

Hashes for setuptools-rust-0.1.tar.gz
Algorithm Hash digest
SHA256 58dc0ac6bd78513a9441b1a8af59515690e71b3bd6f33683f2cf4e8490fa831b
MD5 2cbce2ecdd7759a69eb1f4e8da3c5504
BLAKE2b-256 33971af5de73a08cc7f384e2a5a63b70633df8d5b9066e1bcdd7c015da63a979

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page