embedded-unit-converter/README.md

37 lines
1.1 KiB
Markdown
Raw Normal View History

2019-02-06 08:17:16 -05:00
# Embedded Unit Converter
2019-02-04 08:47:29 -05:00
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)