Skip to main content

A Python library to create SVG drawings.

Project description

svgwrite

Read The Docs

Abstract

A Python library to create SVG drawings.

a simple example:

import svgwrite

dwg = svgwrite.Drawing('test.svg', profile='tiny')
dwg.add(dwg.line((0, 0), (10, 0), stroke=svgwrite.rgb(10, 10, 16, '%')))
dwg.add(dwg.text('Test', insert=(0, 0.2), fill='red'))
dwg.save()

for more examples see: examples.py

Installation

with pip:

pip install svgwrite

or from source:

python setup.py install

Documentation

http://readthedocs.org/docs/svgwrite/

send feedback to mozman@gmx.at

svgwrite can be found on GitHub.com at:

http://github.com/mozman/svgwrite.git

Contact

svgwrite@mozman.at

NEWS

Version 1.2.0 - 2018-10-27

  • NEW: Inkscape extension - support for Inkscape layers

  • BUGFIX: compatibility with Python 3.7 by fixing re.split() usage

Version 1.1.12 - 2017-12-27

  • BUGFIX: values attribute for element animate, accepts any semicolon separated values

Version 1.1.11 - 2017-05-31

  • CHANGED: e.set_markers((sm, mm, em)), accepts None/False values to set markers individually, like just set end marker: s.set_markers((None, False, em))

  • BUGFIX: text-decoration attribute accepts multiple values like ‘underline overline’

Version 1.1.10 - 2017-01-28

  • NEW: added pretty argument to Drawing.write, Drawing.save and Drawing.saveas to produce easy to read XML output, svgwrite reparses the output string with minidom, this reduces the performance because this process requires memory and runtime, default value for pretty is False.

Moved repository to GitHub.com: http://github.com/mozman/svgwrite.git

Version 1.1.9 - 2016-10-26

  • NEW: added solidColor paint server (only valid in the Tiny 1.2 profile)

Version 1.1.8 - 2016-05-31

  • BUGFIX: None checks: ‘if value:’ -> ‘if value is not None:’

Version 1.1.7 - 2016-05-22

  • BUGFIX: color accepts percentage values as floats like “rgb(10.2%, 3.78%, 20%)”

Version 1.1.6 - 2014-05-30

  • BUGFIX: sign for offset-value wasn’t optional

Version 1.1.5 - 2014-03-26

  • BUGFIX: xml serialization for CPython 3.4.0

Version 1.1.4 - 2014-03-16

  • simplified path parser

  • pyparsing as external dependency (by jenselme)

Version 1.1.3 - 2013-10-01

  • updated pyparsing for Python 3 to version 2.0.1 (prior version caused memory leaks)

  • BUGFIX: utf8 to unicode encoding error for Python 2.7

  • Tests for Python 3 require CPython3.3 or newer, using the ‘u’ prefix.

Version 1.1.2 - 2013-01-08

  • prevent setup.py from compiling all modules - error with ‘pyparsing_py2.py’ and Python3

  • BUGFIX: all tests run with CPython3.3

Version 1.1.1 - 2012-08-15

  • License changed to MIT License

  • tested with CPython2.7, CPython3.2, CPython3.3 and pypy-1.9 on Win7 Pro 32-bit

  • BUGFIX: dwg.animateTranform() -> dwg.animateTransform()

  • BUGFIX: in examples, replaced width and height params by size parameter

  • added examples

  • edit docs

Version 1.0.1 - 2012-06-08

  • added inline stylesheets

  • added examples created by Lawrence Tattrie

Version 1.0.0 - 2012-05-27

Version 0.2.4 - 2011-12-30

  • beta version

  • Python 2.7: all strings will be converted by the unicode() function, for strings containing none-ascii-characters use prefix u"" or better use from __future__ import unicode_literals, because this is Python 3 compatible.

  • tested with CPython 2.7, CPython 3.2, and PyPy 1.7

  • BUGFIX: color parsing accepts white spaces in rgb() like rgb(0, 0, 0)

Version 0.2.3 - 2010-11-13

  • beta version

  • Python 3.1 support

  • splitted examples.py into several files and moved them to the subdir ‘examples’

Version 0.2.2 - 2010-11-05

  • alpha version

  • removed ‘attribs’ parameter from all constructors

  • new elements: Set, Animate, AnimateMotion, AnimateColor, AnimateTransform, all filter elements

  • added set_desc(title, desc), set_metadata(xmldata) to BaseElement class

  • moved content of interfaces.py to mixins.py, (ITransform -> Transform and so on)

Version 0.2.1 - 2010-10-31

  • alpha version

  • new elements: Marker, ClipPath, Mask

  • paint service: LinearGradient, RadialGradient, Pattern

Version 0.2.0 - 2010-10-24

  • alpha version

  • validator rewritten as validator2.py

  • debug and profile options separated for each drawing object

  • important change: create objects with factory functions of the Drawing class: drawing.<svg-elementname>(…)

  • added mixins for setting stroke and fill properties

  • new elements: Hyperlink, Image, TextArea,

Version 0.1.0 - 2010-09-26

  • alpha version

  • new elements:

    • basic shapes: Line, Rect, Circle, Ellipse, Polyline, Polygon, Path

    • text elements: Text, TSpan, TRef, TextPath

    • container elements: Group, Symbol, SVG, Use, Defs

  • for examples see: examples.py

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

svgwrite-1.2.0.zip (176.5 kB view details)

Uploaded Source

Built Distribution

svgwrite-1.2.0-py2.py3-none-any.whl (66.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file svgwrite-1.2.0.zip.

File metadata

  • Download URL: svgwrite-1.2.0.zip
  • Upload date:
  • Size: 176.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for svgwrite-1.2.0.zip
Algorithm Hash digest
SHA256 d72c04031f621a71e08d6360eb31a86193f9df321b72f895d83936b11b3ded56
MD5 293c7a08f351afe8f4820655dca9a31b
BLAKE2b-256 288d2f76c90478ccd6d7cbadb40c7041ecbd14c3975b5e0a99699dbc36a25ff0

See more details on using hashes here.

File details

Details for the file svgwrite-1.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: svgwrite-1.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for svgwrite-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 19954fba837bec30d532f2c316324a367d5936f022f4bc5adf309ec1ecdff521
MD5 1701e2c8d24c38242a8ead34f9cf683b
BLAKE2b-256 8335df2ecc1afe36d25c86db81e43bd96320a0174aed490e9641bf260f69deb5

See more details on using hashes here.

Supported by

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