picosvg
Tool to simplify SVGs. Converts an input svg into a "pico" svg:
- Exactly 1
<defs>element, first child of root - Only gradients defined under
<defs> - After the initial
<defs>, only<g>and<path><g>is eliminated when possible, but may be retained for opacity
- Only absolute coordinates
- Only commands that specify full coordinates, no shorthand (H, S, etc)
Clip paths and strokes are rendered into equivalent paths using Skia via skia-pathops, <use> references are materialized, etc.
Some SVG features are not supported, of particular note:
<filter><mask>
Usage:
pip install -e .
picosvg mysvg.svg
Requires Python 3.10 or greater.
Test
Install the dev dependencies specified in extras_require.
pip install -e .[dev]
pytest
If you use zsh, it will prompt an error(zsh: no matches found: .[dev]). Please use the following command:
pip install -e '.[dev]'
You can also use pytest to test the specified files individually.
pytest tests/svg_test.py
If you need to test a certain function (for example: test_topicosvg), please execute:
pytest tests/svg_test.py::test_topicosvg
If you need to display detailed diff information, please execute:
pytest tests/svg_test.py::test_topicosvg --vv
Releasing
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file picosvg-0.23.0.tar.gz.
File metadata
- Download URL: picosvg-0.23.0.tar.gz
- Upload date:
- Size: 120.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3616d5eb3ee810e74a931ffa68e2c36cd06a2eef24400a97dc07c0e6cc5eb4c
|
|
| MD5 |
1b79d11396ddc30349a8fd6eacabbfc2
|
|
| BLAKE2b-256 |
3bd22e69443424c880f433cd37c841e2db37ecd41cb5de73844a363b7a146d26
|
File details
Details for the file picosvg-0.23.0-py3-none-any.whl.
File metadata
- Download URL: picosvg-0.23.0-py3-none-any.whl
- Upload date:
- Size: 52.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f18d9b0f69bccd7773bc1de6932f505dc71dc16fb439b4d844716d8f57450b3c
|
|
| MD5 |
caded94dbbefd8ea8e9c61bf5228e41b
|
|
| BLAKE2b-256 |
4896fe3de3f0d5513636cb7bbfd0a693a6bc582ca0c2aeec03250e44a5aa144e
|