Crossbar Python dependencies

194 views
Skip to first unread message

Marc Rechté

unread,
May 31, 2015, 7:05:08 AM5/31/15
to cross...@googlegroups.com
Hello,

I could not find an indication (or a file) on what Python dependencies are required. I try to run crossbar on Arch Linux and am about to loose my hair: so many dependencies (twisted, treq, shutilwhich, pyyaml, pygments, mistune, jinja, PyTrie, netaddr,...) many of them are not even on AUR.

Thanks

Tobias Oberstein

unread,
May 31, 2015, 7:12:59 AM5/31/15
to cross...@googlegroups.com
Hello Marc,

> I could not find an indication (or a file) on what Python dependencies

Technically, deps are here
https://github.com/crossbario/crossbar/blob/master/setup.py

> are required. I try to run crossbar on Arch Linux and am about to loose
> my hair: so many dependencies (twisted, treq, shutilwhich, pyyaml,
> pygments, mistune, jinja, PyTrie, netaddr,...) many of them are not even
> on AUR.

Don't rely on Linux distros for Python packages. They are usually
outdated, crippled or incomplete (Python has it's own package repository
and management: PyPI).

Instead,

pip install crossbar[all]

will install all required deps automatically. Probably pip install into
a virtualenv.

Then we provide complete, self-contained binary packages, for Ubuntu though:

http://crossbar.io/docs/Installation-on-Ubuntu/

Cheers,
/Tobias

Marc Rechté

unread,
May 31, 2015, 7:59:14 AM5/31/15
to cross...@googlegroups.com
Thanks Tobias,

Finally I ended up in solving all dependencies. Crossbar was able to generate a Python template. However it refuses to start (from autobahn.twisted.wamp import FutureMixin - ImportError: cannot import name FutureMixin). Why is the Router requiring Autobahn that is supposed to implement the client ?

However I tried with virtualenv and pip install. It fails on compiling cryptography and cffi (_cffi_backend.c:13:17: erreur fatale: ffi.h : Aucun fichier ou dossier de ce type).

Marc

Tobias Oberstein

unread,
May 31, 2015, 8:20:40 AM5/31/15
to cross...@googlegroups.com
Am 31.05.2015 um 13:59 schrieb Marc Rechté:
> Thanks Tobias,
>
> Finally I ended up in solving all dependencies. Crossbar was able to
> generate a Python template. However it refuses to start (from
> autobahn.twisted.wamp import FutureMixin - ImportError: cannot import

The latest Crossbar.io release is 0.10.4

https://pypi.python.org/pypi/crossbar/0.10.4

and the code does not refer to FutureMixin at all:

oberstet@thinkpad-t430s:~/scm/crossbar/crossbar$ git checkout v0.10.4
Note: checking out 'v0.10.4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b new_branch_name

HEAD ist jetzt bei 07f33b4... fix unit test for txaio
oberstet@thinkpad-t430s:~/scm/crossbar/crossbar$ find . -name "*.py"
-exec grep -Hi "FutureMixin" {} \;
oberstet@thinkpad-t430s:~/scm/crossbar/crossbar$


> name FutureMixin). Why is the Router requiring Autobahn that is supposed
> to implement the client ?

Because WAMP clients and routers share certain classes (like e.g. for
WAMP messages).

>
> However I tried with virtualenv and pip install. It fails on compiling
> cryptography and cffi (_cffi_backend.c:13:17: erreur fatale: ffi.h :
> Aucun fichier ou dossier de ce type).

To install using pip into a virtualenv, this is what is needed on a
completely stock Ubuntu:

apt-get install build-essential libssl-dev libffi-dev python-dev python-pip

http://crossbar.io/docs/Installation-on-Ubuntu/#setup-for-cpython

I am not using ArchLinux, so I have no clue what you need there. Sorry.

Cheers,
/Tobias

>
> Marc
>
> --
> You received this message because you are subscribed to the Google
> Groups "Crossbar" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to crossbario+...@googlegroups.com
> <mailto:crossbario+...@googlegroups.com>.
> To post to this group, send email to cross...@googlegroups.com
> <mailto:cross...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/crossbario/d28d7224-f801-4b7f-ad5d-ab0b47b674a2%40googlegroups.com
> <https://groups.google.com/d/msgid/crossbario/d28d7224-f801-4b7f-ad5d-ab0b47b674a2%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Marc Rechté

unread,
May 31, 2015, 9:09:53 AM5/31/15
to cross...@googlegroups.com
I had packaged crossbar.io from 0.10.3. With 0.10.4 I have been able to run the hello application.

Regarding the pip install, I don't know what is wrong (a gcc issue with a header file missing).

Thanks for your prompt help (on sunday) !

To my experience, I would love to have a simple Python 3 *router*. I found the node js "ramp.rt" so easy to install (requiring very few dependencies), compared to crossbar.io still requiring Python 2.

Marc

Tobias Oberstein

unread,
May 31, 2015, 9:24:11 AM5/31/15
to cross...@googlegroups.com
> To my experience, I would love to have a simple Python 3 *router*. I found
> the node js "ramp.rt" so easy to install (requiring very few dependencies),

Well. First, Crossbar.io is the most feature rich WAMP router available.
Second, it is easy to install if using one of our supported options.
Most easy: apt-get install crossbar. You can install Crossbar.io on
Ubuntu in literally 3 minutes.

> compared to crossbar.io still requiring Python 2.

Crossbar.io will very soon support running on Python 3. (We have
sponsored porting of missing bits of Twisted to Python 3 recently)

Cheers,
/Tobias

Marc Rechté

unread,
May 31, 2015, 10:00:17 AM5/31/15
to cross...@googlegroups.com
Probably I am too new to WAMP to be able to realize how feature rich is Crossbar.

I am thinking of WAMP for hardware embedded applications, and I fear that the fully blown crossbar artillery may require a lot of storage and computing resources (considering the required dependencies). I could have assessed the size from my virtualenv install should I have managed to complete it...

I'll definitely impressed by the WAMP paradigm.

Thanks agian

Marc

Tobias Oberstein

unread,
May 31, 2015, 10:47:31 AM5/31/15
to cross...@googlegroups.com
Am 31.05.2015 um 16:00 schrieb Marc Rechté:
> Probably I am too new to WAMP to be able to realize how feature rich is
> Crossbar.

No problem, you are welcome!

>
> I am thinking of WAMP for hardware embedded applications, and I fear
> that the fully blown crossbar artillery may require a lot of storage and
> computing resources (considering the required dependencies). I could

Depends on what's "small hardware" for you.

Crossbar.io runs perfectly fine on e.g. the Pi (256MB RAM) and even the
Arduino Yun (64MB RAM). The latter is probably the lower bound
hardware-wise.

On the Pi 1 (512MB RAM), Crossbar.io will handle something like a couple
of thousand clients. This is due to 2 factors: limited RAM and the fact
that Ethernet is via USB on the Pi (read: it sucks a little perf. wise).

> have assessed the size from my virtualenv install should I have managed
> to complete it...
>
> I'll definitely impressed by the WAMP paradigm.

Thanks;)

>
> Thanks agian
>
> Marc
>
>
> Le dimanche 31 mai 2015 15:24:11 UTC+2, Tobias Oberstein a écrit :
>
> > To my experience, I would love to have a simple Python 3
> *router*. I found
> > the node js "ramp.rt" so easy to install (requiring very few
> dependencies),
>
> Well. First, Crossbar.io is the most feature rich WAMP router
> available.
> Second, it is easy to install if using one of our supported options.
> Most easy: apt-get install crossbar. You can install Crossbar.io on
> Ubuntu in literally 3 minutes.
>
> > compared to crossbar.io <http://crossbar.io> still requiring
> Python 2.
>
> Crossbar.io will very soon support running on Python 3. (We have
> sponsored porting of missing bits of Twisted to Python 3 recently)
>
> Cheers,
> /Tobias
>
> --
> You received this message because you are subscribed to the Google
> Groups "Crossbar" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to crossbario+...@googlegroups.com
> <mailto:crossbario+...@googlegroups.com>.
> To post to this group, send email to cross...@googlegroups.com
> <mailto:cross...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/crossbario/9c20d658-57ed-44a2-a58e-78fd71990fff%40googlegroups.com
> <https://groups.google.com/d/msgid/crossbario/9c20d658-57ed-44a2-a58e-78fd71990fff%40googlegroups.com?utm_medium=email&utm_source=footer>.

François Guertin

unread,
Jun 11, 2015, 1:00:09 PM6/11/15
to cross...@googlegroups.com
Hi Marc,

As I was reading a solution to my problem I realized that you were able to upgrade Crossbar from 0.10.3 to 0.10.4 and run the Hello sample application without any issue.
I was wondering if you could give me some highlights on how you did the update.

Cheers,
Francois

Marc Rechté

unread,
Jun 12, 2015, 8:10:48 AM6/12/15
to cross...@googlegroups.com
Hello Francois,

Being on Arch Linux, I used the AUR supplied PKGBUILD to build the
package. At first I did not realize it was downloading 0.10.3 instead of
the latest.

I just edited the PKGBUILD to use the 0.10.4 version.

The difficulty is to solve all the required Pyhon depdancies.

Honestly the simplest way is the combination of virtualenv + pip
install, as suggested by the author (I tried this solution on Fedora 22
and it worked OK).

Marc

Le 11/06/2015 19:00, François Guertin a écrit :
> Hi Marc,
>
> As I was reading a solution to my problem
> <https://groups.google.com/d/msg/autobahnws/TQndH84Gdbs/cBnt9LqCPMIJ> I
> realized that you were able to upgrade Crossbar from 0.10.3 to 0.10.4
> and run the Hello sample application without any issue.
> I was wondering if you could give me some highlights on how you did the
> update.
>
> Cheers,
> Francois
>
>
> On Sunday, May 31, 2015 at 9:09:53 AM UTC-4, Marc Rechté wrote:
>
> I had packaged crossbar.io <http://crossbar.io> from 0.10.3. With
> 0.10.4 I have been able to run the hello application.
>
> Regarding the pip install, I don't know what is wrong (a gcc issue
> with a header file missing).
>
> Thanks for your prompt help (on sunday) !
>
> To my experience, I would love to have a simple Python 3 *router*. I
> found the node js "ramp.rt" so easy to install (requiring very few
> dependencies), compared to crossbar.io <http://crossbar.io> still
> requiring Python 2.
>
> Marc
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Crossbar" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/crossbario/mWNBRxZnU08/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> crossbario+...@googlegroups.com
> <mailto:crossbario+...@googlegroups.com>.
> To post to this group, send email to cross...@googlegroups.com
> <mailto:cross...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/crossbario/58bdd6e2-497f-4031-9af4-d302b9c6ee42%40googlegroups.com
> <https://groups.google.com/d/msgid/crossbario/58bdd6e2-497f-4031-9af4-d302b9c6ee42%40googlegroups.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages