Skip to main content

NovaSVG

NovaSVG Logo

License: MIT C++17 CMake codecov single header file-novasvg.h

NovaSVG is a lightweight, header-only C++17 library for parsing, manipulating, and rasterizing SVG files. It provides a clean, modern API for loading SVG documents, querying elements, applying CSS styles, and rendering to bitmaps or PNG files—all from a single include.

The library also offers a command-line interface for batch processing and automation.

✨ Features

Core Library

  • Header-only design – Single include file for easy integration
  • Modern C++17 API – Clean, type-safe interface with RAII semantics
  • SVG parsing – Load from files, strings, or memory buffers
  • Rasterization – Render to bitmaps with customizable dimensions and backgrounds
  • Element querying – CSS selector support for finding elements
  • CSS application – Apply stylesheets to modify SVG appearance
  • Transformation support – Matrix operations for scaling, rotation, translation
  • Font management – Add custom fonts for text rendering
  • Cross-platform – Works on Windows, Linux, and macOS

Command-Line Interface

  • SVG to PNG conversion – Batch convert with customizable dimensions
  • SVG information – Extract metadata, bounding boxes, and element counts
  • CSS querying – Find elements using CSS selectors
  • Style application – Apply CSS stylesheets to SVG documents

SVG Filters

  • Full filter-primitive pipeline – feGaussianBlur, feOffset, feFlood, feComposite (Over/In/Out/Atop/Xor), feMerge/feMergeNode, and the feDropShadow shorthand, with real in/in2/result chaining (SourceGraphic/SourceAlpha included) — chain primitives together to build custom effects, not just apply one at a time
  • CSS transform: property – both the SVG transform= attribute and the CSS transform: property (set via style=/a stylesheet class, including deg/rad/grad/turn units) are supported

<foreignObject> / HTML-in-SVG text

  • Plain-text extraction with real word-wrap – renders the text content of HTML embedded in <foreignObject> (tags stripped, CSS color/background-color from the HTML's own style=/class= respected, forced line breaks at <br>/<p>/<div> boundaries further greedy-wrapped by width) rather than skipping it entirely. This is what diagram tools like Mermaid.js rely on for every node/edge label; most other lightweight SVG renderers (resvg, lunasvg, cairosvg) currently render these as blank boxes — see COMPARISON.md for a from-scratch, empirical comparison. Full HTML/CSS layout (nested block layout, inline flow) is out of scope; see checklist.md.

Font matching

  • Real OS font substitution (fontconfig on Linux) – a font-family stack like "trebuchet ms", verdana, arial, sans-serif (what Mermaid.js itself emits) is resolved through fontconfig's own alias/substitution system when available, not just novasvg's built-in raw font-file scan. For best text-metric fidelity with content generated by browser-based tools, install a metric-compatible font family such as fonts-liberation (Arial/Times/Courier-compatible metrics) on the system running novasvg. Detected automatically via __has_include() in font.h — no define needs to be passed in from CMake or any other build system, so a header-only consumer who never touches this repo's CMakeLists.txt gets it too, as long as their own build links -lfontconfig (this project's own CMakeLists.txt does that for you). No fontconfig-dev installed at compile time (normal on Windows/macOS, and possible in a minimal Linux container) degrades gracefully to the previous raw-font-file-scan behavior, with a one-line compiler notice explaining why.
  • @font-face-embedded fonts (raw TTF/OTF) – an SVG that embeds its own font via @font-face { src: url(data:font/ttf;base64,...) } (as opposed to just naming a font-family and hoping the system has it) gets that font loaded and used under its declared family name. WOFF/ WOFF2 aren't decoded yet — only raw TrueType/OpenType payloads.

🚀 Quick Start

C++ Usage

#include <novasvg/novasvg.h>

int main() {
    // Load SVG from file
    auto doc = novasvg::Document::loadFromFile("artwork.svg");
    if (doc) {
        // Render to bitmap (auto-sized)
        auto bitmap = doc->renderToBitmap();
        
        // Save as PNG
        bitmap.writeToPng("artwork.png");
        
        // Query elements
        auto rectangles = doc->querySelectorAll("rect");
        std::cout << "Found " << rectangles.size() << " rectangles\n";
        
        // Get document dimensions
        std::cout << "Size: " << doc->width() << "x" << doc->height() << "\n";
    }
    return 0;
}

Command-Line Usage

cmake -B build && cmake --build build
./build/novasvg input.svg              # convert is implied, no need to type it
./build/novasvg input.svg -o output.png -w 800 -H 600

See the "CLI Reference" section below for the full option list.

📦 Installation

C++ Library

As Header-Only Library

Copy the include/novasvg/ directory into your project (or grab the single-header novasvg.h from the latest release) and #include <novasvg/novasvg.h>. Every function is marked inline, so there's no separate implementation file to define a macro for — that used to be required via a detail/novasvg_impl.h + #define NOVASVG_IMPLEMENTATION, but that split no longer exists; the whole library is safe to #include from any number of translation units as-is.

Building from Source

git clone https://github.com/MohammadRaziei/novasvg.git
cd novasvg
mkdir build && cd build
cmake .. -DNOVASVG_BUILD_EXAMPLES=ON
make -j4

Command-Line Tool

The novasvg target builds automatically as part of the project (no separate flag needed) — after the build above, the binary is at build/novasvg:

sudo make install  # Optional: install system-wide

📚 API Overview

Core Classes

Document

  • loadFromFile() / loadFromData() – Load SVG documents
  • renderToBitmap() – Render to bitmap with optional dimensions
  • querySelectorAll() – Find elements using CSS selectors
  • applyStyleSheet() – Apply CSS styles
  • width() / height() – Get document dimensions
  • boundingBox() – Get document bounding box

Bitmap

  • writeToPng() – Save as PNG file or stream
  • data() – Access raw pixel data (ARGB32 Premultiplied)
  • width() / height() / stride() – Get bitmap properties
  • convertToRGBA() – Convert to RGBA format

Element

  • hasAttribute() / getAttribute() / setAttribute() – Manage element attributes
  • render() – Render element to bitmap
  • getLocalBoundingBox() / getGlobalBoundingBox() – Get element bounds
  • getLocalMatrix() / getGlobalMatrix() – Get transformation matrices

Matrix

  • translate() / scale() / rotate() / shear() – Transformation operations
  • inverse() – Matrix inversion
  • Operator * – Matrix multiplication

🖥️ CLI Reference

# Convert -- the default action, no subcommand keyword needed
# (an explicit "convert" subcommand works identically, if you prefer it)
novasvg input.svg
novasvg convert input.svg -o output.png
novasvg input.svg -w 800 -H 600         # resize
novasvg input.svg -s 2.0                # scale factor
novasvg input.svg -b FFFFFF             # background color (hex)
novasvg input.svg --style "rect { fill: red; }"
novasvg input.svg --css-file custom.css

# Info / query / batch -- real subcommands for the other actions
novasvg info document.svg
novasvg info document.svg --json
novasvg query "circle" shapes.svg
novasvg query "rect[fill='red']" shapes.svg --json
novasvg batch svg_dir/ png_dir/
Option Description
-o, --output <file> Output PNG file (default: input name with .png)
-w, --width <px> / -H, --height <px> Output dimensions
-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

Run novasvg --help or novasvg <subcommand> --help for the complete, always-up-to-date option list.

🔧 Build Options

Option Description Default
NOVASVG_BUILD_EXAMPLES Build C++ examples PROJECT_IS_TOP_LEVEL
NOVASVG_BUILD_TESTS Build unit tests PROJECT_IS_TOP_LEVEL
NOVASVG_BUILD_PYTHON Build Python bindings PROJECT_IS_TOP_LEVEL
NOVASVG_BUILD_DOCS Build documentation with Doxygen OFF
NOVASVG_DIST_DIR Generate single-header distribution Not defined

The novasvg command-line tool itself has no build flag — it's built unconditionally alongside the library. Converting is the implied default action (novasvg input.svg works with no subcommand needed).

🧪 Examples

C++ Examples

  • examples/cpp/sample01_convert_svg_to_png.cpp – Batch convert SVGs to PNGs
  • examples/cpp/sample02_query_svg_size.cpp – Query document properties

🎯 Use Cases

  1. Graphics Applications – Embed SVG rendering in C++ applications
  2. Web Development – Server-side SVG processing and optimization
  3. Game Development – Load vector graphics for UI elements
  4. Desktop Applications – Display vector graphics in GUI applications
  5. Automation – Batch convert SVG assets with CLI tool

🔍 Performance Considerations

  • Memory efficient – Minimal overhead for header-only design
  • Fast rasterization – Optimized rendering pipeline
  • Reusable bitmaps – Create once, render multiple times
  • Appropriate sizing – Render at required resolution, not larger
  • Batch operations – Process multiple SVGs efficiently

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

📄 License

NovaSVG is distributed under the MIT License. See LICENSE.txt for details.

📖 Documentation

  • API Reference: Built with Doxygen (enable with -DNOVASVG_BUILD_DOCS=ON)
  • Online Documentation: https://mohammadraziei.github.io/novasvg
  • Examples: See examples/ directory
  • CLI Documentation: See the "CLI Reference" section above
  • Renderer comparison: COMPARISON.md — an empirical, same-input comparison against resvg/lunasvg/cairosvg/thorvg (filters, CSS transforms, foreignObject text handling)
  • Known gaps / roadmap: checklist.md — what's fixed, what's intentionally out of scope and why, and optimization notes for anything that's currently correct-but-not-fast

🙏 Acknowledgments

NovaSVG builds upon ideas from existing SVG libraries while maintaining a distinct architectural philosophy focused on minimalism and header-only design.

📞 Support


NovaSVG – A new star in lightweight SVG processing

Metadata

Release files for novasvg 0.7.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.7.4
File Size Uploaded
novasvg-0.7.4.tar.gz 4.1 MB Details

Built distributions (wheels)

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

Total release size: 28.9 MB

Release files / novasvg-0.7.4.tar.gz

Download URL novasvg-0.7.4.tar.gz
Size 4.1 MB
Tags Source
SHA-256 checksum
How to use checksums
13e8a6da3615a77c22e3b47747065e0127c97bdfc1e4ded5c90d84987387bc38
BLAKE2b-256 checksum
How to use checksums
85385b4112690180731359b352b2c93eb6dbf174f322b2b9fbe36e62fb0f44d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp312-abi3-win_amd64.whl
Size 901.4 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
13af99f6676f6bf54f6d9a7cfbc8d99c958f2575364c27593b2b8f1ac8a31b6a
BLAKE2b-256 checksum
How to use checksums
a1c5c50cd8666d7430de8c0c3871b929a3fda5cc620b534e37677fa161f17df1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp312-abi3-win32.whl
Size 818.4 kB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
3da5212aa2db255b8a0137ca6fc699d9b8fac6bb83314588d94ce95e85589033
BLAKE2b-256 checksum
How to use checksums
556dcc504a1821573679e8d91d2ae73dc879a54690db0e3cca64fc160d90179f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

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

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

Download URL novasvg-0.7.4-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 816.7 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
c5b6b1420898fb57d63f70042567b81d3dea1f472d702654e62120d6fe49ecaf
BLAKE2b-256 checksum
How to use checksums
76341cfec422b4dfdcd85b05025fe65797be1c579e7688205e3a670d83f41844
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

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

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

Download URL novasvg-0.7.4-cp311-cp311-win_amd64.whl
Size 901.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c23350c3c300d69b4e46ed4513ae0e71b07de3ed886253d3dcb779c808cb3a42
BLAKE2b-256 checksum
How to use checksums
56be377d6263403855d6b030b60cdc22371bc9f745ffe87f8be53e86691e2664
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp311-cp311-win32.whl
Size 819.5 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
a2d5b56c505fd4d6e43052e9a820e8d1f469606946ae9bec09a1a1ed87d1db29
BLAKE2b-256 checksum
How to use checksums
8d15b79de9bde32e96f76e4c2da3d28ae60d50c4b9b6c20583dfdc856bc78d35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d214ad1baa54231313b37f3750a50d83e679f15539e043b625112d72324d63d2
BLAKE2b-256 checksum
How to use checksums
c2133d18b784f767826137f76c1268e41df20743e618f23eebaf393549209754
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 821.2 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bb34a2241d2a7d3c975ade0ff0e6be922f9de1d1cbb4859f7791c13710560953
BLAKE2b-256 checksum
How to use checksums
4cdfd203760c61e9ff6dc059ccedf8e1f6ea8ed7923b8f0ea57b36aed98c8ee4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp311-cp311-macosx_10_15_universal2.whl
Size 1.4 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
716a9396cab955d8ace2cfec22d085aed87c76e3c0b1c28adca765fe6e701e38
BLAKE2b-256 checksum
How to use checksums
3b0d1358bc6a7d9a9e22622c33581d5c440c0bb849921871f0ea8b98825bcdf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp310-cp310-win_amd64.whl
Size 901.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
12c8423fbe6277d466bba8867c06f8e0ba0ae6fe6f1a0c545dd0a9b53ead3485
BLAKE2b-256 checksum
How to use checksums
f6ee365420a2e21ce5857d61a2aae36f6c44a03381b8f548ccacc9f0a3c65cec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp310-cp310-win32.whl
Size 819.3 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
8f03946fb53ce2ea5720e1e4503e5c1348bf3a05665b7c4857e6c438f506fa1d
BLAKE2b-256 checksum
How to use checksums
dca20b32e598521030da95ae62c0227b6165d0e977871189601e3dbcbf4cb450
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c8c81517aae0acc592c67229ab4c8859b04c5b6656cf244a3707de880f613cee
BLAKE2b-256 checksum
How to use checksums
dd8480e3c9bb0d44a31a98dbe9dd09af5f8ac914b5d5e470603bd3051aa14767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 821.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7089778bc8ac986ecd2fe025409250e01bbc7c547ce2400bee90e86db7598d4b
BLAKE2b-256 checksum
How to use checksums
f6a60ff1e0f74c871c43c5e4518e13bee8a3a5ab39e0d31812239bd802a73997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp310-cp310-macosx_10_15_universal2.whl
Size 1.4 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6117906b642388e36b81b9a41015179aef41b882ffd83f6f115cd756e0530986
BLAKE2b-256 checksum
How to use checksums
595336c6326038aa593d894d9518ced4e4598e4290b6b888f1cf2797f19a70bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp39-cp39-win_amd64.whl
Size 880.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
81d5b14ba087477f2a9c6bb2e6ecc978e49c6df025256f1891ae6dfe84c795fd
BLAKE2b-256 checksum
How to use checksums
a58dbcb7fcaa232f13c57d64d32c641e0762b0d99d56252a7940d5d98ee543bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp39-cp39-win32.whl
Size 800.4 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
4adfe1c21d83ef7d54952135541b32b093c458fd69a1926b671ec68c4622905a
BLAKE2b-256 checksum
How to use checksums
f1055ed31003b14fa957caede014c1a927b0a733864610af9bf9cec34d2cf205
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e4699d1858f10d3b94683175bc2b88c7c24889cf6ad64abf80edf5f34d609ec5
BLAKE2b-256 checksum
How to use checksums
01c615246d9b479a12173c8cec86cb0bb468c1537c0a5505b3c4ad1327ff074b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 813.8 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
949fc31ab4e7bb07cb7a26f87464465b20cc468ff483cc78f7e39a9bb6d3d760
BLAKE2b-256 checksum
How to use checksums
1c71981d5d380e3fad94ebcf6663f6a23fc986929fcf4c3295ae1fbb7bad46b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

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

Download URL novasvg-0.7.4-cp39-cp39-macosx_10_15_universal2.whl
Size 1.4 MB
Tags CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
38b36e1d3a1c21ccbf1c4cdcfa4736d9360b4031e3d7097d3c01321bb7a6268d
BLAKE2b-256 checksum
How to use checksums
fb6e3dacb4d0181711441fa59ca1ff99bfbeb33be8bb58021bf64991b104b561
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.9.0

21 release files

This release

0.7.4 This release

21 release files

0.7.2

21 release files

0.7.1

21 release files

0.7.0

21 release files

0.6.0

21 release files

0.5.0

21 release files

0.0.1

2 release files

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