{ "info": { "author": "Artem Popov", "author_email": "artfwo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Sound/Audio", "Topic :: Software Development :: Libraries", "Topic :: System :: Networking" ], "description": "=====\naiosc\n=====\n\nThis is an experimental minimalistic Open Sound Control (OSC) communication\nmodule which uses asyncio for network operations and is compatible with the\nasyncio event loop.\n\nInstallation\n============\n\naiosc requires at least Python 3.5. It can be installed using pip::\n\n pip3 install aiosc\n\nOr use `--user` option to install aiosc locally::\n\n pip3 install --user aiosc\n\nUsage\n=====\n\nTo send an OSC message just use ``aiosc.send``:\n\n.. code-block:: python\n\n import asyncio\n import aiosc\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(\n aiosc.send(('127.0.0.1', 9000), '/hello', 'world')\n )\n\nTo implement an OSC server with ``aiosc`` you should create an UDP endpoint\nusing ``aiosc.OSCProtocol`` as the protocol. ``OSCProtocol`` can be subclassed\nor directly constructed with a dictionary mapping OSC address patterns to\nhandler methods for incoming messages:\n\n.. code-block:: python\n\n class EchoServer(aiosc.OSCProtocol):\n def __init__(self):\n super().__init__(handlers={\n '/sys/exit': lambda addr, path, *args: sys.exit(0),\n '//*': self.echo,\n })\n\n def echo(self, addr, path, *args):\n print(\"incoming message from {}: {} {}\".format(addr, path, args))\n\n loop = asyncio.get_event_loop()\n coro = loop.create_datagram_endpoint(EchoServer, local_addr=('127.0.0.1', 9000))\n transport, protocol = loop.run_until_complete(coro)\n\n loop.run_forever()\n\nFor more examples, see ``examples/``.\n\nOSC address patterns\n====================\n\n``aiosc`` dispatches messages to handler methods using glob-style address\npattern matching as described in the OSC 1.0 specification. The ``//`` operator\nfrom OSC 1.1 preliminary specification is also supported.\n\nExamples:\n\n* ``/hello/world`` matches ``/hello/world``.\n* ``/hello/*`` matches ``/hello/world`` and ``/hello/sarah``.\n* ``/{hello,goodbye}//world`` matches ``/hello/world`` and ``/goodbye/cruel/world``.\n* ``//*`` matches any address.\n\nNotes\n=====\n\nBundles are not yet supported.\n\nContrary to most OSC implementations, OSC data types are picked from the\npreliminary spec documented in Features and Future of Open Sound Control\nversion 1.1 for NIME paper. For example, 'I' typetag is decoded to Impulse\n(aka \"bang\") which is passed around as ``aiosc.Impulse`` singleton.\n\nSuggestions, bug reports, issues and/or pull requests are, of course, welcome.\n\nLicense\n=======\n\nCopyright (c) 2014 Artem Popov \n\naiosc is licensed under the MIT license, please see LICENSE file for details.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/artfwo/aiosc", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aiosc", "package_url": "https://pypi.org/project/aiosc/", "platform": "", "project_url": "https://pypi.org/project/aiosc/", "project_urls": { "Homepage": "https://github.com/artfwo/aiosc" }, "release_url": "https://pypi.org/project/aiosc/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Minimalistic Open Sound Control (OSC) communication module using asyncio", "version": "0.1.4" }, "last_serial": 5933260, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "df6aedbb232999f45c5f13742e72eef3", "sha256": "4977534dd5d9927d276d26b411465bad3dfd337e6bcdfbbedf1979c7e6855657" }, "downloads": -1, "filename": "aiosc-0.1.1.tar.gz", "has_sig": false, "md5_digest": "df6aedbb232999f45c5f13742e72eef3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5149, "upload_time": "2014-07-26T11:02:30", "url": "https://files.pythonhosted.org/packages/b9/20/cba7584bb16a9c04fef1d4858e04b1b9746613da4199f3f133dee0309b4e/aiosc-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "93158716d836e0f66194011715a7c52f", "sha256": "d51422bfd4096114f395ef19594b8c46503b30f3e8871c1e621079373624f4b7" }, "downloads": -1, "filename": "aiosc-0.1.2.tar.gz", "has_sig": false, "md5_digest": "93158716d836e0f66194011715a7c52f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5136, "upload_time": "2017-10-07T14:23:11", "url": "https://files.pythonhosted.org/packages/cc/e4/22f171b088750bf82fe96e5e94fa0e85de2c920ff8bea94e05ab7eeb07f6/aiosc-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d94045bb97e284b396baef07a9d430f3", "sha256": "00b2400d767760b9b90c15a12c53408f76e648af1ee2f1f9c920ca4e253e86ce" }, "downloads": -1, "filename": "aiosc-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d94045bb97e284b396baef07a9d430f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5177, "upload_time": "2017-12-05T09:48:22", "url": "https://files.pythonhosted.org/packages/61/54/70d1be6482caba60e0c21d9e6af7399e6aa42e8403121f2da828d9558703/aiosc-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "53a6b822fb664d1a6aaaada59472d785", "sha256": "74c021a255c6e521bab8e16225654090c9c2c95b87015fabba60b59bd9c700e6" }, "downloads": -1, "filename": "aiosc-0.1.4.tar.gz", "has_sig": false, "md5_digest": "53a6b822fb664d1a6aaaada59472d785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5217, "upload_time": "2019-10-05T22:48:43", "url": "https://files.pythonhosted.org/packages/dc/ea/6743b64c3b33717fe22a561192b2800e6abd19b277e16f1658d0363ee5e7/aiosc-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "53a6b822fb664d1a6aaaada59472d785", "sha256": "74c021a255c6e521bab8e16225654090c9c2c95b87015fabba60b59bd9c700e6" }, "downloads": -1, "filename": "aiosc-0.1.4.tar.gz", "has_sig": false, "md5_digest": "53a6b822fb664d1a6aaaada59472d785", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5217, "upload_time": "2019-10-05T22:48:43", "url": "https://files.pythonhosted.org/packages/dc/ea/6743b64c3b33717fe22a561192b2800e6abd19b277e16f1658d0363ee5e7/aiosc-0.1.4.tar.gz" } ] }