# Embedded Unit Converter 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 WebAssembly. ## Getting setup Insure the following dependencies are in place: * Rust v1.32+ (nightly) * Install using `rustup toolchain install nightly` * Set default toolchain `rustup default nightly` * 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) * [Setting up WebAssembly](https://www.hellorust.com/setup/wasm-target/) * [Rust WASM book](https://rustwasm.github.io/book/introduction.html)