KittyCAD/kittycad.rs
KittyCAD/kittycad.rs has 62 GitHub stars and 7 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 08:28 UTC. Last push 2026-11-11.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
The Rust API client for Zoo.
Creative & MediaREADME.md
Originalkittycad.rs
The Rust API client for KittyCAD.
Generating
You can trigger a build with the GitHub action to generate the client. This will automatically update the client to the latest version based on the spec at spec.json.
Alternatively, if you wish to generate the client locally, run:
$ make generate
Contributing
Please do not change the code directly since it is generated. PRs that change the code directly will be automatically closed by a bot.
Windows TLS smoke test
To confirm the client honors certificates from the Windows root store (for example when routing requests through a corporate MITM proxy), opt into the smoke test:
WIN_CA_SMOKE=1 cargo test --test win_ca_smoke
CI runs provision certificates and the HTTPS test harness via the shared
kittycad/gh-action-win-ca workflow. If you need to reproduce the handshake
locally on Windows, follow the helper instructions in that repository.
The test defaults to hitting https://localhost:4443/ and expects an ok
response body. Override SMOKE_URL, SMOKE_ATTEMPTS, or SMOKE_DELAY_MS if
your proxy uses a different endpoint or boot time.
Releasing a new kittycad version
- Make sure the
VERSION.txthas the new version you want to release. - Make sure you have run
make generateand pushed any changes. The release will fail if runningmake generatecauses any changes to the generated code. - Run
make tagthis is just an easy command for making a tag formatted correctly with the version. - Push the tag (the result of
make taggives instructions for this) - Everything else is triggered from the tag push. Just make sure all the tests
pass on the
mainbranch before making and pushing a new tag.
Releasing openapitor-runtime
openapitor-runtime is versioned and published independently of kittycad and
openapitor. Its version comes from openapitor-runtime/Cargo.toml, rather than
VERSION.txt.
- Set the version in
openapitor-runtime/Cargo.tomland runcargo test -p openapitor-runtimeto test it and updateCargo.lock. - Commit and push the changes, and make sure the tests pass on
main. - Run
just tag-runtimeto create a signed tag such asopenapitor-runtime-v0.1.0. - Push the tag using the command printed by
just tag-runtime. - The release workflow checks that the tag matches the manifest version, runs
clippy and tests for the runtime, publishes only
openapitor-runtimeto crates.io, and creates a GitHub release.
The workflow uses the existing CARGO_TOKEN repository secret, which must have
permission to publish openapitor-runtime.
Publish the runtime version before releasing either dependent crate. When
updating the runtime dependency, update openapitor/Cargo.toml and the generated
manifest template in openapitor/src/lib.rs, then run make generate to update
kittycad/Cargo.toml. The workspace's [patch.crates-io] entry uses the local
runtime for development; published crates use the dependency from crates.io.