X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Wed, 7 Aug 2013 15:20:34 +0200 (CEST) From: Roland Lutz To: geda-user AT delorie DOT com Subject: Re: [geda-user] libgeda Python bindings? In-Reply-To: <51DED0D4.2020705@sonic.net> Message-ID: References: <51DCEE37 DOT 9040303 AT sonic DOT net> <51DD9F48 DOT 90908 AT sonic DOT net> <51DED0D4 DOT 2020705 AT sonic DOT net> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk A short update for the Python bindings/translation: I tried both ways (creating a Python wrapper using swig, and translating the relevant parts of libgeda to Python) and found it to be much more difficult than expected. The main problems I experienced are: 1. The gschem GUI code is not cleanly separated from the libgeda code; in fact, about half of libgeda is dealing with GUI issues. 2. There is some semi-working (e.g., no arcs) support for SVG paths which has been implemented by copying and adapting parts of rsvg. 3. The bounding box of text objects can only be determined using the Cairo renderer. (This is the main reason why libgeda has to know about TOPLEVEL contexts.) Extracting this functionality from the renderer is not practical. 4. .sch/.sym files can only be parsed correctly after executing the configuration files. (I consider this a major anti-feature.) I'm still working an the Python issue, but with somewhat less priority. Maybe I'm going to remove these features at the price of compatibility; I'm not sure yet. Roland