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
