Provide a convenient API for python extensions

Registered by Filip Dominec on 2012-08-28

It would be very useful to provide an API (a python module?) for the extensions so that the rich vector editing features of inkscape can be called from within an python extension. The contemporary workaround comprises launching a new inkscape instance to process the file (see http://www.janthor.com/sketches/index.php?/archives/5-Inkscape-calling-Inkscape.html), which is both ineffective and frustrating for the programmer. If Inkscape provides its built-in functions to the script, it would become probably the most feature-rich library for vector image manipulation.

Blueprint information

Status:
Not started
Approver:
None
Priority:
High
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Note: This topic is requested time to time on different places on the web (e. g. http://inkscape-forum.andreas-s.net/topic/76316) and there is a proposal on the Inkscape wiki (http://wiki.inkscape.org/wiki/index.php/ImprovingPythonEffectsAPI, slightly outdated)

[2012-09-01 ~suv] The current script-based extension system in stable versions cannot access internal Inkscape functions due to its design.

Note: The next major version (0.49) will include a new dbus-based scripting API (based on a GSoC project from 2009) which does have access to Inkscape's internal functions:
<http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head:/src/extension/dbus/>

An example use case of the new API (available in development builds, if enabled via configure):
<https://github.com/jave/inkmacs>

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.