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

  • Built-in family substitution (no OS library needed) – a font-family stack like "trebuchet ms", verdana, arial, sans-serif (what Mermaid.js itself emits) is walked name by name, like a browser does: a font installed or registered under that exact name, then a metric-compatible stand-in from novasvg's own table (arial → Liberation Sans / Arimo, times new roman → Liberation Serif / Tinos, courier new → Liberation Mono / Cousine, calibri → Carlito, cambria → Caladea, …, matched case-insensitively), then the generic keywords (sans-serif, …). A name with no metric-compatible stand-in (verdana) is skipped rather than guessed. Same result on every platform and no fontconfig or any other dependency; for best fidelity install a metric-compatible family such as fonts-liberation.
  • Built-in fallback font (works with no fonts installed) – a ~40 KB Latin subset of DejaVu Sans (kerning and fi/fl/ffi ligatures kept, so text lays out exactly like the full font) is compiled in and used only as the last resort, when a generic family (sans-serif, serif, …) finds nothing else on the machine. Fonts you install or register always win. Characters outside Latin-1 and common punctuation need a system or registered font. Disable with -DNOVASVG_EMBED_DEFAULT_FONT=OFF (CMake) or by defining NOVASVG_DISABLE_EMBEDDED_FONT; regenerate with python tools/gen_default_font.py. License: data/fonts/LICENSE-DejaVu.txt.
  • @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.8.0

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.8.0
File Size Uploaded
novasvg-0.8.0.tar.gz 7.5 MB Details

Built distributions (wheels)

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

Total release size: 33.9 MB

Release files / novasvg-0.8.0.tar.gz

Download URL novasvg-0.8.0.tar.gz
Size 7.5 MB
Tags Source
SHA-256 checksum
How to use checksums
abcc363ebd07c056f51d6cbc45211101060bc03e5e0a001aa823ea27c6531dc2
BLAKE2b-256 checksum
How to use checksums
27fed72bf2ebfeba6c597ee24b550bfa813dfc797507b30e50b833e2acc693c5
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.8.0-cp312-abi3-win_amd64.whl

Download URL novasvg-0.8.0-cp312-abi3-win_amd64.whl
Size 960.8 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
023ed010bc77ad16f40c05222bb496fc61501c30b689df547917e4f7f49601a0
BLAKE2b-256 checksum
How to use checksums
b0405faf06a6118eae1f8527c02215b78811ec60bdaa604caaeab7a8e8688ab6
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.8.0-cp312-abi3-win32.whl

Download URL novasvg-0.8.0-cp312-abi3-win32.whl
Size 869.7 kB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
bf75c9a5f66cd7a87c25d7cb03a124cd0fff5f2d58f67fb7e5112a420048af57
BLAKE2b-256 checksum
How to use checksums
25e32d95f16e6ecea228d04dab71bc946926ba092597483b29c76b1c85ef60a3
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.8.0-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL novasvg-0.8.0-cp312-abi3-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
c68c44fe3cf60b68bce2ae59b13a7fcc841a8386a912541c92099c32df22ef83
BLAKE2b-256 checksum
How to use checksums
c16f0531eecb62eb839eecbcab61377904e1411ce0a6a74053b1b437dc867ea7
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.8.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.8.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 901.1 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
39cd8599e5523c3bb3983ec442b857d895f3e894d8dcf60efa54f7d0a1b5443c
BLAKE2b-256 checksum
How to use checksums
2bc90dc74a02bf21c80a5dfffa17d68f8f21c3fba8ec20b7e924b24cd2f14359
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.8.0-cp312-abi3-macosx_10_15_universal2.whl

Download URL novasvg-0.8.0-cp312-abi3-macosx_10_15_universal2.whl
Size 1.5 MB
Tags CPython 3.12 abi3 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
92a7fbea9b4898d081ef537018aac1c5ba1ecffddab0a1d4bc90ecfe788a11a5
BLAKE2b-256 checksum
How to use checksums
6a6fae916ca9808299adf72cc27ac3842e9a17c9bfbe9a4540ea24b0131cd8cc
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.8.0-cp311-cp311-win_amd64.whl

Download URL novasvg-0.8.0-cp311-cp311-win_amd64.whl
Size 961.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
56f9e3c16d0e3b61fb9de0ae38ef9410f6bbb094d9b6b73755f7b500f3e43200
BLAKE2b-256 checksum
How to use checksums
90e292dc7beb2d0710dda79b33281c0286273e532880ae62dfbb27d6ea57dee7
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.8.0-cp311-cp311-win32.whl

Download URL novasvg-0.8.0-cp311-cp311-win32.whl
Size 871.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
647a612c4e1d24688ae0fd4d5dae2d38f939024c7303815e5f1a86ffaca1d0ec
BLAKE2b-256 checksum
How to use checksums
e43dc3201cb09ab67f227d684c831bf6e93e26131852d45dd284ea5b0d6a7664
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.8.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
98e1858fa50ee9a1743ce54d5edf136292314219bb862d72fb40747824bd76a6
BLAKE2b-256 checksum
How to use checksums
3f69c394eeed36580171a9b67a3bfa22141e274a63fa2ceceb9c2e2f1d6a5246
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.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 905.6 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3b82bbdbbbd52f87978ccb17e6f7c96b45b5b47a31d27bfe9d7bdeed7ab78c3e
BLAKE2b-256 checksum
How to use checksums
c1ccaa53d6900b2449ba07264cf93dcdb5cb4b7d38b76630cd8732760df3b062
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.8.0-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.8.0-cp311-cp311-macosx_10_15_universal2.whl
Size 1.5 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c44d73cde452d8c12a7dba2386dacb709b6166e8d535f703e9c95836d8b8a916
BLAKE2b-256 checksum
How to use checksums
217e28a38804eca6c68290980e6ab1e39ec6614f8616369ac0d810d7dbb38bed
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.8.0-cp310-cp310-win_amd64.whl

Download URL novasvg-0.8.0-cp310-cp310-win_amd64.whl
Size 961.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
aa5e7a373acf9690a483b38383b4a0b642813866a7ee6ea4c0eb13abafaa4270
BLAKE2b-256 checksum
How to use checksums
e348039e0dcf62c24983909a8261887d16d082bd5bbbc7c1a9202b135ec054c7
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.8.0-cp310-cp310-win32.whl

Download URL novasvg-0.8.0-cp310-cp310-win32.whl
Size 870.9 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
bc30b87e309a39aab2050bb6f8b4c59d1e6130dec56b4b0cf20d1eab2ea41483
BLAKE2b-256 checksum
How to use checksums
a6abb7bff5279342bbb619817c36ff1c0850c7b56e6c4be18126bf44d1f25d5f
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.8.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4fdbe03b957d2779b8aeb034d401890f31bc2537ccbb91cec41110eb240014f3
BLAKE2b-256 checksum
How to use checksums
e495bc8d7d0b5504ae8233d1317d4d880e58b8baf4b5dc5f82f241735c303c8b
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.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 905.9 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
62043da33117594b0c6450a90bc65371d1cb4f401e6f8640600b31e036be2e3f
BLAKE2b-256 checksum
How to use checksums
f45c952cd48e0fc4cc45a310cb6ad27cd30f2b08ced4e1f32fa8a0fc0023a59b
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.8.0-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.8.0-cp310-cp310-macosx_10_15_universal2.whl
Size 1.5 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
73292388e4c65c2a6562e6960a84d65d3d743f124b66cef368408eee158f1382
BLAKE2b-256 checksum
How to use checksums
d2cf4730766d021a9cdf4f7a23f8eab13ca16a2356f0719c2be26845db0e8935
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.8.0-cp39-cp39-win_amd64.whl

Download URL novasvg-0.8.0-cp39-cp39-win_amd64.whl
Size 939.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
723bed696089be91e8de846f1892649bfb06978f59340c6c148786ae1d1baa12
BLAKE2b-256 checksum
How to use checksums
777b149bb7319f1ec6e54f11b6e7ef9bb524e2777fc63b8d9569009b5f756b48
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.8.0-cp39-cp39-win32.whl

Download URL novasvg-0.8.0-cp39-cp39-win32.whl
Size 851.8 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
bce6a9a3e7c8c66964cc38edcdbf7331c56ab4adb25b4fdf508c7e4b8d350e87
BLAKE2b-256 checksum
How to use checksums
23a6b27746653b6742db1a8937f2a4f618c305f57affaa1d5025c325b2766161
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.8.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0a70b350f43f0c4195e8ab6d721c04807986ad4e54b3801610b3804dd16c4e5e
BLAKE2b-256 checksum
How to use checksums
2cae8e14a5e61371c0c07e15791b9b6e988b69b0a1ad9efecfed290f8dd86a08
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.8.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.8.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 898.6 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9e4b31d8f7d25d9e2ca4a42e9942f52308b7816aba20dae76b87459c83c5ded8
BLAKE2b-256 checksum
How to use checksums
f5f8eae845716b890172167d2d124323519bd889dbec02834f65104a5e1be8d5
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.8.0-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.8.0-cp39-cp39-macosx_10_15_universal2.whl
Size 1.5 MB
Tags CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f4f17a8e5c0d9d30eccfb5f5fae83716d4f41b9746605edf5e3142c368dd8a4e
BLAKE2b-256 checksum
How to use checksums
b8c6d4faf0da6187e13b25c8bd2fe5738f0e5c0ae60f3b1479f984eb2a1273e2
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.8.0 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