From f584b17d7bf4aea948bf5404702b058ad7d2c3d9 Mon Sep 17 00:00:00 2001 From: Dorian Pula Date: Wed, 6 Feb 2019 10:39:39 -0500 Subject: [PATCH] Prepare documentation for building a Python and WebAssembly libraries. --- README.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 43c14b1..d8ad4a8 100644 --- a/README.md +++ b/README.md @@ -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)