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

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.2
File Size Uploaded
novasvg-0.7.2.tar.gz 3.7 MB Details

Built distributions (wheels)

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

Total release size: 26.8 MB

Release files / novasvg-0.7.2.tar.gz

Download URL novasvg-0.7.2.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
df9b41e87715f098e3832f2d8cb068bfadb44fc0133170bd0808b50b61caa74d
BLAKE2b-256 checksum
How to use checksums
8b1c9b24ef5e17543d9a1200d775c72622244ec2ee484b5e7c9f7d61328cc3eb
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.2-cp312-cp312-win_amd64.whl

Download URL novasvg-0.7.2-cp312-cp312-win_amd64.whl
Size 705.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5e01829e27cc90a8a6c1a2bfa0e02039bcfe8e81a1ab14d66db91186a1b547e5
BLAKE2b-256 checksum
How to use checksums
611cc9145e9e6e64d3ae2ed6d4727b26ce5a358f5a21539deebddba47a1c4483
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.2-cp312-cp312-win32.whl

Download URL novasvg-0.7.2-cp312-cp312-win32.whl
Size 619.9 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
51d2c930c8885b60e5b16f78712b3a6aa675906bff2359a4509852811b7a8ef5
BLAKE2b-256 checksum
How to use checksums
67aca6a3f815b43539ac07189e5cfdda3f4076e1d0ecd7bcc8d8a68fa435181f
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.2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a46a1b31ed724cb25aff9e594491b60b826b6509a97fb1429d6cf09175ab6857
BLAKE2b-256 checksum
How to use checksums
6cf0215ea66ffe4f22bd4391af1c498679fbe099dc4bdde1b85369201fc444d3
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.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 810.6 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9349b1fc7d7ed5a3673002340f36cfce4ca58a4ec9caab5ee52596fb17cf81c8
BLAKE2b-256 checksum
How to use checksums
05b5445aa499e5f1c12cb55da550b14400be375d8c616083f8549a08a5c0e9c0
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.2-cp312-cp312-macosx_10_15_universal2.whl

Download URL novasvg-0.7.2-cp312-cp312-macosx_10_15_universal2.whl
Size 1.4 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
847e2f4b18798c99249d761d6f810e2a1d15003155f2069736b585bb042e3ada
BLAKE2b-256 checksum
How to use checksums
69966ccce0a741e45e8e17ab534fdc10e609ae8497580e5af6ef8a5a39ceb155
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.2-cp311-cp311-win_amd64.whl

Download URL novasvg-0.7.2-cp311-cp311-win_amd64.whl
Size 705.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
02046056c459f11fc4f10af93a83ffe004d4c5261d8df89ed87b17b035553512
BLAKE2b-256 checksum
How to use checksums
166437d7a3b792d58a6c2f77bb033753335d272c24b67c3f845b2b9b5e625b80
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.2-cp311-cp311-win32.whl

Download URL novasvg-0.7.2-cp311-cp311-win32.whl
Size 620.1 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
055e6253e5d84aae0b4ab5615d32364c0a0f0bc415869a3cb55c4f2fad56f104
BLAKE2b-256 checksum
How to use checksums
6db182cb9ef4cc84fa4fe499383133fe846975bff6c111f78bb8da8b56d6b59d
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.2-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.2-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
99645918e8d5589b4f8a357d2813790b494cb930da062717fe552228a1ab3b38
BLAKE2b-256 checksum
How to use checksums
48749f0249419e204580ad7f2e4f082d81e00465c26f75106384507b29630a0a
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.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 810.9 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c1f9eb60cc86eabf61018ccf80b5ae02a3db31e7bb34aa2e747eb69f33b92920
BLAKE2b-256 checksum
How to use checksums
53b53e894d8a9962699c0397e35272de8acb9a4e51f9bbe1361027cb4f32addc
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.2-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.7.2-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
dd52d6d5014b3fd2ddf3be6b7742eac88474d6082846443701bb2c77ff5558ad
BLAKE2b-256 checksum
How to use checksums
ccefb5ed0995b3308c4555bb40e8cc05d9effeb1018afea60fb39cf9c2543a2c
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.2-cp310-cp310-win_amd64.whl

Download URL novasvg-0.7.2-cp310-cp310-win_amd64.whl
Size 704.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
5f77aa26272e111a4359d4f4dc1f3594523a144d6814ca3fe4ad91f1d63fbc18
BLAKE2b-256 checksum
How to use checksums
41bee34382a1dbdf4f3078e0787463a25fee802e0862ba2aa4caab69fa55b04d
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.2-cp310-cp310-win32.whl

Download URL novasvg-0.7.2-cp310-cp310-win32.whl
Size 620.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
7c2031531cd2e3515c4b35b530afc62891537d0ea16ea16755027e83c3cbcb0e
BLAKE2b-256 checksum
How to use checksums
5754a536f200676561d3d49c68f5e8511949f955a7b38616c5ec285f00b14cc3
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.2-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.2-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
2c0513fe1c58b6544f63db869cdb5d32eac9ea7bf6c457de5b488dc2e0565c7b
BLAKE2b-256 checksum
How to use checksums
710df2537a7b8808ba0261ddc1772318622001ea80cdaadd511fa7ae8f5587d1
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.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 811.2 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5eff09d133ba1fa089f1596f4b19bab5dce39553d124171ff0f37929c5b1d828
BLAKE2b-256 checksum
How to use checksums
956ad1c39007604349ff440fe5c53a9e794126edeebc2ffbcf25e6c3cd569ccd
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.2-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.7.2-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
88ffb58c6f74ef8be76b70425e0c219828d6b6de9e291d1127f3832272c58f11
BLAKE2b-256 checksum
How to use checksums
013ca601cfa284f5f051bec8000a98c1d99f9d4f126b88c528dc7e73624a1a83
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.2-cp39-cp39-win_amd64.whl

Download URL novasvg-0.7.2-cp39-cp39-win_amd64.whl
Size 682.1 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
478f65f58586bcdb620c698ee73d4d2c293ec4dd5202e04ceaa61baa1cb64e82
BLAKE2b-256 checksum
How to use checksums
7c362405750b1aea8464dbf9e1bd781973844026bdcd588bc1daeb66ed848779
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.2-cp39-cp39-win32.whl

Download URL novasvg-0.7.2-cp39-cp39-win32.whl
Size 600.1 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
8761dbc5c50eb6f7a67b41a7d05f9df78bac032ee4f09589cf1b779b59160dfd
BLAKE2b-256 checksum
How to use checksums
5395ab290b8d263786c75a163175c3f90ebe800d1947c06cf5eb5f8aa810ee92
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.2-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.2-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
cfb2664128ab4044f36f6c5b6dc4cfe265b31f56df1f8e617db5c1b5991c9553
BLAKE2b-256 checksum
How to use checksums
d6dea23b10833efefa09df4f93769089114b7257dca748a411fdc81d4f45d6e3
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.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 803.7 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0cbee658b798d07f73c29576c1fb0cffd363e155230e1a111d8d3de96890b4f2
BLAKE2b-256 checksum
How to use checksums
a32f114de9789435891370f1cbdbc669d57d7634d0c49d48d835024dc07f65f2
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.2-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.7.2-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
bdefea72d25f8733527d3575fd9f0cae7fe205dbf4b6fe7a718d70c5abb97d93
BLAKE2b-256 checksum
How to use checksums
a9a7e86164f1af3096796cf00468b37558b5738988b5651ad7c71112d780e298
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.2 This release

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