Write SVG files with Python.
Project description
svg_writer
The most straightforward way to create SVG files with Python.
Three functions only:
from svg_writer import new_svg_root, write_svg, write_png_from_svg
new_svg_root
x: float,
y: float,
width: float,
height: float,
pad: float = 0
-> etree.Element
Create an svg root element from viewBox style arguments and provide the necessary svg-specific attributes. This is your window onto the scene. The arguments are the same you'd use to create a rect
element (plus pad
):
x
: x value in upper-left cornery
: y value in upper-left cornerwidth
: width of viewBoxheight
: height of viewBoxpad
: The one small convenience I've provided. Optionally increase viewBox bypad
in all directions.
write_svg
filename: str,
xml: etree.Element,
stylesheet: Optional[str] = None,
do_link_css: bool = True,
-> None:
Write an xml element as an svg file. This will link or inline your css code and insert the necessary declaration, doctype, and processing instructions.
filename
: path to output file (include extension .svg)param xml
: root node of your svg geometry (created bynew_svg_root
)stylesheet
: optional path to a css stylesheetdo_link_css
: link to stylesheet, else write contents of stylesheet into svg (ignored ifstylesheet
is None)
write_png_from_svg
inkscape_exe: PathType,
svg: str
-> Path
Convert an svg file to a png. Python does not have a library for this. That has an upside, as any library would be one more set of svg implementation idiosyncrasies we'd have to deal with. Inkscape will convert the file. This function provides the necessary command-line arguments.
inkscape_exe
: path to inkscape.exesvg
: path to svg filereturn
: png filename
Project details
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
File details
Details for the file svg_writer-0.5.tar.gz
.
File metadata
- Download URL: svg_writer-0.5.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e1b10254a50950fb03abcd985e49009c5e2bbd1a291028b456fd13309ab9cdf |
|
MD5 | fb2f2cea2178c30b1f9a0b0daca311df |
|
BLAKE2b-256 | 88eed9e85bb84e6a2838c47b4e9e1ad54c5fc1607feba67f1a134d32b62c0ce6 |
File details
Details for the file svg_writer-0.5-py3-none-any.whl
.
File metadata
- Download URL: svg_writer-0.5-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c17d4886f0be10673c8ff1fa6fc16c39c36b7f74d30098d45212f423073d8f5 |
|
MD5 | bc3070348ba7d164550081dbad4ad2b3 |
|
BLAKE2b-256 | e09296d2dfbab9be500d4ce6de7d6d79f6ba077a65f788d6569b4ffc0e7d8e61 |