Jppy
Description
Jppy was jpilot-python. It is a C/Python layer on top of jpilot and pilot-link. This allows access via Python (and a new API, that is hopefully to edge towards being a standard API for accessing Palm data from Unix software) to palm data. You can either go in and talk line protocol to the palm, or be as high as to ignore all issues about syncing and let jpilot's backend worry about it.
This lets high level applications be written pretty quick and easily, to either make a new PIM (see below), or just import/export data with quick one-off-scripts.
Parts
jppy python module
This provides a Python API to Palm data via reading and writing jpilot's database. You can then use jpilot-sync (or jpilot itself) to syncronise changes to the Palm.
jppy GUI
There is a GTK2/glade GUI written on top of the jppy python module. This lets you manage your data, including Contacts data like photographs and birthdays.
jpilot plugins
J-Pilot doesn't synchronise Contacts by default, so there is a plugin to ask it to do this. There is also a plugin for synchronising PTimLog records, and another for running arbitrary python scripts at sync time and inside the jpilot GUI (for example, a jppy script.)
Download
Jppy has been available for Debian since Debian lenny.
If you want the pristine source, please download the latest tarball from a Debian mirror, e.g. the one for the UK, Germany, USA, or Japan. The file will be named jppy_<version>.orig.tar.gz.
News
(Don't let the recent lack of updates to this page make you think less is being done, we're up to 0.0.45 now!)
Tuesday, 31 October 2006
0.0.34 adds a filter language:
allowing quite complex expressions to filter what is shown in the listview. It turns red when unable to parse what you've asked for:
Sunday, 22 October 2006
0.0.33 fixes a crash when jpilot quits suddenly, and removes 'jppy-gui' as a distinct package. The GUI code is now part of jppy itself, and the build system also lets it find the unicode collation and glade files more easily.
I've tested with the official debian jpilot package too, no more having to build your own. Norbert Preining is likely to host the jppy debian package again, so I expect he won't mind if I just link there http://www.logic.at/people/preining/debian/jp
Tuesday, 23 May 2006
0.0.32 fixes unicode chars in category names in the main library. This allows the GUI to display them correctly. It also changes some of the dependancies, to request the pilot-link packages from experimental as we need pilot-link 0.12. We continue to require jpilot to be linked against pilot-link 0.12. Without ANY SUPPORT, you might be able to get this from
deb http://www.logic.at/people/preining/debian/ jp/
if you didn't want to rebuild yourself. Don't forget to pin the package so apt doesn't upgrade it to one that uses pilot-link 0.11 when you're not looking. See http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html for help there. Personally I recommend just rebuilding yourself:
sudo apt-get build-dep jpilot sudo apt-get source -b jpilot sudo dpkg -i jpilot_0.99.8-0.99.9-pre-20060420-1_i386.deb jpilot-plugins_0.99.8-0.99.9-pre-20060420-1_i386.deb
Note you'll have to pin there too.
attachment:jppy_0.0.32-1_i386.deb attachment:jppy-gui_0.0.32-1_all.deb attachment:jppy-jpilot-plugins_0.0.32-1_i386.deb
Sunday, 21 May 2006
0.0.31 adds some DateBk?6 support for Tasks (just a little so far though; and not in the GUI), Asterisk and SMS support, and some bug fixes. Longer ChangeLog? in the package itself, or see svn.
Please remember that the jpilot plugin requires you to have a jpilot linked with libpisock 0.12, otherwise you'll get random crashes as the python module is linked with that version.
attachment:jppy_0.0.31-1_i386.deb attachment:jppy-gui_0.0.31-1_all.deb attachment:jppy-jpilot-plugins_0.0.31-1_i386.deb
Saturday, 18 February 2006
The JPilot jppy plugin is restored, it has been away a long time. If you try to use it, you must recompile your jpilot to make sure it is linked to the same shared libpisock library that your jpilot python module was compiled against!
With this plugin, you can run python code at sync time, or do things like embed into the jpilot GUI:
To do that, use something like this in your jpilot_user.py:
def plugin_gui(vbox,hbox):
guipath = "/usr/share/jppy/gui/"
sys.path.insert(0,guipath)
import jppygui
jppygui.jppy(hbox,control_mainloop=0,glade_path=guipath)
attachment:jppy_0.0.29-2_i386.deb attachment:jppy-gui_0.0.29-2_all.deb attachment:jppy-jpilot-plugins_0.0.29-2_i386.deb
Saturday, 04 February 2006
I had a play with http://www.djangoproject.com/ , and wrote a little test app to learn. It provides a web view onto the jpilot databases via jppy. This is literally about 10 lines of code!
Sunday, 29 January 2006
Now I also have J-Pilot plugins to sync the Contacts database. If you use this, remember to turn off the AddressDB syncing!
attachment:jppy_0.0.29-1_i386.deb attachment:jppy-gui_0.0.29-1_all.deb attachment:jppy-jpilot-plugins_0.0.29-1_i386.deb
Friday, 27 January 2006
That image support is read/write now!
attachment:jppy_0.0.28-1_i386.deb attachment:jppy-gui_0.0.28-1_all.deb
Friday, 06 January 2006
Added read-only support for the images in contacts (as found on the T5, TX, etc.)
attachment:jppy_0.0.27-1_i386.deb attachment:jppy-gui_0.0.27-1_all.deb
Sunday, 11 September 2005
Switch to SVN for version control, and update jpilot parts again.
attachment:jppy_0.0.26-5_i386.deb attachment:jppy-gui_0.0.26-5_all.deb
Tuesday, 23 August 2005
Fixed a segfault when calling repr() on a contact.
attachment:jppy_0.0.26-4_i386.deb attachment:jppy-gui_0.0.26-4_all.deb
Sunday, 31 July 2005
Updated the bundled jpilot (used for reading/writing the jpilot data files) to todays CVS.
attachment:jppy_0.0.26-2_i386.deb attachment:jppy-gui_0.0.26-2_all.deb
Sunday, 10 April 2005
I've noticed a few bugs about (I don't use jppy as much while I'm working a long way from home.) This fixes a couple of them - missing icon, correction to saving code, the implementation of the gtk iter.
attachment:jppy_0.0.26-1_i386.deb attachment:jppy-gui_0.0.26-1_all.deb
Sunday, 06 March 2005
Probably the last day of the work for a while. The GTK2 GUI is working again. Don't forget the library path:
LD_LIBRARY_PATH=/home/nicholas/projects/pilot-link/upstream_cvs/pilot-link/libpisock/.libs/ jppy
Couple of other bug fixes too, to avoid some segfaults.
attachment:jppy_0.0.25-2_i386.deb attachment:jppy-gui_0.0.25-3_all.deb
Saturday, 05 March 2005
After a week sprint, most of the code has been reworked. The API to python is only slightly different, but with a lot more flexibility. You can subclass the record types now, for example. Major features and changes:
- Temporarily doesn't build jpilot plugin
- Uses SCons to build
- Much better python types
- Reworked python code to seperate jpilot interface out a bit more, ready for when we have other backends
- Includes libversit and jpilot sources which are required for the build
- Debian build directory
- Proper introspection on the types
The GUI isn't working right now either. If you try it out, you'll need pilot-link from CVS, and as you won't want to install that - LD_LIBRARY_PATH=/home/nicholas/projects/pilot-link/upstream_cvs/pilot-link/libpisock/.libs/
For example, try out:
LD_LIBRARY_PATH=/home/nicholas/projects/pilot-link/upstream_cvs/pilot-link/libpisock/.libs ipython
In [1]: import jppy
In [4]: book = jppy.addressBook()
In [2]: f = open("/tmp/export.vcard","w")
In [5]: [f.write(r.vcard()) for r in book.records(search="LogicaCMG")]
For an instant vcard copy of all your contacts with LogicaCMG in them!
Of course, to get your Contacts over from the palm you will have to patch jpilot-sync to pull them, or pilot-xfer them over into ~/.jpilot/ for now. The other databases (memo and todo) jpilot-sync will sync for you.
Grab the tarball from viewcvs (see below), or try out my (iffy) debian package :-)
Generally, the interface is much nicer than before!
In [10]: todo.items()
Out[10]:
[('description', u'See if ant -f config/build.xml works on HP Java'),
('note', u''),
('due', <DateTime object for '2005-01-14 00:00:00.00' at b716bfa8>),
('complete', 1),
('priority', 1)]
Old Content
The old content is available at http://www.nickpiper.co.uk/jpilot-python.php3.
Resources Available
For anonymous SVN check out, do:
svn co http://svn.zanu.org.uk/svn/jppy/jppy/trunk
If you want read/write, please ask.
Screenshot
Attachments
- jppy_5_shot.jpg (111.3 kB) - added by nicholas on 06/03/07 23:18:13.
- architecture.png (127.2 kB) - added by nicholas on 06/03/07 23:18:37.
- green-filters.png (16.7 kB) - added by nicholas on 06/03/07 23:18:58.
- red-filters.png (5.5 kB) - added by nicholas on 06/03/07 23:19:17.
- jppy-in-jpilot-1.jpg (53.0 kB) - added by nicholas on 06/03/07 23:19:29.
- jppy-with-django.png (76.3 kB) - added by nicholas on 06/03/07 23:19:44.
- jppy-with-images-smaller.png (43.8 kB) - added by nicholas on 06/03/07 23:19:57.






