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.9.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.9.0
File Size Uploaded
novasvg-0.9.0.tar.gz 7.9 MB Details

Built distributions (wheels)

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

Release files / novasvg-0.9.0.tar.gz

Download URL novasvg-0.9.0.tar.gz
Size 7.9 MB
Tags Source
SHA-256 checksum
How to use checksums
4e23ef61cca97903e1aa9432c731f87b5446cd05a2b1dbe90479921686084e89
BLAKE2b-256 checksum
How to use checksums
fcce9644827eedf6e536413726c0c1252f74697e5ff8b05a00714d0ac56851aa
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.9.0-cp312-abi3-win_amd64.whl

Download URL novasvg-0.9.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
31c86f47c877809f4c208170b1aa14ece543ffa70bd67967b907b71e7458e67f
BLAKE2b-256 checksum
How to use checksums
c998b42498c738314bebfe5c434ef4c5c3285700b030e1b0b16f95301ddc8311
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.9.0-cp312-abi3-win32.whl

Download URL novasvg-0.9.0-cp312-abi3-win32.whl
Size 869.7 kB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
b198e6f169dc88da0ddfe2152c390ad8234f282e75ad60b95e68f87c2b8830d6
BLAKE2b-256 checksum
How to use checksums
9c55f61f83cba809c4354aed61eaff58087c1348bc47f7b33f929501540ae911
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.9.0-cp312-abi3-musllinux_1_2_x86_64.whl

Download URL novasvg-0.9.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
86383f0d511877dbeb45fd1177a25b52b456ec81b2f0cdcfa30093e5a658c57b
BLAKE2b-256 checksum
How to use checksums
6a1ba585b2cf0ba4e20033edae9e14e2b02077a715453ce18ef360f452e909a2
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.9.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.9.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
29544809d6f76b6b39622c63033ff64db6230830861d959a7fae0f83048f12b8
BLAKE2b-256 checksum
How to use checksums
1df9eafa775cf2be9f6ea7252b4a12cf8eabffe92a4a8f16b6a9fc1382bf2e37
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.9.0-cp312-abi3-macosx_10_15_universal2.whl

Download URL novasvg-0.9.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
6681507b4e87230d4853388e0da2b4b522cd33db95cda35359348c9bf9a3735d
BLAKE2b-256 checksum
How to use checksums
f530431e515d0014f9017c9b4093cce4cf4efe0862eb5d613f2c532d2fef1e5b
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.9.0-cp311-cp311-win_amd64.whl

Download URL novasvg-0.9.0-cp311-cp311-win_amd64.whl
Size 961.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
17ec764ec20446062e91b0259c6589fee23acee1ed86869c1d37172914109618
BLAKE2b-256 checksum
How to use checksums
80a204d7b9ed42a74b02cbe7556d65b6b821896dc0d33e29547e8710a4ffc8c3
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.9.0-cp311-cp311-win32.whl

Download URL novasvg-0.9.0-cp311-cp311-win32.whl
Size 871.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
3597c4f208c3faecbe6b132a5408fc3a7ac0fa8eb79a6523028369617a5b7518
BLAKE2b-256 checksum
How to use checksums
8a5dffd4caa8b3dad5c5dffcb4a0c812f524f4a330fabcc48070d52d660b8793
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.9.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL novasvg-0.9.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
96eb05877204e423a5c5003d94753a03a510a35c98e4b7c06226fbf5ef417b9a
BLAKE2b-256 checksum
How to use checksums
34f3c6143d084b404e6aee947bd1874c7bb53de137b9f27af7997f6c50a0a066
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.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.9.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
ca3bb5f5aac20420bbf0c4c43d7aded9038a9b1b09ed92bf44b4877d3b8c1435
BLAKE2b-256 checksum
How to use checksums
07288b690353855b38c0e748d93283779b2d825c12eac4dfe1d55c954ff76e13
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.9.0-cp311-cp311-macosx_10_15_universal2.whl

Download URL novasvg-0.9.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
a0dc3861010ea47f84961b36d156be38afaedeb8744f08384659c594ee7a0ea6
BLAKE2b-256 checksum
How to use checksums
a4600c7f98e54a0e37143b79f72093914df761be37e22be4c78a5b0f9df185c2
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.9.0-cp310-cp310-win_amd64.whl

Download URL novasvg-0.9.0-cp310-cp310-win_amd64.whl
Size 961.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
25438f39cdbf87843aa31ece748378cb395c9ecc498fc00e365d3459fde982a3
BLAKE2b-256 checksum
How to use checksums
2670a74b09b924e957708c3be787545ce72949b52bd28bdebc6f39f29961b6df
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.9.0-cp310-cp310-win32.whl

Download URL novasvg-0.9.0-cp310-cp310-win32.whl
Size 870.9 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
1d46dd2d74d053962ae1a10d46fe262cf288e19a2b16be437cdc8105924518e6
BLAKE2b-256 checksum
How to use checksums
714f41fd5cf250594a38474d0bd2c6ba29364c4d25bdaa3171c6d133a4bac135
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.9.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL novasvg-0.9.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
678234c378234190e36ef4d9c1a1c42b1db4d97442f2df0627f660882c4d55b9
BLAKE2b-256 checksum
How to use checksums
91fee6de58295e72ebc462daea38ae63532a0d84d09b9f476868339844a0e2c3
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.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.9.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
0b90882ac630486c31405523d65e6aea33744282779ea0fcc90307ce0d89b650
BLAKE2b-256 checksum
How to use checksums
a3732fedc01bfbb279d363af60231e5ffc1a9d3d3a486c8e8244cbb54cccc825
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.9.0-cp310-cp310-macosx_10_15_universal2.whl

Download URL novasvg-0.9.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
67f203b203e05c2404d372bbfeda9faa2adb038c032e5f937f35797751566006
BLAKE2b-256 checksum
How to use checksums
ce424732ab25362412a0dc443d2f4cccdff20fb9b4787bec89c70df185c4bd2b
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.9.0-cp39-cp39-win_amd64.whl

Download URL novasvg-0.9.0-cp39-cp39-win_amd64.whl
Size 939.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
23b583384dadac5f05174aefc517679dbd3a4ab127c2d4b7a56e6649de4a98ed
BLAKE2b-256 checksum
How to use checksums
35f69f3b43828e2681da3298c95480bb8158fbc2a07f68b896dddf6cc0493189
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.9.0-cp39-cp39-win32.whl

Download URL novasvg-0.9.0-cp39-cp39-win32.whl
Size 851.8 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
5ced922b87c7f8215f440f32050681d4c48300d20aa0eea23839988bcd69038f
BLAKE2b-256 checksum
How to use checksums
efd47ba61493688b8b989415262f5b990d1080c968e66b661cf91043a5349ab2
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.9.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL novasvg-0.9.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
89c36cd93ee1f6e3cf98db5894119cc92e30321b2c76da91ee95cc0b566294fc
BLAKE2b-256 checksum
How to use checksums
323c626e6c8b0918da1759228579ef6ce71554dd76d700cc694b4f91b9e3796d
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.9.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL novasvg-0.9.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
e252ca9a6c360ba65ef0a3274e50f7e54be9ad516c6545cb468664fea38b5484
BLAKE2b-256 checksum
How to use checksums
245f6ea57eee7109e0a51cf7f7957842326836a18b214a10e1d4a72bec95290d
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.9.0-cp39-cp39-macosx_10_15_universal2.whl

Download URL novasvg-0.9.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
9c19812cb1eacfbd10687f9d7e1764cc53b848441c96aef2b8360b13e89751e1
BLAKE2b-256 checksum
How to use checksums
c053009553367e43cc3afb52f6dccc28804f97796f96ef5f9c02874b383fefa3
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.9.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