Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2002-10-02 21:06:12
Size: 940
Editor: MikeRovner
Comment:
Revision 5 as of 2003-07-15 04:51:43
Size: 2544
Editor: dsl092-192-166
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= sip =

Sip is a tool for quickly writing Python modules that interface with C++ libraries. It's home page is at [http://riverbankcomputing.co.uk/sip/]. It was written by Phil Thompson who is still actively maintaining it.

There isn't much information on the 'net about sip -- see below for some hints on where you can find documentation. Your best bet is to read PyQt and PyKDE and ask Phil Thompson and Jim Bublitz for help.

Sip is used principally to support PyQt and ["PyKDE"]. Without it, it would be near impossible to manage the vast APIs these libraries provide.

Sip can be used to interface with C libraries. A simple wrapper written in C++ is usually necessary, although sip may become more C-friendly in the future. A proof of concept can be found with Jonathan Gardner's ["sipPQ"], a python module that interfaces directly with libpq, which is the C library used to interface with PostgreSQL. You can find this at [http://sourceforge.net/project/showfiles.php?group_id=61057].

----
== More Details ==

Sip is really the combination of three components.

 1. A scripting language that roughly resembles C++ that describes how the Python library will interface with the C++ library.
 1. A tool to convert the script into C++ code and Python modules, to be compiled into shared libraries.
 1. A library to support the resulting libraries.

----
Line 15: Line 35:
== ViM Syntax Script ==

Jonathan Gardner has written an incomplete sip syntax script. You can use it when you are writing a sip script with the ViM editor.

[http://vim.sourceforge.net/scripts/script.php?script_id=659]

sip

Sip is a tool for quickly writing Python modules that interface with C++ libraries. It's home page is at [http://riverbankcomputing.co.uk/sip/]. It was written by Phil Thompson who is still actively maintaining it.

There isn't much information on the 'net about sip -- see below for some hints on where you can find documentation. Your best bet is to read PyQt and PyKDE and ask Phil Thompson and Jim Bublitz for help.

Sip is used principally to support PyQt and ["PyKDE"]. Without it, it would be near impossible to manage the vast APIs these libraries provide.

Sip can be used to interface with C libraries. A simple wrapper written in C++ is usually necessary, although sip may become more C-friendly in the future. A proof of concept can be found with Jonathan Gardner's ["sipPQ"], a python module that interfaces directly with libpq, which is the C library used to interface with PostgreSQL. You can find this at [http://sourceforge.net/project/showfiles.php?group_id=61057].


More Details

Sip is really the combination of three components.

  1. A scripting language that roughly resembles C++ that describes how the Python library will interface with the C++ library.
  2. A tool to convert the script into C++ code and Python modules, to be compiled into shared libraries.
  3. A library to support the resulting libraries.


Excerpt from [http://pegasus.rutgers.edu/~elflord/unix/siptute/ Programming With Sip]:

Introduction

This is by no means an authoritative discussion about SIP. Rather, it is a chronicle of the adventures and misadventures of a bumbling newbie trying to learn to use a great tool with little documentation. Some references that are essential in conjunction to this include:

  • PyQt: an implementation of Python bindings for Qt. Reading the Sip files for these classes is instructive.

  • [http://www.controlvideo.de/sip/ Sip documentation]. This is by no means complete, but it is currently the best available

A Note About Versions

sip has changed from version to version. I'm using python 2.2 and sip 3.0pre7. Depending on the verion you're using, sip will behave a little differently. The most notable addition to the new version of sip is support for classes that are wrapped inside namespaces.


ViM Syntax Script

Jonathan Gardner has written an incomplete sip syntax script. You can use it when you are writing a sip script with the ViM editor.

[http://vim.sourceforge.net/scripts/script.php?script_id=659]

SIP (last edited 2012-02-21 17:38:01 by S010600116e00f89a)

Unable to edit the page? See the FrontPage for instructions.