Prepare documentation for building a Python and WebAssembly libraries.

This commit is contained in:
Dorian 2019-02-06 10:39:39 -05:00
parent 4000c1a86a
commit f584b17d7b
1 changed files with 12 additions and 3 deletions

View File

@ -2,7 +2,7 @@
Embed a small bit of code that converts between units of measure, e.g. Fahrenheit to Celsius.
An example of a Rust library that is embeddable in Python and Web Assembly.
An example of a Rust library that is embeddable in Python and WebAssembly.
## Getting setup
@ -11,15 +11,24 @@ Insure the following dependencies are in place:
* Rust v1.32+ (nightly)
* Install using `rustup toolchain install nightly`
* Set default toolchain `rustup default nightly`
* Python 3 Development headers (python3-dev in Ubuntu)
* pipenv `pip install --user pipenv`
* Python dependencies
* Python 3 Development headers `apt install python3-dev`
* pipenv `pip install --user pipenv`
* WebAssembly
* [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/)
* npm
## Running the Python example
1. Build the rust crate first: `cargo build`
1. Install dependencies and run in a virtualenv: `pipenv install && pipenv shell`
1. Create the Python package with: `pyo3 develop`
1. Run the tests: `pytest test.py`
## Running the WebAssembly example
TODO:
## Documentation
* [PyO3 Python - Rust bindings](https://pyo3.rs/master/get_started.html)