Crossbar Python dependencies

#1

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

0 Likes

#2

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

0 Likes

#3

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

0 Likes

#4

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

···

Am 31.05.2015 um 13:59 schrieb Marc Rechté:

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.

0 Likes

#5

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

0 Likes

#6

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

0 Likes

#7

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

···

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 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

0 Likes

#8

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;)

···

Am 31.05.2015 um 16:00 schrieb Marc Rechté:

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>.
For more options, visit https://groups.google.com/d/optout.

0 Likes

#9

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

···

On Sunday, May 31, 2015 at 9:09:53 AM UTC-4, Marc Rechté wrote:

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

0 Likes

#10

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>.
For more options, visit https://groups.google.com/d/optout.

0 Likes