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

Release files for novasvg 0.6.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.6.0
File Size Uploaded
novasvg-0.6.0.tar.gz 3.7 MB Details

Built distributions (wheels)

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

Release files / novasvg-0.6.0.tar.gz

Download URL novasvg-0.6.0.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
78e2cfa8f68437202d206a58b7a5f7fe13636415f8cd37150086e1834cb244b5
BLAKE2b-256 checksum
How to use checksums
f0911ea2bedd92bbc6b08d225e2b8efe2e8ebe3cc6885b6b66c7c4a31e6e5e11
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.6.0-cp312-cp312-win_amd64.whl

Download URL novasvg-0.6.0-cp312-cp312-win_amd64.whl
Size 692.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
417eb47af9ed81a6a4216aa0a62fc453ddd559f0057e435e5379319c616572d7
BLAKE2b-256 checksum
How to use checksums
2b40390187ee94f4c809479726cabede3ebdf89722838f966a475b37aa83cf52
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.6.0-cp312-cp312-win32.whl

Download URL novasvg-0.6.0-cp312-cp312-win32.whl
Size 609.4 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
4b29b216526354a248df8c087a9f01593ff35a8b71cb0f3621264341a7cbdb19
BLAKE2b-256 checksum
How to use checksums
e909575c8f6d4d6e88fe6966e2e782a1d6d3b0def16d6f336f71819d9558d4b9
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.6.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL novasvg-0.6.0-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
8bbd926536a16c3b3d0b911cdb7f7f0af3f01e8686c054291a28fa02b37fbe73
BLAKE2b-256 checksum
How to use checksums
fbbe58e14542ea8bf99f0e8a4f4e7e5fde57b17d2ae9cca4453e7b742ba486ab
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.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 797.3 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
93b4302f9d7dd83d216047dc07931b1310cf18d71ea499ff1cbeb144ae98989f
BLAKE2b-256 checksum
How to use checksums
661bad83f0cf8bb99c52d005d9baf36c22d03f42035ec13b789b669e974492a0
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.6.0-cp312-cp312-macosx_10_15_universal2.whl

Download URL novasvg-0.6.0-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
a3b0f28610f3294b2ba86b85a3c95ae441a7d29f35929988b856bef39c6b0daa
BLAKE2b-256 checksum
How to use checksums
ddc7b7d872a4cc48cb23185f7bfcd60b9c9762a8a3ba9b926d17c823e2c13baa
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.6.0-cp311-cp311-win_amd64.whl

Download URL novasvg-0.6.0-cp311-cp311-win_amd64.whl
Size 692.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e49d2226abcb485a90ad295a5547393025eaff1227aa4e712cabac5c2a3c6375
BLAKE2b-256 checksum
How to use checksums
37377b71576ec2d669ed4f79f445dfef84130123e8503b4eb0b10517c91267e7
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.6.0-cp311-cp311-win32.whl

Download URL novasvg-0.6.0-cp311-cp311-win32.whl
Size 609.7 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
8f3ddc9c41249cb468fff1257d5cb5134b71f650732b0231d60d605b565f5f24
BLAKE2b-256 checksum
How to use checksums
e324b591e9ba87deb5e9b3354fab5dbecc6843e04a7cbfe3510b760df45dd6a8
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.6.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.6.0-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
4493f27d06a5218d2c3be1f2f6253c2a9900c17cec9b0c0a7514e3b8b2880fc8
BLAKE2b-256 checksum
How to use checksums
9d487a0c88f47a3ad9e8a92887d324a38fb034acd065fee769924a17491ae504
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.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 797.5 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
302359f68d6cca541f5e0d9b05e8ccc0342bce4919e5ec418d9b8c0dbf6820c0
BLAKE2b-256 checksum
How to use checksums
1258ce8e89f8ca5ef4587266e15ade82e3488ef00718ecd40f4e7b100c9c0c73
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.6.0-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.6.0-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
fad11944d6b0ab7f656b179340aa8afabcb8a8eb9c04403626f82f4f4700ff45
BLAKE2b-256 checksum
How to use checksums
6e4a6b44a7021b0ce2871be609ec97c7aefe3290d923fc3f5f517b143cb5024a
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.6.0-cp310-cp310-win_amd64.whl

Download URL novasvg-0.6.0-cp310-cp310-win_amd64.whl
Size 691.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
af1808e69a7f8dbe341cf623cb2a82e3dd1f06d4dffa7723951bc5982068a5b5
BLAKE2b-256 checksum
How to use checksums
aaa54e16b9d7c51861a61570a5cb7b53a45d1ab3a5ea15f4ddba054db06631a7
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.6.0-cp310-cp310-win32.whl

Download URL novasvg-0.6.0-cp310-cp310-win32.whl
Size 609.6 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
d83b10a352536d6add2c1a396c9b4b89689e6a5bfe488171b392ab7837539346
BLAKE2b-256 checksum
How to use checksums
ad014bd58d2d9fcd5acfdcca3ea557665c61e8359e5308ef906c44e34c242318
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.6.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.6.0-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
d3b19910486db908e53a264bf54fa3da0c54ca6c145702a3dab69f299467f44c
BLAKE2b-256 checksum
How to use checksums
7f349fedad787bb535c1797734e22c6fd9e22bd4f462f0ab6c355809a625a0d4
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.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 797.8 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bd57ad8c14ef99a3e7803b690383d3dae4ece947e1810b1569e6017bc3e1e66e
BLAKE2b-256 checksum
How to use checksums
ee3e11ab7f8b297ff60f97cf1d4ebe546c95e1c9f4f993305eb6ac809a44a7f9
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.6.0-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.6.0-cp310-cp310-macosx_10_15_universal2.whl
Size 1.3 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
15791e8e4b9321019cd3565d224f6cbbba816f4d3285edc0ae39b81f98445609
BLAKE2b-256 checksum
How to use checksums
687dcd78ef840b0947faf932df942768e2768b06b73b9e2c40edd329a0e7dfca
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.6.0-cp39-cp39-win_amd64.whl

Download URL novasvg-0.6.0-cp39-cp39-win_amd64.whl
Size 669.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
7ebe794705a60dd49c42d80dbf10a12064127a9eaee0deae5c737af2ff73175b
BLAKE2b-256 checksum
How to use checksums
7de3c0ecf07713a96644cd73544f153c9e01fc95f919f27777011777de59a5d8
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.6.0-cp39-cp39-win32.whl

Download URL novasvg-0.6.0-cp39-cp39-win32.whl
Size 589.6 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
c187336c4df6eed8f84638e33dbe0fcc77078daf355aefdd84e87b592e72830e
BLAKE2b-256 checksum
How to use checksums
98d143cde941e8afa55ad040c46a29d62420bf1ac4cbb3d427c95dfa3932a981
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.6.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.6.0-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
f3a9a090da1e08b2fb779ff684610032a00fd030d0acd17b8c53159e333f766c
BLAKE2b-256 checksum
How to use checksums
a29426a1722bd917c8885aebca78b526d72675f0e79881e600b4f89af02bedd1
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.6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 790.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
fb11de23d4af108cd0dadbe4b895b7f5d0223ad8beb3e68e85383f36ea8016c4
BLAKE2b-256 checksum
How to use checksums
223b7448762cc370b1aab1f3e207a8395e982cdce8de1f3d3b727577e09fd0bf
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.6.0-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.6.0-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
46968f3ff5025d494835f152b5b9aeafd8e8f7b190e3584bf6ecfde2d6ee2b9e
BLAKE2b-256 checksum
How to use checksums
20ce5ae8a9b439e0db17b78e72ee570e83a9cb0e030f5abbcb6a3b4b0f1c6a2a
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

This release

0.6.0 This release

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