I've uploaded pyczmq 0.0.1 to the cheese shop so it can now be installed with 'pip install pyczmq'.
-Michel On Fri, Oct 11, 2013 at 9:11 AM, Michel Pelletier < [email protected]> wrote: > Oh, and I'm testing on ubuntu 12.04, zeromq 4.0.1, czmq 2.0.2. > > -Michel > > > On Fri, Oct 11, 2013 at 9:11 AM, Michel Pelletier < > [email protected]> wrote: > >> There is a very minimal INSTALL.md in the repo, but basically you just >> need to install czmq (and zmq obviously) and on ubuntu the libffi-dev >> package. After that run '. bootstrap' which will create a python virtual >> environment for you and install the dependency (which is the python cffi >> package). After that "python -c 'import pyczmq'" should succeed. >> Alternatively if you don't care about the VE and don't mind installing it >> into your system Python instead of running the bootstrap you can do 'sudo >> python setup.py install' >> >> -Michel >> >> >> On Fri, Oct 11, 2013 at 8:57 AM, Pieter Hintjens <[email protected]> wrote: >> >>> Michel, >>> >>> It would be useful (to me at least) to have a brief list of what I >>> need to install in order to build this (Ubuntu). >>> >>> -Pieter >>> >>> On Fri, Oct 11, 2013 at 5:40 PM, Michel Pelletier >>> <[email protected]> wrote: >>> > Thanks Felipe! I appreciate the kind words and I hope you enjoy your >>> > vacation. I'm really enjoying the cffi module, it seems like one of >>> those >>> > cool projects that creates a convergence in the evolution of software. >>> > >>> > For those who are interested I've made some more progress: >>> > >>> > There's an initial start at wrapping the low level zmq functions in >>> > pyczmq.zmq. This was done largely to expose the ability to do "zero >>> copy" >>> > messages support for which was removed from czmq. >>> > >>> > New code format permits automatic sphinx documentation, which is now >>> hosted >>> > via an automatic git commit hook thanks to readthedocs.org, for >>> example: >>> > >>> http://pyczmq.readthedocs.org/en/latest/pyczmq.html#module-pyczmq.zsocket >>> > >>> > I'm going to try and get all the loose ends wrapped up this week and >>> drop a >>> > lot more tests in. >>> > >>> > -Michel >>> > >>> > >>> > >>> > >>> > On Thu, Oct 10, 2013 at 3:42 PM, Felipe Cruz <[email protected]> >>> wrote: >>> >> >>> >> Hi Michael. >>> >> >>> >> Unfortunately there's no such tool for python cffi. Even pyzmq is a >>> mix of >>> >> cython and cffi, both manually coded. >>> >> >>> >> Anyway, I'm very interested in provide access for features like >>> zbeacon >>> >> and projects like FileMQ to high level languages such as Python. >>> There are a >>> >> lot of opportunities to be explored when those features become >>> available. >>> >> >>> >> I'm on vacation right now but ASAP, I would like to participate in >>> make >>> >> this moving forward! >>> >> >>> >> great work BTW >>> >> >>> >> regards, >>> >> Felipe >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> 2013/10/9 Pieter Hintjens <[email protected]> >>> >>> >>> >>> I've never heard of such a tool but it seems worth making... I'll >>> have >>> >>> a whack at it when I get bored later this week. >>> >>> >>> >>> On Wed, Oct 9, 2013 at 9:24 PM, Michel Pelletier >>> >>> <[email protected]> wrote: >>> >>> > Automation would be be great, and not just for Python, making the >>> >>> > wrapper >>> >>> > was a bit tedious, although completely doable. I'm surprised there >>> >>> > isn't >>> >>> > something like SWIG but for libffi, where you can point a .h file >>> and >>> >>> > some >>> >>> > kind of specfile at a tool that dumps the correct bindings >>> incantation >>> >>> > for >>> >>> > various languages. Maybe there is such a tool? A quick google >>> didn't >>> >>> > reveal much to me. >>> >>> > >>> >>> > -Michel >>> >>> > >>> >>> > >>> >>> > On Wed, Oct 9, 2013 at 12:27 AM, Pieter Hintjens <[email protected]> >>> wrote: >>> >>> >> >>> >>> >> Hi Michel, >>> >>> >> >>> >>> >> This is great fun! I'm going to look at what you did since I'd >>> like to >>> >>> >> try generating Python wrappers for our standardish C APIs (FileMQ, >>> >>> >> Zyre, for instance). >>> >>> >> >>> >>> >> -Pieter >>> >>> >> >>> >>> >> On Wed, Oct 9, 2013 at 4:28 AM, Michel Pelletier >>> >>> >> <[email protected]> wrote: >>> >>> >> > Wanting to know more about Python and CFFI, I decided to do a >>> >>> >> > straightforward wrap job for Python around the CZMQ C API. I >>> have >>> >>> >> > it >>> >>> >> > reasonable complete enough to write some simple code and tests. >>> >>> >> > I've >>> >>> >> > pushed >>> >>> >> > it up to github: >>> >>> >> > >>> >>> >> > https://github.com/michelp/pyczmq >>> >>> >> > >>> >>> >> > Most of the core functionality, zctx, zsocket, zsockopt, >>> zpoller, >>> >>> >> > zmsg, >>> >>> >> > zframe, zstr, zloop, zbeacon, zcert, zauth, are exposed as both >>> >>> >> > straight >>> >>> >> > wrappers around the C interface as well as some namespaced >>> functions >>> >>> >> > that >>> >>> >> > provide a high level functional interface (eg, turning cdata >>> char * >>> >>> >> > into >>> >>> >> > python byte strings, etc). For example: >>> >>> >> > >>> >>> >> > >>> >>> >> > ctx = zctx.new() >>> >>> >> > push = zsocket.new(ctx, zsocket.PUSH) >>> >>> >> > pull = zsocket.new(ctx, zsocket.PULL) >>> >>> >> > zsocket.bind(push, 'inproc://test') >>> >>> >> > zsocket.connect(pull, 'inproc://test') >>> >>> >> > zstr.send(push, 'foo') >>> >>> >> > assert zstr.recv(pull) == 'foo' >>> >>> >> > zstr.send(push, 'bar') >>> >>> >> > zsocket.poll(pull, 1) >>> >>> >> > assert zstr.recv_nowait(pull) == 'bar' >>> >>> >> > >>> >>> >> > >>> >>> >> > >>> >>> >> > There's also a first stab at providing an OO interface in the >>> form >>> >>> >> > of >>> >>> >> > Context, Socket, Beacon and Loop classes. Here's a working >>> example: >>> >>> >> > >>> >>> >> > ctx = Context() >>> >>> >> > pub = ctx.socket('PUB') >>> >>> >> > sub = ctx.socket('SUB') >>> >>> >> > sub.set_subscribe('') >>> >>> >> > pub.bind('inproc://zoop') >>> >>> >> > sub.connect('inproc://zoop') >>> >>> >> > pub.send('foo') >>> >>> >> > sub.poll(1) >>> >>> >> > assert sub.recv() == 'foo' >>> >>> >> > >>> >>> >> > >>> >>> >> > This is a work in progress, it's useful enough now to create >>> socket >>> >>> >> > and >>> >>> >> > messages and send and receive data. I'd certainly love any >>> form of >>> >>> >> > help, >>> >>> >> > just send me a pull request. Featured desired are way more >>> tests! >>> >>> >> > And >>> >>> >> > of >>> >>> >> > course any missing functions that need wrapping, or new >>> >>> >> > functionality. >>> >>> >> > >>> >>> >> > Thanks and enjoy, >>> >>> >> > >>> >>> >> > -Michel >>> >>> >> > >>> >>> >> > _______________________________________________ >>> >>> >> > zeromq-dev mailing list >>> >>> >> > [email protected] >>> >>> >> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >>> >> > >>> >>> >> _______________________________________________ >>> >>> >> zeromq-dev mailing list >>> >>> >> [email protected] >>> >>> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >>> > >>> >>> > >>> >>> > >>> >>> > _______________________________________________ >>> >>> > zeromq-dev mailing list >>> >>> > [email protected] >>> >>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >>> > >>> >>> _______________________________________________ >>> >>> zeromq-dev mailing list >>> >>> [email protected] >>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >> >>> >> >>> >> >>> >> >>> >> -- >>> >> Felipe Cruz >>> >> http://about.me/felipecruz >>> >> >>> >> _______________________________________________ >>> >> zeromq-dev mailing list >>> >> [email protected] >>> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >> >>> > >>> > >>> > _______________________________________________ >>> > zeromq-dev mailing list >>> > [email protected] >>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> > >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >> >> >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
