pyatem


Namepyatem JSON
Version 0.10.0 PyPI version JSON
download
home_pagehttps://git.sr.ht/~martijnbraam/pyatem
SummaryLibrary implementing the Blackmagic Design Atem switcher protocol
upload_time2024-03-25 11:14:36
maintainerNone
docs_urlNone
authorMartijn Braam
requires_pythonNone
licenseLGPL3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PyATEM
======

Library implementing the ATEM video switcher protocol and a GTK3.0 application

![Screenshot of the control application](https://brixitcdn.net/metainfo/openswitcher.png)

Installation
------------

Install the pyatem protocol module::

    setup.py build
    sudo setup.py install

Build and install the gtk application and proxy::

    meson build
    meson compile -C build
    sudo meson install -C build

Run the application::

    switcher-control

There is also the `openswitcher-install.sh` script which will install the library, proxy and gtk application in
/usr/local for a quick installation of all components.

External dependencies
---------------------

The only external dependency for pyatem is pyusb for the USB protocol support. It contains a native compiled module so
it also requires a toolchain and python-dev headers at build time.

OpenSwitcher depends on the python bindings from gtk3.

OpenSwitcher-proxy only depends on pyatem for the core functionality but it might need more dependencies when loading
specific frontends or backends:

* MQTT Frontend: paho-mqtt

Developing
----------

To work on the `pyatem` library the quickest way to get up and running is using the `openswitcher-develop.sh` script
that will install the `pyatem` library in devel mode where the files are symlinked to the git repository. It will also
install the proxy and gtk application in /usr/local which will use the symlinked library.

Development happens on matrix on #openatem:brixit.nl

Proxy
-----

There is also the `openswitcher_proxy` python module in this repository. It will run an API wrapper around one or
more ATEM switchers. There is currently a single api supported which is a HTTP REST api for sending commands and
reading the mixer state.

It can be run by starting the module::

    python3 -m openswitcher_proxy --config /etc/myconfigfile.toml

Or if the software installed it can be started using the launcher script::

    openswitcher-proxy --config /etc/myconfigfile.toml

The default config location is /etc/openswitcher/proxy.toml if not specified. Here's an example config:

    [[hardware]]
    id = "mini"
    label = "Atem Mini"
    address = "192.168.2.84"

    [[hardware]]
    id = "mini2"
    label = "Local switcher"
    address = "usb"

    [[frontend]]
    type = "http-api"
    bind = ":8080"
    auth = true
    username = "bob"
    password = "hunter2"
    hardware = "mini,mini2"
     
    [[frontend]]
    type = "status"
    bind = "127.0.0.1:8082"
    auth = false

The status frontend provides a simple html page with the state of the connected switchers and a list
of the enabled frontends.

The http-api frontend provides a HTTP server that can return any of the supported fields as json and
trigger commands by sending a HTTP POST request with formfields or json


Translations
------------

The main language for the software is english, the translation for the project happens on
https://hosted.weblate.org/projects/openswitcher

            

Raw data

            {
    "_id": null,
    "home_page": "https://git.sr.ht/~martijnbraam/pyatem",
    "name": "pyatem",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Martijn Braam",
    "author_email": "martijn@brixit.nl",
    "download_url": "https://files.pythonhosted.org/packages/dc/a6/020358a54d725f28c7f0d5c0d60f17300f7563f01384a4c07ffa1557af8e/pyatem-0.10.0.tar.gz",
    "platform": null,
    "description": "PyATEM\n======\n\nLibrary implementing the ATEM video switcher protocol and a GTK3.0 application\n\n![Screenshot of the control application](https://brixitcdn.net/metainfo/openswitcher.png)\n\nInstallation\n------------\n\nInstall the pyatem protocol module::\n\n    setup.py build\n    sudo setup.py install\n\nBuild and install the gtk application and proxy::\n\n    meson build\n    meson compile -C build\n    sudo meson install -C build\n\nRun the application::\n\n    switcher-control\n\nThere is also the `openswitcher-install.sh` script which will install the library, proxy and gtk application in\n/usr/local for a quick installation of all components.\n\nExternal dependencies\n---------------------\n\nThe only external dependency for pyatem is pyusb for the USB protocol support. It contains a native compiled module so\nit also requires a toolchain and python-dev headers at build time.\n\nOpenSwitcher depends on the python bindings from gtk3.\n\nOpenSwitcher-proxy only depends on pyatem for the core functionality but it might need more dependencies when loading\nspecific frontends or backends:\n\n* MQTT Frontend: paho-mqtt\n\nDeveloping\n----------\n\nTo work on the `pyatem` library the quickest way to get up and running is using the `openswitcher-develop.sh` script\nthat will install the `pyatem` library in devel mode where the files are symlinked to the git repository. It will also\ninstall the proxy and gtk application in /usr/local which will use the symlinked library.\n\nDevelopment happens on matrix on #openatem:brixit.nl\n\nProxy\n-----\n\nThere is also the `openswitcher_proxy` python module in this repository. It will run an API wrapper around one or\nmore ATEM switchers. There is currently a single api supported which is a HTTP REST api for sending commands and\nreading the mixer state.\n\nIt can be run by starting the module::\n\n    python3 -m openswitcher_proxy --config /etc/myconfigfile.toml\n\nOr if the software installed it can be started using the launcher script::\n\n    openswitcher-proxy --config /etc/myconfigfile.toml\n\nThe default config location is /etc/openswitcher/proxy.toml if not specified. Here's an example config:\n\n    [[hardware]]\n    id = \"mini\"\n    label = \"Atem Mini\"\n    address = \"192.168.2.84\"\n\n    [[hardware]]\n    id = \"mini2\"\n    label = \"Local switcher\"\n    address = \"usb\"\n\n    [[frontend]]\n    type = \"http-api\"\n    bind = \":8080\"\n    auth = true\n    username = \"bob\"\n    password = \"hunter2\"\n    hardware = \"mini,mini2\"\n     \n    [[frontend]]\n    type = \"status\"\n    bind = \"127.0.0.1:8082\"\n    auth = false\n\nThe status frontend provides a simple html page with the state of the connected switchers and a list\nof the enabled frontends.\n\nThe http-api frontend provides a HTTP server that can return any of the supported fields as json and\ntrigger commands by sending a HTTP POST request with formfields or json\n\n\nTranslations\n------------\n\nThe main language for the software is english, the translation for the project happens on\nhttps://hosted.weblate.org/projects/openswitcher\n",
    "bugtrack_url": null,
    "license": "LGPL3",
    "summary": "Library implementing the Blackmagic Design Atem switcher protocol",
    "version": "0.10.0",
    "project_urls": {
        "Homepage": "https://git.sr.ht/~martijnbraam/pyatem"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dca6020358a54d725f28c7f0d5c0d60f17300f7563f01384a4c07ffa1557af8e",
                "md5": "494a22be81ea96ab057c54b04635becb",
                "sha256": "5b3fcc736af0401041373c896547519b27b9b2ed1d290310922ef69fa20468b4"
            },
            "downloads": -1,
            "filename": "pyatem-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "494a22be81ea96ab057c54b04635becb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 3967609,
            "upload_time": "2024-03-25T11:14:36",
            "upload_time_iso_8601": "2024-03-25T11:14:36.099749Z",
            "url": "https://files.pythonhosted.org/packages/dc/a6/020358a54d725f28c7f0d5c0d60f17300f7563f01384a4c07ffa1557af8e/pyatem-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-25 11:14:36",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyatem"
}
        
Elapsed time: 0.43499s