Package: livebridge
Livebridge by dpa-newslabMillions of users readdpa-Liveupdates when a new US president is elected or an ongoing attack of unknown origin keeps the nation awake.  We strive to deliver these updates live to whatever publishing system our customers chose. So we developed this open-source software as part of a project funded by theGoogle DNI Fund. ReadIntroducing Live Coverage Ecosystemfor more details.We’re already using it in production, delivering content produced usingSourcefabric’s Liveblogin the dpa newsroom to media customers who use the service ofScribbleLive.FeaturesKeep content in-sync over different services.syndicate one source to various targets in realtime.CRUD- create, update, delete of resources over different services.extensible for all kinds of services withpluginsWeb-UI for controlling running bridges through a convenient web-frontend.Web-API for controlling bridges.service credentials as environment vars.supported storage backends: MongoDB, DynamoDB, MySQL, PostgreSQL, MSSQL, Oracle and othersawait/asyncbased, Python 3.5(non-persistent) queues for retrying the distribution of a post.focus on robustness and stabilityInstallationpip3installlivebridgePython >=3.5 is required.Seehttp://livebridge.readthedocs.io/en/stable/quickstart.html#installationfor details.SettingsGlobal settings are defined inlivebridge/config.py. These values can be set throughenvironment variables.Seehttp://livebridge.readthedocs.io/en/stable/quickstart.html#settingsfor available configuration variables.RunningThelivebridgecommand expects a-control=parameter (alternatively the environment varsLB_CONTROLFILE* orLB_DB_CONTROL_TABLE), to specify the place of the control data with the configured bridges.--controlcan be either alocal control fileor aremote control fileons3.with local control filelivebridge--control=/path/to/control.yamlwith remote control file on S3livebridge--control=s3://bucketname/control.yamlwith control data stored in a database...LB_DB_CONTROL_TABLE=lb_controllivebridgeSeehttp://livebridge.readthedocs.io/en/stable/control.htmlfor more details.Documentationhttp://livebridge.readthedocs.io/en/stable/PluginsSeveral source and targets are available asplugins. Following plugins are currently available:Liveblog- Provides a Liveblog liveticker as source.Scribblelive- Provides a Scribblelive event stream as target.   Provides also aconverterfromLiveblogtoScribblelive.Slack- Provides Slack channels as source and as target. Also providesconvertersfromLiveblogand toScribblelive.Tickaroo- Provides aTickarooticker as target.It's possbile to write own service plugins and to make them available tolivebridgeas a Python module viaPyPI.
Seehttps://github.com/dpa-newslab/livebridge-slackas an example plugin.Tutorial: How to build a Livebridge pluginDevelopingSeehttp://livebridge.readthedocs.io/en/stable/developing.htmlTestingLivebridgeusespy.testandasynctestfor testing.Run tests:py.test-vtests/Run tests with test coverage:py.test-v--cov=livebridge--cov-report=htmltests/pytest-covhas to be installed. In the example above, a html summary of the test coverage is saved in./htmlcov/.LicenseCopyright 2016-2018 dpa-infocom GmbHApache License, Version 2.0 - see LICENSE for details