Skip to main content

Type it. See it appear. Watch it animate. (Core)

Project description

kymostudio-core (Rust)

Pure-Rust SVG → PNG rasterizer core for kymostudio, built on resvg. No browser, no headless Chrome, no C/Cairo/Skia system dependencies.

One core crate, compiled to three targets from a single source via feature flags — so the Rust CLI, the Python package, and the JS/browser playground all share the exact same resvg engine (resvg is CSS-class-aware, the reason the project avoids cairosvg):

Target Feature Build tool Consumer
Native lib system-fonts (default) cargo kymostudio CLI crate
Python extension (abi3) python maturin → wheel packages/python
wasm (browser + Node) wasm wasm-pack → pkg packages/js, website playground

svg_to_png(svg: &[u8], scale: f32) -> Result<Vec<u8>, RenderError> is the one core function; each binding (src/python.rs, src/wasm.rs) is a thin façade.

CLI — kymo

The kymo command-line tool lives in the sibling kymostudio crate (a thin front-end over this core). Install it with cargo install kymostudio.

Build each target

# Native lib + tests
cargo test

# The `kymo` CLI (sibling crate)
cargo build --release --manifest-path ../kymostudio/Cargo.toml   # -> ../kymostudio/target/release/kymo

# Python wheel (abi3, one wheel for CPython ≥ 3.10)
maturin build --release --out dist        # -> dist/kymostudio_core-*-abi3-*.whl
#   import _kymostudio_core; _kymostudio_core.svg_to_png(svg_bytes, scale)

# wasm (browser + Node) — system-fonts OFF (no fs/mmap on wasm)
wasm-pack build --target web --out-dir pkg --out-name kymostudio_core \
  -- --no-default-features --features wasm
#   import { svgToPng } from './pkg/kymostudio_core.js'

CI builds and smoke-tests all of the above across Linux/macOS/Windows — see .github/workflows/rust.yml.

Library use (Rust)

let svg = std::fs::read("in.svg")?;
let png: Vec<u8> = kymostudio_core::svg_to_png(&svg, 1.0)?;
std::fs::write("out.png", png)?;

The version is kept in lockstep with the rest of the monorepo (Cargo.tomlversion).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kymostudio_core-0.4.2.tar.gz (55.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kymostudio_core-0.4.2-cp310-abi3-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.10+Windows x86-64

kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

kymostudio_core-0.4.2-cp310-abi3-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

kymostudio_core-0.4.2-cp310-abi3-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file kymostudio_core-0.4.2.tar.gz.

File metadata

  • Download URL: kymostudio_core-0.4.2.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kymostudio_core-0.4.2.tar.gz
Algorithm Hash digest
SHA256 ae2766880f4a9d3127280648a6771d80d6363d3d428a12f5e151413f19c157da
MD5 75b3c0dced93c233eab5dd781deb1d79
BLAKE2b-256 83dcab5403ca4ad178b6d81c0e8225fc18032183011ebfd49f5dda423b8307df

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.2.tar.gz:

Publisher: release-crate.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kymostudio_core-0.4.2-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 62722a6dd9288a11caaa4be7d0528e3aca9802fb506c7617e84d0652ba1ca65f
MD5 6e0306a77bbccaf48d95de3581c6a098
BLAKE2b-256 da77c9d1962955b4eca481fe4ef614fd339fb7107c882772c536a1348fb89595

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.2-cp310-abi3-win_amd64.whl:

Publisher: release-crate.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 404a3a8f10a579cf9758cb860b168c2178f8256f57f32fcc12242ad86834d299
MD5 67c732eddc67bde2f672bd3624e173db
BLAKE2b-256 4bd4548c4ff52f3740810c7e1eeb935b6f2a211ed13663be41216824eeb0c919

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-crate.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7a35365b6b2a9a69cf14ccd93d888dacae30b74da49edd371f7bc8bb11c89f6
MD5 67cd5df320924cfa1a8b5e23f2abf897
BLAKE2b-256 19bdb6a382a6a3387fe90d70bc7f171de432d24c3c83513ab1b33cf727acec46

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release-crate.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kymostudio_core-0.4.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 243114f79d4ff10fc563a534f254f13c1860bdb3991e8765116b0fb1d7e43780
MD5 1485e232b7c290d8c5af8513dbe3805c
BLAKE2b-256 0bb02ec14ccbc0d29bb33922fb25553d537c4d0723232eef48d616fce203e0ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.2-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release-crate.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kymostudio_core-0.4.2-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e2e89c86a5979f86a85fcda868ece0fc0eb4e66eb83dfa2a76da3ca17a792e46
MD5 9ea545d2826e7b3bb7b5e6b615b3d3eb
BLAKE2b-256 7ca07687c0e371ac5e0ecace043b0e4b1ee82919947845305973a6be2ceda804

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.2-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release-crate.yml on kymostudio/kymostudio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page