{ "info": { "author": "Vendula Poncova", "author_email": "vponcova@redhat.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)", "Programming Language :: Python :: 3" ], "description": "# dasbus\nThis DBus library is written in Python 3, based on GLib and inspired by pydbus. Find out more in\nthe [documentation](https://dasbus.readthedocs.io/en/latest/).\n\nThe code used to be part of the [Anaconda Installer](https://github.com/rhinstaller/anaconda)\nproject. It was based on the [pydbus](https://github.com/LEW21/pydbus) library, but we replaced\nit with our own solution because its upstream development stalled. The dasbus library is\na result of this effort.\n\n[![Build Status](https://travis-ci.com/rhinstaller/dasbus.svg?branch=master)](https://travis-ci.com/rhinstaller/dasbus)\n[![Documentation Status](https://readthedocs.org/projects/dasbus/badge/?version=latest)](https://dasbus.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/rhinstaller/dasbus/branch/master/graph/badge.svg)](https://codecov.io/gh/rhinstaller/dasbus)\n\n## Requirements\n\n* Python 3.6+\n* PyGObject 3\n\nYou can install [PyGObject](https://pygobject.readthedocs.io) provided by your system or use PyPI.\nThe system package is usually called `python3-gi`, `python3-gobject` or `pygobject3`. See the\n[instructions](https://pygobject.readthedocs.io/en/latest/getting_started.html) for your platform\n(only for PyGObject, you don't need cairo or GTK).\n\nThe library is known to work with Python 3.8, PyGObject 3.34 and GLib 2.63, but these are not the\nrequired minimal versions.\n\n## Installation\n\nInstall the package from [PyPI](https://pypi.org/project/dasbus/). Follow the instructions above\nto install the required dependencies.\n\n```\npip3 install dasbus\n```\n\nOr install the RPM package on Fedora 31+.\n\n```\nsudo dnf install python3-dasbus\n```\n\n## Examples\n\nShow the current hostname.\n\n```python\nfrom dasbus.connection import SystemMessageBus\nbus = SystemMessageBus()\n\nproxy = bus.get_proxy(\n \"org.freedesktop.hostname1\",\n \"/org/freedesktop/hostname1\"\n)\n\nprint(proxy.Hostname)\n```\n\nSend a notification to the notification server.\n\n```python\nfrom dasbus.connection import SessionMessageBus\nbus = SessionMessageBus()\n\nproxy = bus.get_proxy(\n \"org.freedesktop.Notifications\",\n \"/org/freedesktop/Notifications\"\n)\n\nid = proxy.Notify(\n \"\", 0, \"face-smile\", \"Hello World!\",\n \"This notification can be ignored.\",\n [], {}, 0\n)\n\nprint(\"The notification {} was sent.\".format(id))\n```\n\nHandle a closed notification.\n\n```python\nfrom dasbus.loop import EventLoop\nloop = EventLoop()\n\nfrom dasbus.connection import SessionMessageBus\nbus = SessionMessageBus()\n\nproxy = bus.get_proxy(\n \"org.freedesktop.Notifications\",\n \"/org/freedesktop/Notifications\"\n)\n\ndef callback(id, reason):\n print(\"The notification {} was closed.\".format(id))\n\nproxy.NotificationClosed.connect(callback)\nloop.run()\n```\n\nRun the service org.example.HelloWorld.\n\n```python\nfrom dasbus.loop import EventLoop\nloop = EventLoop()\n\nfrom dasbus.connection import SessionMessageBus\nbus = SessionMessageBus()\n\nclass HelloWorld(object):\n __dbus_xml__ = \"\"\"\n \n \n \n \n \n \n \n \n \"\"\"\n\n def Hello(self, name):\n return \"Hello {}!\".format(name)\n\nbus.publish_object(\"/org/example/HelloWorld\", HelloWorld())\nbus.register_service(\"org.example.HelloWorld\")\nloop.run()\n```\n\n\n## Features\n\nUse constants to define DBus services and objects.\n\n```python\nfrom dasbus.connection import SystemMessageBus\nfrom dasbus.identifier import DBusServiceIdentifier\n\nNETWORK_MANAGER = DBusServiceIdentifier(\n namespace=(\"org\", \"freedesktop\", \"NetworkManager\"),\n message_bus=SystemMessageBus()\n)\n\nproxy = NETWORK_MANAGER.get_proxy()\nprint(proxy.NetworkingEnabled)\n```\n\nUse exceptions to propagate and handle DBus errors. Create an error mapper and a decorator for\nmapping Python exception classes to DBus error names. The message bus will use the given error\nmapper to transform Python exceptions to DBus errors and back.\n\n```python\nfrom dasbus.error import ErrorMapper, DBusError, get_error_decorator\nerror_mapper = ErrorMapper()\ndbus_error = get_error_decorator(error_mapper)\n\nfrom dasbus.connection import SessionMessageBus\nbus = SessionMessageBus(error_mapper=error_mapper)\n\n@dbus_error(\"org.freedesktop.DBus.Error.InvalidArgs\")\nclass InvalidArgs(DBusError):\n pass\n```\n\nCall DBus methods asynchronously.\n\n```python\nfrom dasbus.loop import EventLoop\nloop = EventLoop()\n\ndef callback(call):\n print(call())\n\nproxy = NETWORK_MANAGER.get_proxy()\nproxy.GetDevices(callback=callback)\nloop.run()\n```\n\nGenerate XML specifications from Python classes.\n\n```python\nfrom dasbus.server.interface import dbus_interface\nfrom dasbus.typing import Str\n\n@dbus_interface(\"org.example.HelloWorld\")\nclass HelloWorld(object):\n\n def Hello(self, name: Str) -> Str:\n return \"Hello {}!\".format(name)\n\nprint(HelloWorld.__dbus_xml__)\n```\n\nRepresent DBus structures by Python objects.\n\n```python\nfrom dasbus.structure import DBusData\nfrom dasbus.typing import Str, get_variant\n\nclass UserData(DBusData):\n def __init__(self):\n self._name = \"\"\n\n @property\n def name(self) -> Str:\n return self._name\n\n @name.setter\n def name(self, name):\n self._name = name\n\ndata = UserData()\ndata.name = \"Alice\"\n\nprint(UserData.to_structure(data))\nprint(UserData.from_structure({\n \"name\": get_variant(Str, \"Bob\")\n}))\n```\n\nCreate Python objects that can be published on DBus.\n\n```python\nfrom dasbus.server.interface import dbus_interface\nfrom dasbus.server.template import InterfaceTemplate\nfrom dasbus.server.publishable import Publishable\nfrom dasbus.typing import Str\n\n@dbus_interface(\"org.example.Chat\")\nclass ChatInterface(InterfaceTemplate):\n\n def Send(self, message: Str):\n return self.implementation.send()\n\nclass Chat(Publishable):\n\n def for_publication(self):\n return ChatInterface(self)\n\n def send(self, message):\n print(message) \n\n```\n\nUse DBus containers to publish dynamically created Python objects.\n\n```python\nfrom dasbus.connection import SessionMessageBus\nfrom dasbus.server.container import DBusContainer\n\ncontainer = DBusContainer(\n namespace=(\"org\", \"example\", \"Chat\"),\n message_bus=SessionMessageBus()\n)\n\nprint(container.to_object_path(Chat()))\n```\n\n## Inspiration\n\nLook at the [complete examples](https://github.com/rhinstaller/dasbus/tree/master/examples) or\n[DBus services](https://github.com/rhinstaller/anaconda/tree/master/pyanaconda/modules) of\nthe Anaconda Installer for more inspiration.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rhinstaller/dasbus", "keywords": "dbus glib library", "license": "", "maintainer": "", "maintainer_email": "", "name": "dasbus", "package_url": "https://pypi.org/project/dasbus/", "platform": "", "project_url": "https://pypi.org/project/dasbus/", "project_urls": { "Homepage": "https://github.com/rhinstaller/dasbus" }, "release_url": "https://pypi.org/project/dasbus/1.6/", "requires_dist": null, "requires_python": ">=3.6", "summary": "DBus library in Python 3", "version": "1.6", "yanked": false, "yanked_reason": null }, "last_serial": 10519752, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ec4381278064914bd92459da22cdcad9", "sha256": "9b354e813626f6ccc8ea762fc64306d4479a556dc3ab5e0870e18d412eec6ecb" }, "downloads": -1, "filename": "dasbus-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ec4381278064914bd92459da22cdcad9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 53266, "upload_time": "2019-10-30T17:53:55", "upload_time_iso_8601": "2019-10-30T17:53:55.493434Z", "url": "https://files.pythonhosted.org/packages/24/2f/a5fd4b84359fc39f4252f591fbbc8bfd1113b0f6343ea684e8a52b28315c/dasbus-0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a65c614de2a8fb668a3660563cba1365", "sha256": "86a83351190c0c4bea5921f33365642140c156686a6a1f06d419c3a021374bd9" }, "downloads": -1, "filename": "dasbus-0.1.tar.gz", "has_sig": false, "md5_digest": "a65c614de2a8fb668a3660563cba1365", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36119, "upload_time": "2019-10-30T17:53:58", "upload_time_iso_8601": "2019-10-30T17:53:58.092823Z", "url": "https://files.pythonhosted.org/packages/39/10/6594a3ad92c0cc7411e6ac723577a5d885238a389bda794c91480199b600/dasbus-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2": [ { "comment_text": "", "digests": { "md5": "b176a219ef087743d0c39a04b3992c7a", "sha256": "b51f1c83f8c39a1792b038573f84958381019156a7226a43d58305e7fdf5ab8f" }, "downloads": -1, "filename": "dasbus-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b176a219ef087743d0c39a04b3992c7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 54041, "upload_time": "2020-01-13T14:41:34", "upload_time_iso_8601": "2020-01-13T14:41:34.575480Z", "url": "https://files.pythonhosted.org/packages/2c/aa/95af718288370876ed8ef743b32f6756c5c942ae4d21a58ed6674064af08/dasbus-0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "72bb43d8438af1efe2ad771040a00def", "sha256": "62d1961640290a8f67c496444228016d23d04d1ba36c98abcf148ebbfa0c3fc6" }, "downloads": -1, "filename": "dasbus-0.2.tar.gz", "has_sig": false, "md5_digest": "72bb43d8438af1efe2ad771040a00def", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37278, "upload_time": "2020-01-13T14:41:35", "upload_time_iso_8601": "2020-01-13T14:41:35.930409Z", "url": "https://files.pythonhosted.org/packages/55/54/0cc96f78b40077c1ba299c987fd21df75fd1bd2531b8bf56fabd33e7eea5/dasbus-0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3": [ { "comment_text": "", "digests": { "md5": "65ae592bac2f7efc519f6f6994442a90", "sha256": "cf77915bef11511216c0ce04d2b16097b343ac17f8f167e5f5d98477e5165e1e" }, "downloads": -1, "filename": "dasbus-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "65ae592bac2f7efc519f6f6994442a90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 56488, "upload_time": "2020-04-02T09:01:15", "upload_time_iso_8601": "2020-04-02T09:01:15.099856Z", "url": "https://files.pythonhosted.org/packages/a2/48/6f9962434f6d239ae5c77459f594c037979b924897580261662a46d6db19/dasbus-0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9f59891ecb08b14bdf05ac9ddd437fd5", "sha256": "68b1b68ae47ba781fbc6834b53182879cd385715774d8f705ae9797a2881f3d2" }, "downloads": -1, "filename": "dasbus-0.3.tar.gz", "has_sig": false, "md5_digest": "9f59891ecb08b14bdf05ac9ddd437fd5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40636, "upload_time": "2020-04-02T09:01:16", "upload_time_iso_8601": "2020-04-02T09:01:16.814507Z", "url": "https://files.pythonhosted.org/packages/5b/38/1cca6fc77fff355fe61ff36105b0ca1cc37d21da2f4d7b702beda4852509/dasbus-0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4": [ { "comment_text": "", "digests": { "md5": "4cee6486d72167570dd9913039a73470", "sha256": "bf6eac8e8545eddda15eb6c16ef52f6d789902b1137131606a836f65db6eba5f" }, "downloads": -1, "filename": "dasbus-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4cee6486d72167570dd9913039a73470", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 57768, "upload_time": "2020-04-08T10:41:53", "upload_time_iso_8601": "2020-04-08T10:41:53.845602Z", "url": "https://files.pythonhosted.org/packages/d1/49/cfd89573dffbf9a5b3943d40c9100f45f85e8e22bbb8389e02dc5f655f96/dasbus-0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1822d0483b6a32459db79101d3603e29", "sha256": "e6768b3b6b282d86fbd2faa28a9f1d3c91ae58ef469975294fee07dddde4aa4c" }, "downloads": -1, "filename": "dasbus-0.4.tar.gz", "has_sig": false, "md5_digest": "1822d0483b6a32459db79101d3603e29", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 41804, "upload_time": "2020-04-08T10:41:55", "upload_time_iso_8601": "2020-04-08T10:41:55.719885Z", "url": "https://files.pythonhosted.org/packages/77/4e/16566315257f43516cbe48e800d942ecce380a562b846f26eea74ffe77f4/dasbus-0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0": [ { "comment_text": "", "digests": { "md5": "5c902e4f1a983f135ccba4158d272a98", "sha256": "adb9a93b609853f6449f7b57029ea88559767fbfbcf69ee9bf408f5a5cde9b29" }, "downloads": -1, "filename": "dasbus-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5c902e4f1a983f135ccba4158d272a98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 58197, "upload_time": "2020-05-05T10:48:12", "upload_time_iso_8601": "2020-05-05T10:48:12.050510Z", "url": "https://files.pythonhosted.org/packages/1d/af/7e850aa42dd488148fdaf76abf0bea923cb63b291d480d77092314f18795/dasbus-1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4969595b371fb187ccc4e007afdfa91b", "sha256": "83f7f755424143745ad1b6c8807b0974946825ab6722c5bf60683a3a03dde22a" }, "downloads": -1, "filename": "dasbus-1.0.tar.gz", "has_sig": false, "md5_digest": "4969595b371fb187ccc4e007afdfa91b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 42414, "upload_time": "2020-05-05T10:48:14", "upload_time_iso_8601": "2020-05-05T10:48:14.334354Z", "url": "https://files.pythonhosted.org/packages/be/bf/8826ff6298ff576a53c8c68c2eea743708a29f9412e1631f3506beb74c16/dasbus-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1": [ { "comment_text": "", "digests": { "md5": "4a682b0631ee507bed566cc33c45f065", "sha256": "aecbc25645df79a81fa1bffdafac4c4d6d3d2dc23e34b2da5a144e199da9a1eb" }, "downloads": -1, "filename": "dasbus-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4a682b0631ee507bed566cc33c45f065", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 58197, "upload_time": "2020-05-14T14:54:14", "upload_time_iso_8601": "2020-05-14T14:54:14.926417Z", "url": "https://files.pythonhosted.org/packages/be/cf/8d7158f54f6f036832f4fad99eb1d1bd2396697df327a456ee6ac35ba39e/dasbus-1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6e1f94cc3a11e98f4762e6ef96030419", "sha256": "546c10c57e17ae19b319a279415000e525f7cbed46a277ad34b2423aab93fc3c" }, "downloads": -1, "filename": "dasbus-1.1.tar.gz", "has_sig": false, "md5_digest": "6e1f94cc3a11e98f4762e6ef96030419", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67710, "upload_time": "2020-05-14T14:54:16", "upload_time_iso_8601": "2020-05-14T14:54:16.461201Z", "url": "https://files.pythonhosted.org/packages/1c/93/2c7a858c0627f99632239c48ed199d03372d2f2f0048dc7559c831e7b079/dasbus-1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2": [ { "comment_text": "", "digests": { "md5": "f73a4d9ecc6f98bb9422d8013d47bd0d", "sha256": "9983a06a3d85dcf233ec0b623c346b5c9f5783ba5ecf0ec54fdb60dbb69993d9" }, "downloads": -1, "filename": "dasbus-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f73a4d9ecc6f98bb9422d8013d47bd0d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 58282, "upload_time": "2020-05-18T13:25:37", "upload_time_iso_8601": "2020-05-18T13:25:37.740256Z", "url": "https://files.pythonhosted.org/packages/69/2f/c024a77eb55ac1f8bcba47e9c8839dd6b2be870864489abfcd615179beb0/dasbus-1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "113dde2bd00afd7391f2504bd8af1bfb", "sha256": "b186a10d4e8dd0d8564a350d812353c55dfdb838e9404954c9bf1b5db104ccb9" }, "downloads": -1, "filename": "dasbus-1.2.tar.gz", "has_sig": false, "md5_digest": "113dde2bd00afd7391f2504bd8af1bfb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67767, "upload_time": "2020-05-18T13:25:39", "upload_time_iso_8601": "2020-05-18T13:25:39.349060Z", "url": "https://files.pythonhosted.org/packages/8b/49/e058bb4234540af70b135328324996dfed30180842974bed6db11be44739/dasbus-1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3": [ { "comment_text": "", "digests": { "md5": "2f90738527258b74d4b384f15a2d0c51", "sha256": "920dcb69559b22249ec3e9b92d8d9aeecaf888dad84ef9a1ac5caf265f34f99d" }, "downloads": -1, "filename": "dasbus-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2f90738527258b74d4b384f15a2d0c51", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 58624, "upload_time": "2020-06-17T10:27:03", "upload_time_iso_8601": "2020-06-17T10:27:03.523176Z", "url": "https://files.pythonhosted.org/packages/b4/87/4d594ca4714fa6881ad554b5f6eaa7404f18db6e00c5dccd6f222dcb8fda/dasbus-1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "db75d72ba6dc6b087416e41a46aa8ff8", "sha256": "64e8ff4aec43cdf963c87e0a265639845639f398289d44ec073e5046f6058e7b" }, "downloads": -1, "filename": "dasbus-1.3.tar.gz", "has_sig": false, "md5_digest": "db75d72ba6dc6b087416e41a46aa8ff8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 70503, "upload_time": "2020-06-17T10:27:05", "upload_time_iso_8601": "2020-06-17T10:27:05.138305Z", "url": "https://files.pythonhosted.org/packages/99/4e/8e1222516f91716b766c3fd1427c655747504371dd652e8cce8d47806981/dasbus-1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4": [ { "comment_text": "", "digests": { "md5": "8f6b94d51250ec6ea075dff09f65c04f", "sha256": "a963cb023a64c3babf2ce1253d6d0c707da149b607205e10ffe16a2ccbd54054" }, "downloads": -1, "filename": "dasbus-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8f6b94d51250ec6ea075dff09f65c04f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 58622, "upload_time": "2020-07-24T10:05:33", "upload_time_iso_8601": "2020-07-24T10:05:33.634387Z", "url": "https://files.pythonhosted.org/packages/de/bb/be74d9e78ee39188256efa5f05118298747a80e811c967e01f909e6cafdc/dasbus-1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "aecfc894ff3c0a3cd779454f05da92c2", "sha256": "a20c161c7e7f92f1fd97070f63f1639b79ffbf52061235f98a16354baef840ca" }, "downloads": -1, "filename": "dasbus-1.4.tar.gz", "has_sig": false, "md5_digest": "aecfc894ff3c0a3cd779454f05da92c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 70631, "upload_time": "2020-07-24T10:05:35", "upload_time_iso_8601": "2020-07-24T10:05:35.349222Z", "url": "https://files.pythonhosted.org/packages/78/20/1e39755716d2fa23338175a4cc6a492c4e16792a66e0ee2c7e1f8b2a58cd/dasbus-1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5": [ { "comment_text": "", "digests": { "md5": "cb3c4302a79d07706f5bdb4236d10671", "sha256": "e2647ddc7c178062af16c2311d389771845cfb87f7e3046e4229e45fa1d68ee8" }, "downloads": -1, "filename": "dasbus-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "cb3c4302a79d07706f5bdb4236d10671", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 59453, "upload_time": "2021-05-03T14:39:28", "upload_time_iso_8601": "2021-05-03T14:39:28.197781Z", "url": "https://files.pythonhosted.org/packages/cf/da/cadf1733b24164aff00bd463bcbf19db99e99f213966edb2c2001f5f643d/dasbus-1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "802b7b44e565473300dfe0c8d5d0851e", "sha256": "ccb8687a826271e099ab3590e21f2d32016b0e60d4b42e2a04f3d20ffb8d7c87" }, "downloads": -1, "filename": "dasbus-1.5.tar.gz", "has_sig": false, "md5_digest": "802b7b44e565473300dfe0c8d5d0851e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 71714, "upload_time": "2021-05-03T14:39:29", "upload_time_iso_8601": "2021-05-03T14:39:29.847277Z", "url": "https://files.pythonhosted.org/packages/35/2b/81c1fc1ec0bc174c415757b5fc6e6c9e3c6b333594890629626825d73734/dasbus-1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6": [ { "comment_text": "", "digests": { "md5": "bba0f3140ebe20c8ac115c8d36802bfc", "sha256": "092878cab50142614656b405d2c1f5488a5070c01c2368d113b3840ddc0b6f6e" }, "downloads": -1, "filename": "dasbus-1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "bba0f3140ebe20c8ac115c8d36802bfc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 60065, "upload_time": "2021-05-31T15:17:37", "upload_time_iso_8601": "2021-05-31T15:17:37.339491Z", "url": "https://files.pythonhosted.org/packages/a1/3f/f557ce73ce3600d4b5c82aa5444bc081c6c4eb8c9fd2de65b9c2f0c4424b/dasbus-1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6499e089c43417af67f03cba80d3c0fd", "sha256": "149ad8fc8c3d298321ab50159b547ab2834899a89e47e21c6d42f2c92e56e94d" }, "downloads": -1, "filename": "dasbus-1.6.tar.gz", "has_sig": false, "md5_digest": "6499e089c43417af67f03cba80d3c0fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 73031, "upload_time": "2021-05-31T15:17:39", "upload_time_iso_8601": "2021-05-31T15:17:39.391493Z", "url": "https://files.pythonhosted.org/packages/83/f6/9cc204880fb3c92b6acad9eda77689a7f59dc6d692cb582dbd09295c50cd/dasbus-1.6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bba0f3140ebe20c8ac115c8d36802bfc", "sha256": "092878cab50142614656b405d2c1f5488a5070c01c2368d113b3840ddc0b6f6e" }, "downloads": -1, "filename": "dasbus-1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "bba0f3140ebe20c8ac115c8d36802bfc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 60065, "upload_time": "2021-05-31T15:17:37", "upload_time_iso_8601": "2021-05-31T15:17:37.339491Z", "url": "https://files.pythonhosted.org/packages/a1/3f/f557ce73ce3600d4b5c82aa5444bc081c6c4eb8c9fd2de65b9c2f0c4424b/dasbus-1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6499e089c43417af67f03cba80d3c0fd", "sha256": "149ad8fc8c3d298321ab50159b547ab2834899a89e47e21c6d42f2c92e56e94d" }, "downloads": -1, "filename": "dasbus-1.6.tar.gz", "has_sig": false, "md5_digest": "6499e089c43417af67f03cba80d3c0fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 73031, "upload_time": "2021-05-31T15:17:39", "upload_time_iso_8601": "2021-05-31T15:17:39.391493Z", "url": "https://files.pythonhosted.org/packages/83/f6/9cc204880fb3c92b6acad9eda77689a7f59dc6d692cb582dbd09295c50cd/dasbus-1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }