[ANN] autobahn-python-runners 17.7.11

#1

Hi all

I’m happy to announce the first Autobahn-related open-source release from OpenDNA, courtesy of yours truly :slight_smile:

The utilities included in this package have been open-sourced from an internal tool we’ve been using in our Crossbar application to simplify the task

of running Autobahn-Python components in both development and production.

The stand-out feature provided by this package at the moment is the AsyncIO Multi-Runner tool which allows you to host multiple AsyncIO-based

Autobahn components within a single Python process. This tool allows you to run a single Python 3 AsyncIO guest process rather than one for

each component.

You can find more details and documentation at https://github.com/opn-oss/autobahn-python-runners

0 Likes

#2

Hi Adam,

Hi all

I'm happy to announce the first Autobahn-related open-source release from
OpenDNA, courtesy of yours truly :slight_smile:

Niice:)

The utilities included in this package have been open-sourced from an
internal tool we've been using in our Crossbar application to simplify the
task
of running Autobahn-Python components in both development and production.

The stand-out feature provided by this package at the moment is the AsyncIO
Multi-Runner tool which allows you to host multiple AsyncIO-based
Autobahn components within a single Python process. This tool allows you to
run a single Python 3 AsyncIO guest process rather than one for
each component.

This is of course a useful feature - thanks for sharing!

Note: the new component based API of AutobahnPython will also allow running multiple sessions ..

Also, looking around in OpenDNA's repos, I stumlbed across

https://github.com/opn-oss/autobahn-python-repl

Curious, what are you working on there?

Cheers,
/Tobias

···

Am 11.07.2017 um 16:08 schrieb Adam Jorgensen:

You can find more details and documentation
at https://github.com/opn-oss/autobahn-python-runners

0 Likes

#3

Hi Adam,

Hi all

I’m happy to announce the first Autobahn-related open-source release from

OpenDNA, courtesy of yours truly :slight_smile:

Niice:)

The utilities included in this package have been open-sourced from an

internal tool we’ve been using in our Crossbar application to simplify the

task

of running Autobahn-Python components in both development and production.

The stand-out feature provided by this package at the moment is the AsyncIO

Multi-Runner tool which allows you to host multiple AsyncIO-based

Autobahn components within a single Python process. This tool allows you to

run a single Python 3 AsyncIO guest process rather than one for

each component.

This is of course a useful feature - thanks for sharing!

Note: the new component based API of AutobahnPython will also allow
running multiple sessions …

The multi-runner I’ve written is intended primarily as a stop-gap solution until Crossbar containers support this feature natively. Until then I hope it will prove useful to other people, I know it’s certainly tidied up the process list on our servers a little :wink: It also provides a simpler way to attach a group of new components to an existing router that doesn’t require configuring a Crossbar instance to run guest components only, thus making it a little simpler to scale horizontally (at least with Python 3 asyncio components).

Also, looking around in OpenDNA’s repos, I stumlbed across

https://github.com/opn-oss/autobahn-python-repl

Curious, what are you working on there?

Ah, yes. So this is going to be the second proper Autobahn/Crossbar related release from OpenDNA. Again, it’s based on something we’re already using internally that I wrote although the version I’m going to make open will actually be quite improved. Essentially it’s a Python REPL using PtPython which runs inside an asyncio component. It provides various helper functions that make it very easy to do things like call an end-point and subscribe to a topic in an interactive fashion. The version we’re using internally is quite MVP but still very useful (Especially for debugging, I’ve got a very nice workflow for this which makes diagnosing a misbehaving component a snap). The version that will land in the OSS repo is going to be improved a great deal though (Thanks in part to the work I did on the asyncio multi-runner) and will be much more useful (both to us internally and to other people :slight_smile:

···

On Thursday, 13 July 2017 10:16:51 UTC+2, Tobias Oberstein wrote:

Am 11.07.2017 um 16:08 schrieb Adam Jorgensen:

Cheers,

/Tobias

You can find more details and documentation

at https://github.com/opn-oss/autobahn-python-runners

0 Likes

#4

Hi Adam,

Hi all

I'm happy to announce the first Autobahn-related open-source release

from

OpenDNA, courtesy of yours truly :slight_smile:

Niice:)

The utilities included in this package have been open-sourced from an
internal tool we've been using in our Crossbar application to simplify

the

task
of running Autobahn-Python components in both development and

production.

The stand-out feature provided by this package at the moment is the

AsyncIO

Multi-Runner tool which allows you to host multiple AsyncIO-based
Autobahn components within a single Python process. This tool allows you

to

run a single Python 3 AsyncIO guest process rather than one for
each component.

This is of course a useful feature - thanks for sharing!

Note: the new component based API of AutobahnPython will also allow
running multiple sessions ..

The multi-runner I've written is intended primarily as a stop-gap solution
until Crossbar containers support this feature natively. Until then I hope
it will prove useful to other people, I know it's certainly tidied up the
process list on our servers a little :wink: It also provides a simpler way to
attach a group of new components to an existing router that doesn't require
configuring a Crossbar instance to run guest components only, thus making
it a little simpler to scale horizontally (at least with Python 3 asyncio
components).

That all makes sense! Cool

Also, looking around in OpenDNA's repos, I stumlbed across

https://github.com/opn-oss/autobahn-python-repl

Curious, what are you working on there?

Ah, yes. So this is going to be the second proper Autobahn/Crossbar related
release from OpenDNA. Again, it's based on something we're already using
internally that I wrote although the version I'm going to make open will
actually be quite improved. Essentially it's a Python REPL using PtPython
which runs inside an asyncio component. It provides various helper
functions that make it very easy to do things like call an end-point and
subscribe to a topic in an interactive fashion. The version we're using
internally is quite MVP but still very useful (Especially for debugging,
I've got a very nice workflow for this which makes diagnosing a misbehaving
component a snap). The version that will land in the OSS repo is going to
be improved a great deal though (Thanks in part to the work I did on the
asyncio multi-runner) and will be much more useful (both to us internally
and to other people :slight_smile:

Interesting!! Please keep me updated. Developer experience is part of the overall mission of WAMP and Crossbar.io, and everything that supports that mission is of course highly welcome!

···

Am 13.07.2017 um 10:37 schrieb Adam Jorgensen:

On Thursday, 13 July 2017 10:16:51 UTC+2, Tobias Oberstein wrote:

Am 11.07.2017 um 16:08 schrieb Adam Jorgensen:

Cheers,
/Tobias

You can find more details and documentation
at https://github.com/opn-oss/autobahn-python-runners

0 Likes