NovaSVG
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 thefeDropShadowshorthand, with realin/in2/resultchaining (SourceGraphic/SourceAlphaincluded) — chain primitives together to build custom effects, not just apply one at a time - CSS
transform:property – both the SVGtransform=attribute and the CSStransform:property (set viastyle=/a stylesheet class, includingdeg/rad/grad/turnunits) 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, CSScolor/background-colorfrom the HTML's ownstyle=/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 — seeCOMPARISON.mdfor a from-scratch, empirical comparison. Full HTML/CSS layout (nested block layout, inline flow) is out of scope; seechecklist.md.
Font matching
- Built-in family substitution (no OS library needed) – a
font-familystack 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 asfonts-liberation. - Built-in fallback font (works with no fonts installed) – a ~40 KB Latin
subset of DejaVu Sans (kerning and
fi/fl/ffiligatures 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 definingNOVASVG_DISABLE_EMBEDDED_FONT; regenerate withpython 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 afont-familyand 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 documentsrenderToBitmap()– Render to bitmap with optional dimensionsquerySelectorAll()– Find elements using CSS selectorsapplyStyleSheet()– Apply CSS styleswidth()/height()– Get document dimensionsboundingBox()– Get document bounding box
Bitmap
writeToPng()– Save as PNG file or streamdata()– Access raw pixel data (ARGB32 Premultiplied)width()/height()/stride()– Get bitmap propertiesconvertToRGBA()– Convert to RGBA format
Element
hasAttribute()/getAttribute()/setAttribute()– Manage element attributesrender()– Render element to bitmapgetLocalBoundingBox()/getGlobalBoundingBox()– Get element boundsgetLocalMatrix()/getGlobalMatrix()– Get transformation matrices
Matrix
translate()/scale()/rotate()/shear()– Transformation operationsinverse()– 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 PNGsexamples/cpp/sample02_query_svg_size.cpp– Query document properties
🎯 Use Cases
- Graphics Applications – Embed SVG rendering in C++ applications
- Web Development – Server-side SVG processing and optimization
- Game Development – Load vector graphics for UI elements
- Desktop Applications – Display vector graphics in GUI applications
- 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.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- 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
- GitHub Issues: https://github.com/MohammadRaziei/novasvg/issues
- Documentation: https://mohammadraziei.github.io/novasvg
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)
| File | Size | Uploaded | |
|---|---|---|---|
| novasvg-0.8.0.tar.gz | 7.5 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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
|