Skip to main content

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 corner
  • y: y value in upper-left corner
  • width: width of viewBox
  • height: height of viewBox
  • pad: The one small convenience I've provided. Optionally increase viewBox by pad 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 by new_svg_root)
  • stylesheet: optional path to a css stylesheet
  • do_link_css: link to stylesheet, else write contents of stylesheet into svg (ignored if stylesheet 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.exe
  • svg: path to svg file
  • return: png filename

Full Documentation and Tutorial

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

svg_writer-0.4.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

svg_writer-0.4-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file svg_writer-0.4.tar.gz.

File metadata

  • Download URL: svg_writer-0.4.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

Hashes for svg_writer-0.4.tar.gz
Algorithm Hash digest
SHA256 9202bda5e80079486f05eab3ef99527ae061199df16f023eb68ea7ef0147c32d
MD5 6db7776d6bb5d0a8f8908e48ce8f7f41
BLAKE2b-256 100b63bfec9ad4d261a76011f1672b6f35b1bcbc86c648c11f0f1c44932ffd7a

See more details on using hashes here.

File details

Details for the file svg_writer-0.4-py3-none-any.whl.

File metadata

  • Download URL: svg_writer-0.4-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

Hashes for svg_writer-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3b87b54f2748a1079bd50ee788c9924a8c18aedf29f637e5a336cdb5ee6cabc8
MD5 84356bf6979e5b5d0a04cd10fde8f3c1
BLAKE2b-256 30cea20b27b05e9314e1de08141b457d823ccef37a9053f4f27b0f8d63ba9883

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page