Scour - An SVG Optimizer / Cleaner
Find a file
2023-01-31 11:02:40 +01:00
extension NonSci output option and InkScape extension added by Aleon 2023-01-31 11:02:40 +01:00
scour NonSci output option and InkScape extension added by Aleon 2023-01-31 11:02:40 +01:00
unittests scour: Fix another variant of the crash from #260 (#264) 2020-11-22 15:00:43 +01:00
.gitignore initial source import (v0.26) and packaging 2013-10-22 16:31:42 +02:00
.travis.yml CI: test with Python 3.9 stable 2020-11-22 15:21:13 +01:00
CONTRIBUTING.md Fix spelling (#284) 2021-08-30 19:17:00 +02:00
HISTORY.md Fix spelling (#284) 2021-08-30 19:17:00 +02:00
LICENSE initial source import (v0.26) and packaging 2013-10-22 16:31:42 +02:00
Makefile NonSci output option and InkScape extension added by Aleon 2023-01-31 11:02:40 +01:00
README.md NonSci output option and InkScape extension added by Aleon 2023-01-31 11:02:40 +01:00
scour.sublime-project initial source import (v0.26) and packaging 2013-10-22 16:31:42 +02:00
setup.py Fix spelling (#284) 2021-08-30 19:17:00 +02:00
test_css.py Rename testX.py to test_X.py to make py.test work out of the box (#181) 2020-05-17 19:55:24 +02:00
test_scour.py scour: Fix another variant of the crash from #260 (#264) 2020-11-22 15:00:43 +01:00
tox.ini CI: test with Python 3.9-dev and 3.10-dev 2020-09-02 19:43:58 +02:00

Scour

PyPI Build status Codecov


Scour is an SVG optimizer/cleaner written in Python that reduces the size of scalable vector graphics by optimizing structure and removing unnecessary data.

It can be used to create streamlined vector graphics suitable for web deployment, publishing/sharing or further processing.

The goal of Scour is to output a file that renders identically at a fraction of the size by removing a lot of redundant information created by most SVG editors. Optimization options are typically lossless but can be tweaked for more aggressive cleaning.

Scour is open-source and licensed under Apache License 2.0.

Scour was originally developed by Jeff "codedread" Schiller and Louis Simard in in 2010. The project moved to GitLab in 2013 an is now maintained by Tobias "oberstet" Oberstein and Patrick "Ede_123" Storz.

This fork was created by Alexander Olsson (alex@aleon.se) at Aleon Apps.

Installation

Scour requires Python 2.7 or 3.4+. Further, for installation, pip should be used.

To install this fork:

sudo make

Extension

Place the modified extension files in the Inkscape extension directory

sudo cp extension/* /usr/share/inkscape/extensions/

Usage

Standard:

scour -i input.svg -o output.svg

Better (for older versions of Internet Explorer):

scour -i input.svg -o output.svg --enable-viewboxing

Maximum scrubbing:

scour -i input.svg -o output.svg --enable-viewboxing --enable-id-stripping \
  --enable-comment-stripping --shorten-ids --indent=none

Maximum scrubbing and a compressed SVGZ file:

scour -i input.svg -o output.svgz --enable-viewboxing --enable-id-stripping \
  --enable-comment-stripping --shorten-ids --indent=none

Remove scientific notation from path data:

scour -i input.svg -o output.svgz --nonsci-output