{ "info": { "author": "attwad", "author_email": "tmusoft@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: Freely Distributable", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Sound/Audio", "Topic :: System :: Networking" ], "description": "==========\npython-osc\n==========\n\nOpen Sound Control server and client implementations in **pure python** (3.5+).\n\n.. image:: https://travis-ci.org/attwad/python-osc.svg?branch=master\n :target: https://travis-ci.org/attwad/python-osc\n\nCurrent status\n==============\n\nThis library was developped following the specifications at\nhttp://opensoundcontrol.org/spec-1_0\nand is currently in a stable state.\n\nFeatures\n========\n\n* UDP blocking/threading/forking/asyncio server implementations\n* UDP client\n* int, float, string, double, MIDI, timestamps, blob OSC arguments\n* simple OSC address<->callback matching system\n* extensive unit test coverage\n* basic client and server examples\n\nDocumentation\n=============\n\nAvailable at https://python-osc.readthedocs.io/.\n\nInstallation\n============\n\npython-osc is a pure python library that has no external dependencies,\nto install it just use pip (prefered):\n\n.. image:: https://img.shields.io/pypi/v/python-osc.svg\n :target: https://pypi.python.org/pypi/python-osc\n\n.. code-block:: bash\n\n $ pip install python-osc\n\nor from the raw sources for the development version:\n\n.. code-block:: bash\n\n $ python setup.py test\n $ python setup.py install\n\nExamples\n========\n\nSimple client\n-------------\n\n.. code-block:: python\n\n \"\"\"Small example OSC client\n\n This program sends 10 random values between 0.0 and 1.0 to the /filter address,\n waiting for 1 seconds between each value.\n \"\"\"\n import argparse\n import random\n import time\n\n from pythonosc import udp_client\n\n\n if __name__ == \"__main__\":\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--ip\", default=\"127.0.0.1\",\n help=\"The ip of the OSC server\")\n parser.add_argument(\"--port\", type=int, default=5005,\n help=\"The port the OSC server is listening on\")\n args = parser.parse_args()\n\n client = udp_client.SimpleUDPClient(args.ip, args.port)\n\n for x in range(10):\n client.send_message(\"/filter\", random.random())\n time.sleep(1)\n\nSimple server\n-------------\n\n.. code-block:: python\n\n \"\"\"Small example OSC server\n\n This program listens to several addresses, and prints some information about\n received packets.\n \"\"\"\n import argparse\n import math\n\n from pythonosc import dispatcher\n from pythonosc import osc_server\n\n def print_volume_handler(unused_addr, args, volume):\n print(\"[{0}] ~ {1}\".format(args[0], volume))\n\n def print_compute_handler(unused_addr, args, volume):\n try:\n print(\"[{0}] ~ {1}\".format(args[0], args[1](volume)))\n except ValueError: pass\n\n if __name__ == \"__main__\":\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--ip\",\n default=\"127.0.0.1\", help=\"The ip to listen on\")\n parser.add_argument(\"--port\",\n type=int, default=5005, help=\"The port to listen on\")\n args = parser.parse_args()\n\n dispatcher = dispatcher.Dispatcher()\n dispatcher.map(\"/filter\", print)\n dispatcher.map(\"/volume\", print_volume_handler, \"Volume\")\n dispatcher.map(\"/logvolume\", print_compute_handler, \"Log volume\", math.log)\n\n server = osc_server.ThreadingOSCUDPServer(\n (args.ip, args.port), dispatcher)\n print(\"Serving on {}\".format(server.server_address))\n server.serve_forever()\n\nBuilding bundles\n----------------\n\n.. code-block:: python\n\n from pythonosc import osc_bundle_builder\n from pythonosc import osc_message_builder\n\n bundle = osc_bundle_builder.OscBundleBuilder(\n osc_bundle_builder.IMMEDIATELY)\n msg = osc_message_builder.OscMessageBuilder(address=\"/SYNC\")\n msg.add_arg(4.0)\n # Add 4 messages in the bundle, each with more arguments.\n bundle.add_content(msg.build())\n msg.add_arg(2)\n bundle.add_content(msg.build())\n msg.add_arg(\"value\")\n bundle.add_content(msg.build())\n msg.add_arg(b\"\\x01\\x02\\x03\")\n bundle.add_content(msg.build())\n\n sub_bundle = bundle.build()\n # Now add the same bundle inside itself.\n bundle.add_content(sub_bundle)\n # The bundle has 5 elements in total now.\n\n bundle = bundle.build()\n # You can now send it via a client as described in other examples.\n\nLicense?\n========\nUnlicensed, do what you want with it. (http://unlicense.org)", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/attwad/python-osc", "keywords": "osc sound midi music", "license": "", "maintainer": "", "maintainer_email": "", "name": "python-osc", "package_url": "https://pypi.org/project/python-osc/", "platform": "any", "project_url": "https://pypi.org/project/python-osc/", "project_urls": { "Homepage": "https://github.com/attwad/python-osc" }, "release_url": "https://pypi.org/project/python-osc/1.7.4/", "requires_dist": null, "requires_python": "", "summary": "Open Sound Control server and client implementations in pure Python", "version": "1.7.4" }, "last_serial": 5953462, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "b314b86c63f29a6fa43d0c140fe91c89", "sha256": "bec8e32775f22e789965f4680f7aabc6db90a65d6af1a2b615fd44ff1d05dbe1" }, "downloads": -1, "filename": "python-osc-1.0.tar.gz", "has_sig": false, "md5_digest": "b314b86c63f29a6fa43d0c140fe91c89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15704, "upload_time": "2013-07-27T02:23:23", "url": "https://files.pythonhosted.org/packages/75/dc/92bf44c2701fee558eda60bfb1e86897bb1d87377aff4c02c8dc5b377308/python-osc-1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "fbf66e33531a3f57a8b159d166edfb39", "sha256": "17e3188833272a9fe14920d39c03e23f3d21809866ba8ca4a24f13fcd3347963" }, "downloads": -1, "filename": "python-osc-1.0.zip", "has_sig": false, "md5_digest": "fbf66e33531a3f57a8b159d166edfb39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25385, "upload_time": "2013-07-27T02:23:26", "url": "https://files.pythonhosted.org/packages/ae/d5/c8c1896feda07dedeac730d756cda8a2109fc66a8cd40ab440a24bfa5744/python-osc-1.0.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "3ebb28cf1f4bd05c03c7dedd54c2f282", "sha256": "4232c2d39eb46ebe7877fc3ad9c99175692441f40d75a66027329923f84ed42e" }, "downloads": -1, "filename": "python-osc-1.1.tar.gz", "has_sig": false, "md5_digest": "3ebb28cf1f4bd05c03c7dedd54c2f282", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15679, "upload_time": "2013-07-30T12:06:11", "url": "https://files.pythonhosted.org/packages/80/b7/dcbf5b61a7966e2b13097dfdf4a07883d5557519b3d915ddf682c16645c6/python-osc-1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "7ecd012a781be39134e9f31703cf5c6f", "sha256": "cdc97ae046f39f5ee5523f9d6fea1f3ffa82d44207d91936dc03b8dca0c4cbb9" }, "downloads": -1, "filename": "python-osc-1.1.zip", "has_sig": false, "md5_digest": "7ecd012a781be39134e9f31703cf5c6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25319, "upload_time": "2013-07-30T12:06:09", "url": "https://files.pythonhosted.org/packages/7f/4b/f255a0fe48e441b60b385d9dcc6c580ebe29bdb902dbc2fc4a64bfd83298/python-osc-1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "36c28372db96db6eac5c554146bbf8e1", "sha256": "a63ff909ba5e528f451e1de7363347723db1ff611ca6aaff1e19a0629a12fcea" }, "downloads": -1, "filename": "python-osc-1.2.tar.gz", "has_sig": false, "md5_digest": "36c28372db96db6eac5c554146bbf8e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15696, "upload_time": "2013-08-15T12:19:36", "url": "https://files.pythonhosted.org/packages/3d/b3/209cd640562641a38bf336dd498cfc667789c6d5f75512318088fa6d8f17/python-osc-1.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "d481a493231b3aa78d1e29d4dc4f614c", "sha256": "c02f747754f47cba01b98dbdad7f33fccba2df0870137f660e5591479d1a548d" }, "downloads": -1, "filename": "python-osc-1.2.zip", "has_sig": false, "md5_digest": "d481a493231b3aa78d1e29d4dc4f614c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25356, "upload_time": "2013-08-15T12:19:31", "url": "https://files.pythonhosted.org/packages/1a/a6/ecf90a52f00a9a7c27a03b8d2b4acb448d364634e0ad8e7b4cb3a1c6a405/python-osc-1.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "2dff69ce85e87361852b6cb04a7f004a", "sha256": "a7237e12b4d8e1e98a7aab13200d89bd5fd50ff84f3741fc1b7ea9ec23a01924" }, "downloads": -1, "filename": "python-osc-1.3.zip", "has_sig": false, "md5_digest": "2dff69ce85e87361852b6cb04a7f004a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25737, "upload_time": "2014-02-18T19:44:01", "url": "https://files.pythonhosted.org/packages/a0/ff/272b76d063be28821b4fa71c8a36d7f29c87c8409e5b8d197efca8dd5658/python-osc-1.3.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "f00193ea5803dd20991b543fd0371fa4", "sha256": "23f3d0a553f5ea606b9d3f12c39a314030c4413176082359d268f177ff458c9d" }, "downloads": -1, "filename": "python-osc-1.4.zip", "has_sig": false, "md5_digest": "f00193ea5803dd20991b543fd0371fa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26479, "upload_time": "2014-04-17T10:49:56", "url": "https://files.pythonhosted.org/packages/70/54/8069cada2bb62f77c9a0d21e7b08079c843b0716b15458575d511506fe6f/python-osc-1.4.zip" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "b716b576ab97009fe9f3f41361ea9faa", "sha256": "e376c5a073cee3c2a64a58e55fcb1e103a3676b8d8ecafac62186b970f54f2fa" }, "downloads": -1, "filename": "python-osc-1.4.1.tar.gz", "has_sig": false, "md5_digest": "b716b576ab97009fe9f3f41361ea9faa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16623, "upload_time": "2014-05-01T09:30:11", "url": "https://files.pythonhosted.org/packages/38/08/d9ae428b48fd9e7db9744a0cd96a3b541672de278116e65306728f4233b9/python-osc-1.4.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "9d9a13e105ef638f35772281ff53fe3b", "sha256": "ec6848a3e2fe8f3ebe5af845bf67433c83c2975013464cecd7e15681657eb0f1" }, "downloads": -1, "filename": "python-osc-1.4.1.zip", "has_sig": false, "md5_digest": "9d9a13e105ef638f35772281ff53fe3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26938, "upload_time": "2014-05-01T09:30:08", "url": "https://files.pythonhosted.org/packages/00/d6/f5e222ae81d689e3ffe45ad36ea02902f7426beeeb6a5864311ae0a222e5/python-osc-1.4.1.zip" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "82b503a309d5349d2f6daea9d28bc39c", "sha256": "13ee25f76fba14ccf39be614d3072cd24de86c980fa8eeaf091697e1289cb6af" }, "downloads": -1, "filename": "python-osc-1.4.2.tar.gz", "has_sig": false, "md5_digest": "82b503a309d5349d2f6daea9d28bc39c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16939, "upload_time": "2014-10-26T11:44:46", "url": "https://files.pythonhosted.org/packages/a4/c5/564d762d032c6ac874593618d81ed56421a2471758774ac403c6fce68fe9/python-osc-1.4.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "4cad97ab39756d7d5e54c729ab390c97", "sha256": "3bbbaa3a8ee3175fc17cd8116c143bc3827f56515fbeaac03c17a0b78bcd1538" }, "downloads": -1, "filename": "python-osc-1.4.2.zip", "has_sig": false, "md5_digest": "4cad97ab39756d7d5e54c729ab390c97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27401, "upload_time": "2014-10-26T11:44:43", "url": "https://files.pythonhosted.org/packages/3a/03/421e65835d10a5b5dbc0ed3b3696edf7d50e15aafde6e4df558f36aa59fb/python-osc-1.4.2.zip" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "14dae8294bb616e4d59b435488d47269", "sha256": "0f93991bd4f27362e39a233cfd682ecf8fd19b281223b2180fb0ce44d7ec1f67" }, "downloads": -1, "filename": "python-osc-1.5.tar.gz", "has_sig": false, "md5_digest": "14dae8294bb616e4d59b435488d47269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17630, "upload_time": "2015-05-17T09:14:58", "url": "https://files.pythonhosted.org/packages/5d/2b/df51ac3f8830bddbbb1df36d480fb68bce15ca599c93e418c92407cd32ac/python-osc-1.5.tar.gz" }, { "comment_text": "", "digests": { "md5": "0d9fecb8af490154446f6f0a5b6a29c1", "sha256": "e724db65d621d6479c98a0246d86daa0c81c792afcf6d52a4001d2cb071d8d60" }, "downloads": -1, "filename": "python-osc-1.5.zip", "has_sig": false, "md5_digest": "0d9fecb8af490154446f6f0a5b6a29c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27927, "upload_time": "2015-05-17T09:14:54", "url": "https://files.pythonhosted.org/packages/89/90/bf3da011d06c9f7edb651d29ec0c8551b58ffd5cc09ba338e7a8dea94e5c/python-osc-1.5.zip" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "8bf95ace8563b9aeab2c51a60f1c6d0c", "sha256": "e42d807c3dcdc2f7f45bb79708d217ff527bf1ccf1cee3d804bc3e75f6653005" }, "downloads": -1, "filename": "python-osc-1.6.tar.gz", "has_sig": false, "md5_digest": "8bf95ace8563b9aeab2c51a60f1c6d0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17738, "upload_time": "2016-04-26T11:38:36", "url": "https://files.pythonhosted.org/packages/8b/0b/340d950b95090cbee4cdd0a5dcf010c8718ccee6b334711ab4db19793608/python-osc-1.6.tar.gz" }, { "comment_text": "", "digests": { "md5": "efde823d45f3f4697e3a33d76e0327bb", "sha256": "acbd9b8067eca11c3bd8fa38e3f79ce182e5cd591a1185de083a86e4550e43ff" }, "downloads": -1, "filename": "python-osc-1.6.zip", "has_sig": false, "md5_digest": "efde823d45f3f4697e3a33d76e0327bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28159, "upload_time": "2016-04-26T11:38:12", "url": "https://files.pythonhosted.org/packages/d3/c4/f728968b03a525df7ed10a819f18d806fb2eefe7d4eda144feca913eb415/python-osc-1.6.zip" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "31858daba93d079039223ce1b529885a", "sha256": "3780ec96966ca333647d0d59c650af734416dbdc2583a6a65cad527049518e6c" }, "downloads": -1, "filename": "python-osc-1.6.1.tar.gz", "has_sig": false, "md5_digest": "31858daba93d079039223ce1b529885a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17623, "upload_time": "2016-11-05T12:30:09", "url": "https://files.pythonhosted.org/packages/1b/9b/2704099cd1b7e7e904e0162ce3161a68f87b5c7b25b0b24598915bb1deb4/python-osc-1.6.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "2784980cb0603833f58a5a1d7a19c3ac", "sha256": "a625c9b7f60467a5093a117f6005db1b68a7d6fb7f1b1a34eb4e9f3768c30a2e" }, "downloads": -1, "filename": "python-osc-1.6.1.zip", "has_sig": false, "md5_digest": "2784980cb0603833f58a5a1d7a19c3ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28504, "upload_time": "2016-11-05T12:30:06", "url": "https://files.pythonhosted.org/packages/49/71/46689af281c9692a13152a59d6713b78cd3b16e6da3d7026a10847585354/python-osc-1.6.1.zip" } ], "1.6.2": [ { "comment_text": "", "digests": { "md5": "4596a051270a8cc93b6c20dc9b6b0cc2", "sha256": "2ec442ae526075c8fb0d93d5f8ca955df878e71b9ccde61305d923e727172c46" }, "downloads": -1, "filename": "python-osc-1.6.2.tar.gz", "has_sig": false, "md5_digest": "4596a051270a8cc93b6c20dc9b6b0cc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17631, "upload_time": "2016-11-10T13:42:12", "url": "https://files.pythonhosted.org/packages/51/f4/39867c293aed0e7e7c1f6ffd91b702d6d0f3ee35c173e27159feb21790a1/python-osc-1.6.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "a1352f5b1bea88cf4d6c9641370cfa0b", "sha256": "160041e47d4941d5223f73caf7feadf4128154e6a80b8ed9ef334dba434d8912" }, "downloads": -1, "filename": "python-osc-1.6.2.zip", "has_sig": false, "md5_digest": "a1352f5b1bea88cf4d6c9641370cfa0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28521, "upload_time": "2016-11-10T13:42:09", "url": "https://files.pythonhosted.org/packages/70/28/7c46e5a3ea0e0b6df5ebdd62a911b331294bb049dfaf0593d642ad8ae86b/python-osc-1.6.2.zip" } ], "1.6.3": [ { "comment_text": "", "digests": { "md5": "a3e41ec4a21bb3460717b45f6662c40f", "sha256": "1aa1a40dfa60a62c67be04f1cd16c8fa8566c9c58cbbeea3fd26a09a885f8145" }, "downloads": -1, "filename": "python-osc-1.6.3.zip", "has_sig": false, "md5_digest": "a3e41ec4a21bb3460717b45f6662c40f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28733, "upload_time": "2017-02-25T11:43:35", "url": "https://files.pythonhosted.org/packages/57/fd/cde5493df4e6c02e62fdea69cd66c03f3298c377b704312e070b410c0735/python-osc-1.6.3.zip" } ], "1.6.4": [ { "comment_text": "", "digests": { "md5": "6085e5ed3eccbcc2f0da1d14eb83a3c7", "sha256": "ffc70e3113aa98ec1e6c988ee901df6f047f9bdced3403aed3705038b237c32e" }, "downloads": -1, "filename": "python-osc-1.6.4.tar.gz", "has_sig": false, "md5_digest": "6085e5ed3eccbcc2f0da1d14eb83a3c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17801, "upload_time": "2017-12-19T02:26:43", "url": "https://files.pythonhosted.org/packages/c3/8f/8d2f64be9e293e1d2716f3e90bb83d2a61f134076dd65b6d4bf3ae21f252/python-osc-1.6.4.tar.gz" } ], "1.6.6": [ { "comment_text": "", "digests": { "md5": "259e9cedbc1bf21f0d407d15451510df", "sha256": "61175b60da5edfe958dcee52e49bf08b8acade6e70a00cb43be1ff5d39d3b77e" }, "downloads": -1, "filename": "python-osc-1.6.6.tar.gz", "has_sig": false, "md5_digest": "259e9cedbc1bf21f0d407d15451510df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19594, "upload_time": "2018-04-15T19:00:32", "url": "https://files.pythonhosted.org/packages/f1/fb/a864cd3f2037efd85fdcb95640d23e669039978afe4e6d3b7f187aa7819f/python-osc-1.6.6.tar.gz" } ], "1.6.7": [ { "comment_text": "", "digests": { "md5": "33e74b87733eae56da2d2639be2f1c08", "sha256": "890c101fdfe0f3f33b3771339e3418561263fe8f10a404fb5e102c1ac60743a2" }, "downloads": -1, "filename": "python-osc-1.6.7.tar.gz", "has_sig": false, "md5_digest": "33e74b87733eae56da2d2639be2f1c08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20811, "upload_time": "2018-06-10T20:10:38", "url": "https://files.pythonhosted.org/packages/2f/bc/e5c15469482a70dc4bd0bebd9dab07b20852143e9f8b5e1fdb3d389095ce/python-osc-1.6.7.tar.gz" } ], "1.6.8": [ { "comment_text": "", "digests": { "md5": "5feb62271451d27127500149169a4180", "sha256": "983f327cfe48d0a020432abd933942711c63697333faab9b1d47b7658b7e08de" }, "downloads": -1, "filename": "python-osc-1.6.8.tar.gz", "has_sig": false, "md5_digest": "5feb62271451d27127500149169a4180", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21622, "upload_time": "2018-06-20T19:25:00", "url": "https://files.pythonhosted.org/packages/9c/2c/72e50535fa41b703ee891b6d06c661ad4d1c973992a7f09686ac8bb4cef6/python-osc-1.6.8.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "d2d72048be1c98c226e55a62e284b976", "sha256": "0ea04cff980a8eae710e87dff71649a2abbf74aead2ca65f57731b21b4425705" }, "downloads": -1, "filename": "python-osc-1.7.0.tar.gz", "has_sig": false, "md5_digest": "d2d72048be1c98c226e55a62e284b976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22117, "upload_time": "2018-10-29T21:09:39", "url": "https://files.pythonhosted.org/packages/e7/47/1db2e76c90de6158744ca78aceeca6045295dc2ee59f0c71035e3566f678/python-osc-1.7.0.tar.gz" } ], "1.7.2": [ { "comment_text": "", "digests": { "md5": "7c4ff5e44e99dfee1327705863c86461", "sha256": "d04f223048f461d60fa7214eeb0f605ddf4bd40aba5a03c8cff3ec42f73902b3" }, "downloads": -1, "filename": "python-osc-1.7.2.tar.gz", "has_sig": false, "md5_digest": "7c4ff5e44e99dfee1327705863c86461", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23666, "upload_time": "2019-07-18T18:56:38", "url": "https://files.pythonhosted.org/packages/03/5e/6b7b09b08d8810e48b056f2c3b6409d5c5e1d0fd48c357cb9a6f6852fcbf/python-osc-1.7.2.tar.gz" } ], "1.7.4": [ { "comment_text": "", "digests": { "md5": "90c963deb9b07e9fbfe0df5ccf21e882", "sha256": "760f9d7a8c586a5347eb309336df08b308892cc6ca558b0874e7594bcb07d032" }, "downloads": -1, "filename": "python-osc-1.7.4.tar.gz", "has_sig": false, "md5_digest": "90c963deb9b07e9fbfe0df5ccf21e882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23994, "upload_time": "2019-10-10T07:32:28", "url": "https://files.pythonhosted.org/packages/eb/76/ece85b5f35d13d684d52a251e5a676c80ff77164485266755f1b62bd92fe/python-osc-1.7.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "90c963deb9b07e9fbfe0df5ccf21e882", "sha256": "760f9d7a8c586a5347eb309336df08b308892cc6ca558b0874e7594bcb07d032" }, "downloads": -1, "filename": "python-osc-1.7.4.tar.gz", "has_sig": false, "md5_digest": "90c963deb9b07e9fbfe0df5ccf21e882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23994, "upload_time": "2019-10-10T07:32:28", "url": "https://files.pythonhosted.org/packages/eb/76/ece85b5f35d13d684d52a251e5a676c80ff77164485266755f1b62bd92fe/python-osc-1.7.4.tar.gz" } ] }