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.4

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.4
File Size Uploaded Provenance Actions
novasvg-0.11.4.tar.gz 8.9 MB Without provenance Details for novasvg-0.11.4.tar.gz

Built distributions (wheels)

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

Total release size: 56.8 MB

Release files / novasvg-0.11.4.tar.gz

Download URL novasvg-0.11.4.tar.gz
Size 8.9 MB
Tags Source
SHA-256 checksum
How to use checksums
97259e102c7a7577566a8f592765ef32583865d2c2a86d8fa5b524ba24b5d80f
BLAKE2b-256 checksum
How to use checksums
cd14d57c285dfd418604665b5b938bf63525761cf963c96eca17013b1bd33acb
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.4-cp312-abi3-win_amd64.whl

Download URL novasvg-0.11.4-cp312-abi3-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
62aa4b58771d57d77a5fd21fe61e91ed3fa50d530550722695b18cf593471df5
BLAKE2b-256 checksum
How to use checksums
4c6aac27fb0163253e114145742631a0cb97da1d788680a1f83229e3aa8dc820
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.4-cp312-abi3-win32.whl

Download URL novasvg-0.11.4-cp312-abi3-win32.whl
Size 1.0 MB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
eea08d08863b3004e6ddb21764d9096dda4c29e64dc90e7f86a89c8e669cfa0d
BLAKE2b-256 checksum
How to use checksums
dbe9adc779cfb94c39249b075f3dbb5aead3676c92a658122aeb56e5e376b86e
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.4-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.4-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
fb46c362ee04ed153bd52d67146b4cfb653ea09794643fd3a7eaf33cbe9229bf
BLAKE2b-256 checksum
How to use checksums
7d02772f73b82d2a6a53c843fac93c536759af2b59972814e271df79721d8c19
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.4-cp312-abi3-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.4-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
eac223e25b55d7db890ded51fa201c8fa43119c2d8d4e8d49cb0ec15f05ba7aa
BLAKE2b-256 checksum
How to use checksums
d9d70dffa32e5bea17b8ef735511d8e322119b72852ee66338d90a1ddfff30d0
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.4-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.4-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
504418acf6b63f65c6511f6929af4370f9d5212ddea2e2e436b6d60413fb5913
BLAKE2b-256 checksum
How to use checksums
8c365a8eb61bcee66e18fd5754bb8454638e6a662d5c5f1f622bfa75b0a159aa
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.4-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.4-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
215661b9c637358673e06c56ab59b992e2bf16359e5583b4bbfb6cb6ce7c9727
BLAKE2b-256 checksum
How to use checksums
3f3e83c527a7754d08717ef2731af43ac4853af820173c163e907b439fc827a9
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.4-cp312-abi3-macosx_10_15_universal2.whl

Download URL novasvg-0.11.4-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
2a4cfd341f3e9de745eab7f8a5a13d685d541c97cc94df8d56c450c80432a9a6
BLAKE2b-256 checksum
How to use checksums
96f1bb6e01703c75d9f1f2a3e72334ffbbfb32f74187ce1af55f2c504077c333
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.4-cp311-cp311-win_amd64.whl

Download URL novasvg-0.11.4-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
584c593b3a2603546cc92ca733ba5b9e61a9d2eddefc1b30ead54ee3eb9aee3b
BLAKE2b-256 checksum
How to use checksums
39d34f7ad4246d0e0390c8c3a11c55b6319df8868ec5c83087f80b0f3b76e430
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.4-cp311-cp311-win32.whl

Download URL novasvg-0.11.4-cp311-cp311-win32.whl
Size 1.0 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
040fad7ae9f42d1b97969145d8473fd355fa2c1b13d3048cb9781facb20872ef
BLAKE2b-256 checksum
How to use checksums
ad278f898ab1053f84f22b68fefd88e57e5a718c19ce195ce28cb8f2c18a1e47
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.4-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.4-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
fde2c42083a5f936df553755e4684122ed491dd048d4397427373f2da1a90522
BLAKE2b-256 checksum
How to use checksums
64bc60afe4a55a7e5134abb5b72e8fef35c686f4a4d0228753151a4f3c245b5c
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.4-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.4-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
1622430d033074c6a206f0093a2d813e51d65defc184a954b26015c14c1b84be
BLAKE2b-256 checksum
How to use checksums
db4a20fcd59dce266b48541f9f4ba0eff4db2f79f0accfdc0e254e09a8f30721
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.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.4-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
f90149d9722a7b4161f703008af3076d8ab31a9a17e0659fba99d0259f14dc24
BLAKE2b-256 checksum
How to use checksums
b404b999c40a63a199d0b782e94ead5801b85e53db24dc54a68949e030dc6bf5
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.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.4-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
d4496a03794d5e9553b0ff15c7902a3b991220eebfbb8d61ce3e9af140cd731c
BLAKE2b-256 checksum
How to use checksums
60c4680d92e009e41adcd4e9dda945fb30f75d532666ac2714aa45d6c93b16cc
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.4-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.11.4-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
165a2137b191b275c3a9c2c4eb10d8d982e0368a11214223ca60f07b46500c94
BLAKE2b-256 checksum
How to use checksums
6e500ffe5f71666ab9c7cb7c90bd798b20be022579b7efed11763fcc429a9f5d
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.4-cp310-cp310-win_amd64.whl

Download URL novasvg-0.11.4-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e34afa01eeabb2c830d973f9716b2696b0bccf67a78a3af115375877e0b04001
BLAKE2b-256 checksum
How to use checksums
1f546c564e386f7c368c625e83b94cc58a312edb3851ad8df640c6f279ab5321
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.4-cp310-cp310-win32.whl

Download URL novasvg-0.11.4-cp310-cp310-win32.whl
Size 1.0 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
f98b83f5bf857deea5f9769def2578f54820286034b67aeaed25c801e093e079
BLAKE2b-256 checksum
How to use checksums
343cb8bf2386069b55e8a710da2beb8a5ced087c6875162e484848727a2e92c2
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.4-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.4-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
0b6da36f9921d8f33c7d1ded12ed03010fe4788b6655842a7ef6d40569457005
BLAKE2b-256 checksum
How to use checksums
46506eb63564c926d492fd856a40d565c979fc8eb276c1df4598a528aac52743
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.4-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.4-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
4b3ac01245b2ac95e3ca45953d7aecb99448e23e13c590a73a193bc259aeae26
BLAKE2b-256 checksum
How to use checksums
ed23aeb462a40f9c7caa9556f8ab9100ef87351c353ba2684a17582515c3e323
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.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.4-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
c30dd3576f7b27cd9e57ac65cb75e45b20798a95fa6558d63ba991d6b59bfc28
BLAKE2b-256 checksum
How to use checksums
655c5a3241ccf1e936522c209d90097e54a91d93168d28f2819d6ad7b628612b
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.4-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.4-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
585784898009266703ecf7361a94ace18a675d049bcce076ff3bceebcd674446
BLAKE2b-256 checksum
How to use checksums
035788009b9ddb628056584886a02b467e65dadf85868e99146e1291b3f60360
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.4-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.11.4-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
a36577755b2cb414009347e371bf840ca2b4ec2ccfe15f4aba05c3df83ef10fb
BLAKE2b-256 checksum
How to use checksums
ea22632f563a07c7c1024b162d20eaad6b0951e7eae4fa8230b27cd16e96959a
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.4-cp39-cp39-win_amd64.whl

Download URL novasvg-0.11.4-cp39-cp39-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
3649f2c626cae671c0c899f4a6f4a7983f0ea2f2b4a8335c37c645a96a4e2dba
BLAKE2b-256 checksum
How to use checksums
d6b78859e02b5aad5d232ed6c7960c79440cfbd8aab6ad28217a53079a056476
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.4-cp39-cp39-win32.whl

Download URL novasvg-0.11.4-cp39-cp39-win32.whl
Size 1.0 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
9387fa620c45a63f00972db1219a05d350350093dde6098f9e667cfb34a086cf
BLAKE2b-256 checksum
How to use checksums
5164b0db93e30670f73fb495685e8fe7f3cbd7c2a460742120cbae51bc201ca4
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.4-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.11.4-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
9076797f8d0ae642331c9b04a24918d5e231d6a3624a9732d1513a05a1d2bc8b
BLAKE2b-256 checksum
How to use checksums
0251483c9fd28aebf1a3c211065af0c998652a77b81ab4cf8f6065fb24ebc5a5
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.4-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL novasvg-0.11.4-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
16abc823935db225639a10929c07e056a0eaa3fa5abcbff1a86a9bba0f0de1ba
BLAKE2b-256 checksum
How to use checksums
04ec3817552c6716991fd219188ce5749906770aa48ad6967d674d441feb3ca2
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.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.11.4-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
c688a556bb91b3289cf382b06dba1e50b50c00f14666c09cacba9ec390ba80cc
BLAKE2b-256 checksum
How to use checksums
4046ad841585e69359050a22cfaf2937710a67087d2f2ed156708d5d8268e125
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.4-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL novasvg-0.11.4-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
e560e0cf7613fcfa5738d62c58265f974e325925839e9e6df43fdd2d5b19182b
BLAKE2b-256 checksum
How to use checksums
8cbf3a104569a9ac9cf236872b7723827d072966b08bffd5700e1707ce4d99c6
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.4-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.11.4-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
ca6dd601062d51c97e9aaedb2185b1b464b2f653633cac199ee2c9a8acf95e7c
BLAKE2b-256 checksum
How to use checksums
c9e06c877de377cdaa135e5e3ea705c5e7f0219b1183ea607a7fc4dcc2bab770
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.4

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