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.0.tar.gz (18.1 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.0-cp310-abi3-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10+Windows x86-64

kymostudio_core-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

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

kymostudio_core-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

kymostudio_core-0.4.0-cp310-abi3-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

kymostudio_core-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: kymostudio_core-0.4.0.tar.gz
  • Upload date:
  • Size: 18.1 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.0.tar.gz
Algorithm Hash digest
SHA256 dbd23169386f27f4c427a41a3e332ce8fa5df8e72fb930b365913a6c921fb8d1
MD5 2503b6d13cec6dd13b96713e1d9b460c
BLAKE2b-256 84ea119a19e8a32e2296e5a9839c143fc0b93570402e28e3859a5a5e6a1c5341

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.0.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.0-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fe16a2261f53fa3149c48e6c5410f7d5437879742b4311e1c38077396185ff2e
MD5 784655ef8e32bac07ec21608efe8eeb0
BLAKE2b-256 d04e30b4e1d37660699d80fb57b01b2a54472c9e03c1d0fe1e268f3e8c4772b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.0-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.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eaab90dc91422694a6846390e5ab631976f582b98964f5c206bc673f06d84b36
MD5 7dc857533a17fe5b46f4e3ea5678070c
BLAKE2b-256 1bcc21f1d41c9ded7cb495b58095cf55de433b0e1b6f08b4bc313f7c59f719d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.0-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.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0bfe9a5cd31f251b97277454ad69a44d9b85b5a860ec2bb32dcb0153390dced6
MD5 78af374cceb7e6ad115efab6673f22ab
BLAKE2b-256 4b91ae99ae6374418d2821424684a464af0276d2359082dac4ce1050fcac7f21

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.0-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.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c96e474d4e6d7cb107240760d4b7637e46ae4d6d8400cf8af5e5b87a7f6057f1
MD5 aab7e034f76cfe33e65ecdd3bf9ddd4e
BLAKE2b-256 ca082604dc48aebe1a460715e85ab689e821a7e487539c4448f3a70e1977a00d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.0-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.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for kymostudio_core-0.4.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2df11687e50df7f4eb65b73270455bd57a67238283933afd736e98aad3473529
MD5 ddd1dd98bd3c40f8aa6f4569e6bfe69c
BLAKE2b-256 f64a0478cbebebefe9d29cca13225e4d2c162d059b08070102e1b5dc8d8d7200

See more details on using hashes here.

Provenance

The following attestation bundles were made for kymostudio_core-0.4.0-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