Pyrolite 1.1 - lightweight Pyro client library for Java and .NET

Irmen de Jong irmen at xs4all.nl
Wed Jul 27 23:54:24 CEST 2011


I'd like to announce Pyrolite 1.1, a lightweight Pyro client library for Java and .NET

"what is a java/.net library doing in this Python newsgroup?"
If you've got a Python application and you find yourself wanting to access it from the
harsh world of java or .net, Pyrolite could be of help. This library is meant to connect
a java or .net program to Python in a very simple way, using the Pyro protocol. Pyro is
a remote object library that is written for Python. Pyro itself can also be used in
Jython or IronPython, so you can already call Python applications from java or .net
(using Pyro), but sometimes that is just too much weight if you only need to call a few
methods. So I decided to explore the possibilities of a thin client-only library for
java and .Net.

Download Pyrolite here:   http://irmen.home.xs4all.nl/pyrolite/
(Readme.txt, java jar, .NET assembly DLL, source code archive, javadocs).
Readonly subversion access:   svn://svn.razorvine.net/Various/Pyrolite/
More info on Pyro:  http://irmen.home.xs4all.nl/pyro/


---DETAILS---

Pyrolite allows you to connect your Java or .NET program to Python in an extremely
straightforward way, using the Pyro protocol. Include this tiny library (~50kb), and off
you go. It contains:
- an almost fully functional pickle implementation (protocol 2)
- a fully functional unpickle implementation (protocols 0,1,2,3)
- fairly intelligent mapping of Python data types to Java/.NET data types and vice versa
- ofcourse, a subset of the client-side of the Pyro protocol and proxy logic.

Example program (java): http://paste.pocoo.org/show/438990/
The .NET version of this would be almost equivalent.

The Pyrolite source archive includes all source code, a couple of test programs, and a
large amount of unit tests (everything in java and C#). There is not much documentation
though - use the source, Luke... (or browse the javadocs).

Pyrolite only supports Pyro 4.x.
Pyrolite for java requires java 1.5. The project is done in Pycharm.
Pyrolite for .NET requires .NET 3.5 or Mono. The solution is done in
sharpdevelop/monodevelop (but probably works in visual studio too).


I've done quite some work to make this a stable and usable piece of software but
consider it an experiment, or a beta version. I am quite interested in your thoughts
about it. Let me know if you find it useful!


Irmen de Jong


More information about the Python-announce-list mailing list