Crates.io | wick-cli |
lib.rs | wick-cli |
version | 0.16.2 |
source | src |
created_at | 2023-04-19 01:30:40.588392 |
updated_at | 2023-11-01 13:33:33.615682 |
description | The binary executable for the Wick project. |
homepage | |
repository | https://github.com/candlecorp/wick |
max_upload_size | |
id | 843102 |
size | 1,429,459 |
A functional framework for WebAssembly components that run on the server and client.
Explore the docs »
Install
·
Report Bug
·
Request Feature
Wick is a runtime for running and composing WebAssembly components together as full applications. Wick is built With ❤️, Rust, and Wasm.
We built wick because we wanted a secure, fast, functional framework that used WebAssembly as its core component model. We wanted to build applications and libraries that could run on the server, client, and everywhere else. We needed it to be async first, streaming, and not rely on external systems. Suprisingly, nothing like this existed, so we built it.
If you:
Then Wick is for you.
Online demos of Wick in action:
Public repository of component examples:
Wick's example directory:
You'll need the wick
binary to run Wick applications or invoke Wick components. You can install it with one of the following methods:
Pick your installation preference:
cargo install wick-cli
brew install candlecorp/tap/wick
curl -sSL sh.wick.run | bash
curl https://ps.wick.run -UseBasicParsing | Invoke-Expression
git clone https://github.com/candlecorp/wick.git && cd wick
just deps # install necessary dependencies
just install # or cargo install --path .
Wick's original WebAssembly component protocol uses RSocket to support complex, rich streams in WebAssembly.
Wick supports varying degrees of the standard WebAssembly component model and will continue to support more as the specification stabilizes.
To build a WebAssembly component
cargo generate
(or git clone)just build
wick invoke
$ cargo generate candlecorp/wick templates/rust --name my-project
$ cd my-project
$ just build
$ wick invoke component.wick greet -- --input="$USER"
{"payload":{"value":"Hello, jsoverson"},"port":"output"}
We're constantly adding examples to the ./examples directory, which we also use as a base for our integration tests.
For more information, please refer to the Documentation
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Wick is distributed under the Elastic License 2.0 and Apache-2.0 licenses. See LICENSE
for more information and individual crates for details.
@candle_corp - jarrod@candle.dev
Project Link: https://github.com/candlecorp/wick