Skip to main content

NovaSVG logo

NovaSVG

A header-only C++17 SVG renderer: parse, query, restyle and rasterize SVG with one #include.

License: MIT C++17 CMake PyPI codecov

Documentation · Benchmarks · Single header · Python · Issues


Why NovaSVG

  • Nothing to link. Drop in novasvg.h (or the include/ folder) and you are done. No submodules, no system libraries, no fontconfig.
  • Renders what real diagrams contain. Gradients, patterns, clip paths, masks, markers, a full SVG filter pipeline, CSS styling, embedded fonts, and <foreignObject> text, which is what Mermaid uses for every label.
  • Close to a browser. Compared against Chromium on a 60-sample corpus, including 49 Mermaid diagrams. See how it stacks up.
  • More than a renderer. Query elements with CSS selectors, rewrite styles, read bounding boxes and matrices, and render a single element on its own.
  • Three ways in. C++ library, a novasvg command-line tool, and Python bindings with no dependencies.
  • Portable. Windows, Linux and macOS, with the same text layout on every platform.

Quick start

C++

#include <novasvg/novasvg.h>
#include <iostream>

int main() {
    auto doc = novasvg::Document::loadFromFile("artwork.svg");
    if (!doc) return 1;

    // 640 px wide, height follows the aspect ratio, white background
    auto bitmap = doc->renderToBitmap(640, -1, novasvg::Color::white());
    bitmap.writeToPng("artwork.png");        // also writeToJpg / writeToBmp / writeToTga

    // Query it like a DOM
    for (auto& rect : doc->querySelectorAll("rect"))
        std::cout << rect.getAttribute("id") << '\n';

    std::cout << doc->width() << " x " << doc->height() << '\n';
}
g++ -std=c++17 -O2 -Iinclude main.cpp -o main

Command line

novasvg input.svg                                  # -> input.png
novasvg input.svg -o out.png -w 800 -b FFFFFF      # width 800, white background
novasvg input.svg --style "rect { fill: tomato; }" # restyle before rendering
novasvg info input.svg                             # size, bounding box, element count
novasvg query "circle" input.svg --json            # CSS-selector search
novasvg batch svg_dir/ png_dir/                    # convert a whole folder

Python

pip install novasvg        # no dependencies; NumPy is only needed for Bitmap.numpy()
import novasvg

novasvg.svg2png("artwork.svg", "artwork.png", width=800)     # one call

doc = novasvg.Document.load_from_file("artwork.svg")         # or keep the document
bitmap = doc.render_to_bitmap(width=800)
bitmap.write_to_png("artwork.png")

More in README_PYTHON.md.

Installation

Single header. Download novasvg.h and include it. Every function is inline, so it is safe to include from any number of translation units.

Copy the headers. Put include/novasvg/ in your project and #include <novasvg/novasvg.h>.

CMake FetchContent.

include(FetchContent)
FetchContent_Declare(novasvg
    GIT_REPOSITORY https://github.com/MohammadRaziei/novasvg.git
    GIT_TAG        master)
FetchContent_MakeAvailable(novasvg)

target_link_libraries(my_app PRIVATE novasvg::novasvg)

Installed package.

cmake -B build && cmake --build build -j
sudo cmake --install build
find_package(novasvg REQUIRED)
target_link_libraries(my_app PRIVATE novasvg::novasvg)   # or novasvg::noflag for no extra compile flags

Building from source also produces the novasvg command-line tool at build/novasvg.

How it compares

The same SVGs rendered by each engine, with Chromium as the reference. These samples were picked because the engines disagree on them.

Sample Chromium novasvg resvg lunasvg cairosvg thorvg nanosvg
clip-mask
mermaid-02-flowchart
css-use-symbol
mermaid-47-flowchart-br-bold-label
mermaid-33-treemap
gradient-filter
mermaid-40-erd-relations
mermaid-01-venn
filter-primitives
mermaid-32-radar

Want the numbers behind the pictures? The full benchmark page lists every one of the 60 samples with its RMSE against Chromium and its render time in ms for every engine. You can click any render to zoom in.

👉 mohammadraziei.github.io/novasvg/benchmarks

You can also rebuild all of it yourself; see benchmarks/README.md.

What it renders

Area Supported
Shapes and paths rect, circle, ellipse, line, polyline, polygon, path, markers
Painting solid colors, linear and radial gradients, patterns, opacity, mix-blend-mode
Compositing clip-path, mask (luminance), nested groups, <use> / <symbol>, <switch>
Filters feGaussianBlur, feOffset, feFlood, feComposite (Over, In, Out, Atop, Xor, arithmetic), feMerge, feDropShadow, with real in / in2 / result chaining
CSS <style> sheets, class and attribute selectors, style="", !important, the CSS transform: property
Images <image> with base64 data URIs
Text system fonts, built-in fallback font, @font-face with embedded TTF/OTF, <foreignObject> text with word-wrap

Not implemented yet: per-primitive filter regions, feColorMatrix / feTurbulence / feDisplacementMap, WOFF/WOFF2 fonts, and full HTML/CSS layout inside <foreignObject>. See checklist.md and COMPARISON.md for details.

Fonts

Font lookup works like a browser, with no OS font library involved. A font-family stack is walked name by name: an installed or registered font first, then a metric-compatible stand-in (arial → Liberation Sans / Arimo, times new roman → Liberation Serif / Tinos, calibri → Carlito, ...), then the generic keywords. A ~40 KB Latin subset of DejaVu Sans is compiled in as the last resort, so text renders even on a machine with no fonts installed. For the best fidelity, install a metric-compatible family such as fonts-liberation.

novasvg::addFontFaceFromFile("Inter", /*bold=*/false, /*italic=*/false, "Inter-Regular.ttf");

Disable the embedded font with -DNOVASVG_EMBED_DEFAULT_FONT=OFF or by defining NOVASVG_DISABLE_EMBEDDED_FONT.

API overview

Class Main members
Document loadFromFile() · loadFromData() · renderToBitmap() · querySelectorAll() · getElementById() · applyStyleSheet() · width() / height() · boundingBox()
Element getAttribute() / setAttribute() / hasAttribute() · render() · getLocalBoundingBox() / getGlobalBoundingBox() · getLocalMatrix() / getGlobalMatrix()
Bitmap writeToPng() / writeToJpg() / writeToBmp() / writeToTga() · data() (ARGB32 premultiplied) · width() / height() / stride() · convertToRGBA()
Matrix translate() · scale() · rotate() · shear() · inverse() · operator*

Full reference: mohammadraziei.github.io/novasvg, or build it locally with -DNOVASVG_BUILD_DOCS=ON.

Command-line reference

Option Description
-o, --output <file> Output PNG (default: input name with .png)
-w, --width <px> / -H, --height <px> Output size
-s, --scale <factor> Scale factor, e.g. 2.0
-b, --background-color <hex> RRGGBB or RRGGBBAA (default: transparent)
--style <css> / --css-file <file> Apply CSS before rendering
Subcommand Description
convert Convert to PNG. This is the default, so novasvg in.svg works on its own
info Size, bounding box and element count; add --json for machine-readable output
query Find elements by CSS selector, e.g. novasvg query "rect[fill='red']" in.svg
batch Convert every SVG in a directory

novasvg --help and novasvg <subcommand> --help always list the current options.

Build options

Option Description Default
NOVASVG_BUILD_EXAMPLES Build the C++ examples ON when top-level
NOVASVG_BUILD_TESTS Build the unit tests ON when top-level
NOVASVG_BUILD_PYTHON Build the Python bindings ON when top-level
NOVASVG_BUILD_DOCS Build the docs with Doxygen OFF
NOVASVG_INSTALL Install the CMake package (novasvg::novasvg, novasvg::noflag) ON when top-level
NOVASVG_DIST_DIR Generate the single-header distribution into this directory unset
NOVASVG_EMBED_DEFAULT_FONT Compile in the fallback font ON

Repository layout

include/novasvg/    the library (novasvg.h + detail/)
src/                command-line tool and Python bindings
examples/cpp/       small runnable samples
tests/              C++ (doctest) and Python (pytest) tests
benchmarks/         comparison against resvg, lunasvg, thorvg, nanosvg, cairosvg and Chromium
data/               sample SVGs, Mermaid corpus, bundled fonts
docs/               documentation site sources

Contributing

Issues and pull requests are welcome. Please fork, work on a feature branch, add a test when you change behaviour, and open a PR.

cmake -B build -DNOVASVG_BUILD_TESTS=ON && cmake --build build -j
ctest --test-dir build

License

MIT

Acknowledgments

NovaSVG grew out of the architecture of lunasvg, restructured as a flat, dependency-free, single-header library. The story is in docs/about.md.


NovaSVG: a new star in lightweight SVG processing

Metadata

Release files for novasvg 0.11.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for novasvg 0.11.5
File Size Uploaded Provenance Actions
novasvg-0.11.5.tar.gz 8.9 MB Without provenance Details for novasvg-0.11.5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for novasvg 0.11.5
File Actions
novasvg-0.11.5-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for novasvg-0.11.5-cp312-abi3-win_amd64.whl
novasvg-0.11.5-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details for novasvg-0.11.5-cp312-abi3-win32.whl
novasvg-0.11.5-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details for novasvg-0.11.5-cp312-abi3-musllinux_1_2_x86_64.whl
novasvg-0.11.5-cp312-abi3-musllinux_1_2_aarch64.whl CPython 3.12 abi3 Linux musl 1.2+ ARM64 Details for novasvg-0.11.5-cp312-abi3-musllinux_1_2_aarch64.whl
novasvg-0.11.5-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for novasvg-0.11.5-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
novasvg-0.11.5-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for novasvg-0.11.5-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
novasvg-0.11.5-cp312-abi3-macosx_10_15_universal2.whl CPython 3.12 abi3 macOS 10.15+ universal2 (ARM64, x86-64) Details for novasvg-0.11.5-cp312-abi3-macosx_10_15_universal2.whl
novasvg-0.11.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for novasvg-0.11.5-cp311-cp311-win_amd64.whl
novasvg-0.11.5-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details for novasvg-0.11.5-cp311-cp311-win32.whl
novasvg-0.11.5-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for novasvg-0.11.5-cp311-cp311-musllinux_1_2_x86_64.whl
novasvg-0.11.5-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for novasvg-0.11.5-cp311-cp311-musllinux_1_2_aarch64.whl
novasvg-0.11.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for novasvg-0.11.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
novasvg-0.11.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for novasvg-0.11.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
novasvg-0.11.5-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details for novasvg-0.11.5-cp311-cp311-macosx_10_15_universal2.whl
novasvg-0.11.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for novasvg-0.11.5-cp310-cp310-win_amd64.whl
novasvg-0.11.5-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details for novasvg-0.11.5-cp310-cp310-win32.whl
novasvg-0.11.5-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for novasvg-0.11.5-cp310-cp310-musllinux_1_2_x86_64.whl
novasvg-0.11.5-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for novasvg-0.11.5-cp310-cp310-musllinux_1_2_aarch64.whl
novasvg-0.11.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for novasvg-0.11.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
novasvg-0.11.5-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for novasvg-0.11.5-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
novasvg-0.11.5-cp310-cp310-macosx_10_15_universal2.whl CPython 3.10 CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) Details for novasvg-0.11.5-cp310-cp310-macosx_10_15_universal2.whl
novasvg-0.11.5-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for novasvg-0.11.5-cp39-cp39-win_amd64.whl
novasvg-0.11.5-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details for novasvg-0.11.5-cp39-cp39-win32.whl
novasvg-0.11.5-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for novasvg-0.11.5-cp39-cp39-musllinux_1_2_x86_64.whl
novasvg-0.11.5-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details for novasvg-0.11.5-cp39-cp39-musllinux_1_2_aarch64.whl
novasvg-0.11.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for novasvg-0.11.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
novasvg-0.11.5-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details for novasvg-0.11.5-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
novasvg-0.11.5-cp39-cp39-macosx_10_15_universal2.whl CPython 3.9 CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64) Details for novasvg-0.11.5-cp39-cp39-macosx_10_15_universal2.whl

Total release size: 56.9 MB

Release files / novasvg-0.11.5.tar.gz

Download URL novasvg-0.11.5.tar.gz
Size 8.9 MB
Tags Source
SHA-256 checksum
How to use checksums
374e2d88054b1a9f599670063ab93b95dd4e4ad06d03044300e3455de66240ad
BLAKE2b-256 checksum
How to use checksums
4442f05b19c68b3667999707a508e314ff898eb4dbe1fac38333fd609d78e3c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-win_amd64.whl

Download URL novasvg-0.11.5-cp312-abi3-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
35a3fac68b22a5de78170296633b46e0f9208db6bdcb4742a311ca20b3a2ca02
BLAKE2b-256 checksum
How to use checksums
6ae2cfd25f549ad69df9c15515628ac25b2e03e960a240333d27827f951f8089
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-win32.whl

Download URL novasvg-0.11.5-cp312-abi3-win32.whl
Size 1.0 MB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
478a3f5ef81bd263fcb055fd180314bf006adfa986797bf752b4613909c25be8
BLAKE2b-256 checksum
How to use checksums
5d0fdaee67dbeaac5e923e76687c29f7006713354688ffabbc36c79b6bfd8882
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.5-cp312-abi3-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
f310ca39c46d02ad55b1bc48ee294c4a6570695a1983997d4d4ca10a2569111d
BLAKE2b-256 checksum
How to use checksums
dcdb3ad98a82f34fbaf426b119c4d0237c7e48dd560fa83aa670a39d25aa834b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.5-cp312-abi3-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
e6459e84c73fb042913609f9f7511c4afe1c9affb8e17e99492c7d2be5c20367
BLAKE2b-256 checksum
How to use checksums
7c08c5220424d446c20f65734f5ddb57420219df0ec3e6262e642b8c548542de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.5-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
dded78e54b1d9035b334871e78c97914f58a376ea7bc0f23f07e61cb8cfea7d3
BLAKE2b-256 checksum
How to use checksums
16901bd85e95aa9d39892074cc797230623c15eea4e4639214d78d0b9ba16216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.5-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
d39564d0564aef8b72181f5b071366491c67c76221ef66d658e70846991ab2bd
BLAKE2b-256 checksum
How to use checksums
cbfda02b5d91a9a2ab0118876994a9a22652a4eb571c2aca1b9b3127447830d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp312-abi3-macosx_10_15_universal2.whl

Download URL novasvg-0.11.5-cp312-abi3-macosx_10_15_universal2.whl
Size 2.0 MB
Tags CPython 3.12 abi3 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
b7944cf04abcd0c03307e80272678f2272f51510a9ee5e82537d50e109f325c7
BLAKE2b-256 checksum
How to use checksums
ead246223d7334d86ae58773bafe612b5147a399b796c22a822ad736a895d8f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-win_amd64.whl

Download URL novasvg-0.11.5-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
2ca690f7f20ee911a52a7cbb32d77ca588682b178ffaf5f1aab2960bfcead9e8
BLAKE2b-256 checksum
How to use checksums
0ecdadbcd17fcfcf0b1ade94e7f83c9df7f1f3d7f98094851a119bfc9ee99389
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-win32.whl

Download URL novasvg-0.11.5-cp311-cp311-win32.whl
Size 1.0 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
30a77241bf13a83e11ff9fb8074d72667c6d9d43dea1c78755a510d82e08822b
BLAKE2b-256 checksum
How to use checksums
9cd8254750f7db983b4d4ee6677e4988d40148a4ee061404fa26ff7880a42801
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.5-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9b1a7937d93ea0c1970d2b124726d54651542217983261b5709b23920c60ab08
BLAKE2b-256 checksum
How to use checksums
46c62ce5dd6144565181f8966c71881d9160e3f76bc79221c6830722118f6aac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.5-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c31775e23f066b4a1dfac8c4a04b36d1bf57bf819d0a6b31a84dfe5be99947b9
BLAKE2b-256 checksum
How to use checksums
eb3f2bad2a320f1ac9e0b0cbc7ca35a0a569a87a3c47f1585c4818b4821a279b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
70d4b9f2372c58f7e6d4af77ad755f97cd7f75429a489ce7e22f111dc3ce7771
BLAKE2b-256 checksum
How to use checksums
0ed6921b273b69a3288dbc1691bb434c554d4104da213132bba665a53f79f9d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b9a80a1d63ebb4b1eec226bf85c9df6bc5c33ba91dcb95689ca8a99683595897
BLAKE2b-256 checksum
How to use checksums
3d5b5f07807d6fe6bc31603a8a8002b563a566400376a57742561b72743774d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.11.5-cp311-cp311-macosx_10_15_universal2.whl
Size 2.0 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
66f4e7d0bb4010dc500e17fef3b1c738ca71d88285b136b80273b62176b8ed4c
BLAKE2b-256 checksum
How to use checksums
b4cddc75d4b1770786dca02efb15ff967cea87ae2536e8cd02b7f94675b7a2f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-win_amd64.whl

Download URL novasvg-0.11.5-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1d6beb8c9bb957b5bb5ed33a4c92b63f42d0a16ac192d5dcb2fb9885c9f250cc
BLAKE2b-256 checksum
How to use checksums
dc490b2d4d4260173bc47ae2031e1e8980b2993cb16bac97852fa56463ef9f26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-win32.whl

Download URL novasvg-0.11.5-cp310-cp310-win32.whl
Size 1.0 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
39863fb450304190cf220e7bf403527b90b3254ee0c2fd5c0a21c488b5cdc062
BLAKE2b-256 checksum
How to use checksums
eaf9c11c3c493c211a8adfe54db1f1b9ea5d3695f9b7595d2f558288c2affa7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.5-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
af39c17e06ea7e0417e81c63969f6af74b33de33c4d3b8666f0c7036fe81329e
BLAKE2b-256 checksum
How to use checksums
1a7e83f06ba899a727d6df6ede4b87452139bb5e05036e23b1838fc9da118920
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.5-cp310-cp310-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
16da73d61e06637e0b86bdd303d4f09031dfd551b6782203701f6ff5cafc714e
BLAKE2b-256 checksum
How to use checksums
2773d2bc9bb335139029977386bf66dc912f7288016eb6f0aa8423ed309328c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8a35abbfc927710b8a126886b17fb49b153a2e1d4c464b70ac6691a3509ccb26
BLAKE2b-256 checksum
How to use checksums
ae691880826d69768ff865fecc88e7a3ee19835cf55fa32897a98590b1d4daba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.5-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1086621e2c5caacda482ac106977c1d9e36197eed1a80bd67c12ba3ce0d9ee7f
BLAKE2b-256 checksum
How to use checksums
f174e8a0c97b20cc3a5a01787f008bda48c5b018466b610c8c930b3777936da7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.11.5-cp310-cp310-macosx_10_15_universal2.whl
Size 2.0 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
22b4bed02c6ee5542c07fe596c10454c2cd61f685695cc95e5ec8b851ba178a5
BLAKE2b-256 checksum
How to use checksums
d7434b7cd744226275b969c5bd1c25ca64f2fa417a8e409f061b8d5d91dc0f42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-win_amd64.whl

Download URL novasvg-0.11.5-cp39-cp39-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
c34cd883a17f2e6c043e81c42921b78b6e32c37f299094c5c214c3201419921d
BLAKE2b-256 checksum
How to use checksums
bd2d1a583259ffcb7c1dd0e86c1fdf6c8d1b0fad941d3abf1253461f38d36337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-win32.whl

Download URL novasvg-0.11.5-cp39-cp39-win32.whl
Size 1.0 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
b870c926890296213fc9ca387fcdb2162b8bc9d720c2ae7f7efd070d9b02ec92
BLAKE2b-256 checksum
How to use checksums
7c352ce07d4b217f77107d77b7861aba04b055da8e4677e90b18b9e9c2f97a99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.5-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
36b61db9e509f2aa8119f05bf3b35d727c775580f9e65259c4ae0fc6bf4a3201
BLAKE2b-256 checksum
How to use checksums
08ba858dbb2cc213822b0fc758132ae10dccd4ad6cbc8c83a8e4045c0ade8f89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.5-cp39-cp39-musllinux_1_2_aarch64.whl
Size 2.6 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
36a009b9f41c53eb54fb2794319b28be54f5b31f8e93ef899ff6aede65017730
BLAKE2b-256 checksum
How to use checksums
97c161c6df57d9a22331ff63ceb22cc116853afc4dae667abd16a4d2ced487df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f3b671ad06c4671994f3b58a10b53301c79289781e0039472430d915081b6c5c
BLAKE2b-256 checksum
How to use checksums
e479be70f9600306f93905b1b563b992b366750c6bbd5e0d8658243e4c39a02c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.5-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ed54a503edd4987a0419ce4704f6618fd89821e17619d93af8165fe27dcd3216
BLAKE2b-256 checksum
How to use checksums
a43968520e538939a26d248ae126ed856ef575dad2bb9dd8fea19125b68ba90f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / novasvg-0.11.5-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.11.5-cp39-cp39-macosx_10_15_universal2.whl
Size 2.0 MB
Tags CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
385aa8c5c79ec0784ebad1044bc3c1e3868e59d0de836166082b2b279747cca6
BLAKE2b-256 checksum
How to use checksums
88cfd28111731e26c6653beb476bc95ef42df6b45a245b67ae6882435de6fe21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for novasvg 0.11.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page