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

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

Built distributions (wheels)

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

Release files / novasvg-0.7.1.tar.gz

Download URL novasvg-0.7.1.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
4334e281e3654426370726d1c51df8ebc2232f70a4f12440f2d0314bee10a899
BLAKE2b-256 checksum
How to use checksums
e5ecb773f3f9d153964e8616dd0eae34bb37e99369771cbe628b5fccd3776e06
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.1-cp312-cp312-win_amd64.whl

Download URL novasvg-0.7.1-cp312-cp312-win_amd64.whl
Size 693.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0682cde01825739fdca36fdc655ca903f529cd96de8cf6d987aabc70102ca765
BLAKE2b-256 checksum
How to use checksums
53462ee1c1314138f643947e7cc6b76dc863d8f2c730932196c2200a8b58e23e
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.1-cp312-cp312-win32.whl

Download URL novasvg-0.7.1-cp312-cp312-win32.whl
Size 611.0 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
686e4cc9a313c388244fc539aac5e4bbe563e59e1ac25ab8b2e53da32201a427
BLAKE2b-256 checksum
How to use checksums
ef734379443793340cc290248e8f2fe530a5e6b77b3c7f0193d1f6ae9ba35876
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.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.1-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
50431af33c30d501e15eb2dbbb00c03b85d327be73667270bac897d7da33f69a
BLAKE2b-256 checksum
How to use checksums
902982d2300c9c3b56966df2dd988be463d5cbb5d51e75065a1ab479813a6df4
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.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 798.8 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9fbc3d472925553506f6ce5631fb0ef1f91b5c8935871462978847c213fcc8fd
BLAKE2b-256 checksum
How to use checksums
57f9570e4da4e4c70e1504761266e7ef46ffc15885ea6ded3d63ecf23ef07740
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.1-cp312-cp312-macosx_10_15_universal2.whl

Download URL novasvg-0.7.1-cp312-cp312-macosx_10_15_universal2.whl
Size 1.3 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7d35862a5d6697b36bf454ebfc6b070a75a93ad6d5d31c0d393918e4ed834a22
BLAKE2b-256 checksum
How to use checksums
aa2ec54636eec780f900305ad9322671da3b401dbacce862f29d4a8319484a2d
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.1-cp311-cp311-win_amd64.whl

Download URL novasvg-0.7.1-cp311-cp311-win_amd64.whl
Size 693.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
18a404e9a20e59f23bb371f7d2c3ef153db89b273894e5e8a5b0a8d5395d0562
BLAKE2b-256 checksum
How to use checksums
72bcd329b79ed4fa80c097059e62576b0d78308bbcdac43a9277b2b1ab6661e6
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.1-cp311-cp311-win32.whl

Download URL novasvg-0.7.1-cp311-cp311-win32.whl
Size 611.2 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
1cf84f33e1c09ae859c07c73aa4837be582d1e7a208fd43651e03c0f0bcaa247
BLAKE2b-256 checksum
How to use checksums
a810ee2da7f836ab811a9f73614abfc4262677a6c84a3d2c97fa88148aae2f3f
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.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.1-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
41e5e117077633a82064a5b4a9bd22bed71b7b18aa9fba26752da73ae2166eaf
BLAKE2b-256 checksum
How to use checksums
78eced69f58e75197f2f0c806757c242d564ac894e99c3ae81322c9bbf65a5e8
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.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 799.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
9da52ff06c7de9351723fc3c17662f4070888613d20b6c0b3cc8195cd2e2eb28
BLAKE2b-256 checksum
How to use checksums
d89b5a181d8a7c52295a6c7f87a209cc198d54c78790829f3be691eea9b9c8ed
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.1-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.7.1-cp311-cp311-macosx_10_15_universal2.whl
Size 1.3 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ff147402f44738257b777435cbea6bb721397efc0158002eaa07548bb651d0ef
BLAKE2b-256 checksum
How to use checksums
160ee310b298d862a7b4db3c4d6ea7cb7818a5625256cd430bf669d31d967f83
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.1-cp310-cp310-win_amd64.whl

Download URL novasvg-0.7.1-cp310-cp310-win_amd64.whl
Size 693.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9bbe15def237ee9436056aad7eafee39dcd40ab8ee48b57f9076b1da8e95c232
BLAKE2b-256 checksum
How to use checksums
39c1e33336c52be80c55356b421ac7248018d3a6a47553c92d90496f105f28e8
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.1-cp310-cp310-win32.whl

Download URL novasvg-0.7.1-cp310-cp310-win32.whl
Size 611.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
9c3d1f79d2c9b3164d8137caf36c594f84e3d872bbc85fbf642074e014fd67fa
BLAKE2b-256 checksum
How to use checksums
8fe1d26fffe9114d422c9eb9487af01b10f7ee284407bdac2afe481263fb61ee
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.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.1-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
6a4629f5952e471dc85c570b13dc86007df79e68364c6a42f8ed849e736a72b2
BLAKE2b-256 checksum
How to use checksums
ce92ab71f7c183f70e741600db808023df4548168c2aeb25439c21d18723c753
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.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 799.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
b77ad8f237505470f070babe505efd72146b5ac4c0fb2f296fd5d6b9f834fc4a
BLAKE2b-256 checksum
How to use checksums
2d92faa6b36675c4a5ff1c51809b72171896258fedc94727abb4839e27ba9428
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.1-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.7.1-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
10112a51b19a5075aab50c0a0d40c2952048e667005f97cb5bca1ddd1286522b
BLAKE2b-256 checksum
How to use checksums
6cf4e928124e1d1d3540d8bd99c1a05dc5ac4982c0a1c58fc382ecda61cbff3c
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.1-cp39-cp39-win_amd64.whl

Download URL novasvg-0.7.1-cp39-cp39-win_amd64.whl
Size 671.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
cdb7ef3bb8b31801044e6b91f5cfd479415ceab0b4194a14877fd52982f17043
BLAKE2b-256 checksum
How to use checksums
bd08ccbe69268e6e95f3b6122b958b1335e5cec7b5f11bccfef16b5a5fdcbf02
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.1-cp39-cp39-win32.whl

Download URL novasvg-0.7.1-cp39-cp39-win32.whl
Size 591.1 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
df90272ec6d07c5c3bdc510b6764424cd4e6b18f7e866716499228a35ac2548f
BLAKE2b-256 checksum
How to use checksums
d4cb162c007b24a1f7bdf702940eb82930afd9d21f3c91441a175677bafd4331
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.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.7.1-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
697b8cce306031b33a3dbcb2a9d006c51c76ca7e4363876c8ab3825a4a66b930
BLAKE2b-256 checksum
How to use checksums
79fcb6daf81022fa2aed5a871b30deb08e19906edb95077c9eca794a03b0eeb7
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.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.7.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 792.2 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8b70345fb028411c9f9a85c5e64f7e56bb547f31f59b91ebb00e2d092045b748
BLAKE2b-256 checksum
How to use checksums
2b85b7bba637c19681e49652d11dc31426390bd001e53fddb54093568d6d8c35
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.1-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.7.1-cp39-cp39-macosx_10_15_universal2.whl
Size 1.3 MB
Tags CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
137d1c5c270949f598c53b8ed104a74ecbc225864d03e47fafea94c5f684a109
BLAKE2b-256 checksum
How to use checksums
8f97dbf374fd386e2583d5535f2610420667dc89b173e4c2b1733462c0f76b22
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

0.7.2

21 release files

This release

0.7.1 This release

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