This is my personal Rust playground.
I'm going to try to speed up CI and publish binaries on crates.io.
The repository tracks Python # type: ignore markers with gh-counter.
私の個人的な Rust の実験場です とくに CI 周りの高速化やバイナリの配布 crates.io での公開を試すつもりです。
- Separation by workspace
- bin crate
- lib crate
- Build for multiple architectures
- executable binaries
- aarch64-apple-darwin
- aarch64-unknown-linux-gnu
- arm-unknown-linux-gnueabihf
- armv7-unknown-linux-gnueabihf
- x86_64-apple-darwin
- x86_64-pc-windows-gnu
- x86_64-unknown-linux-gnu
- shared libraries
- aarch64-apple-darwin
- aarch64-unknown-linux-gnu
- arm-unknown-linux-gnueabihf
- armv7-unknown-linux-gnueabihf
- x86_64-apple-darwin
- x86_64-pc-windows-gnu
- x86_64-unknown-linux-gnu
- executable binaries
- Publish lib crate to crates.io
- WASM
- FFI
- Node.js binding
- Python binding
The workspace still contains the historical short crate directories c1 and
c2. Their roles are:
| Path | Package | Role |
|---|---|---|
c1/ |
kitsuyui-rust-playground |
Binary crate for CLI and runtime experiments |
c2/ |
kitsuyui-rust-playground-lib |
Library crate published to crates.io |
checkpoint/ |
kitsuyui-rust-playground-checkpoint |
Checkpoint and snapshot experiments |
python/ |
Python package workspace | Python binding experiments |
wasm/ |
kitsuyui-rust-playground-wasm |
WebAssembly binding experiments |
Use descriptive directory names for new workspace members. The c1 and c2
names remain only to avoid churn in existing package paths.
This repository uses lefthook to run the same checks as CI locally, so problems surface before they reach CI.
# Install the Git hooks (once; requires lefthook on your PATH)
lefthook installOnce installed, the hooks run automatically:
- pre-commit:
cargo fmt --all -- --checkandcargo clippy -- -D warnings - pre-push: the above plus
cargo test
CI still runs the full suite (see .github/workflows/); the hooks only bring that
feedback earlier on your machine.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.