Skip to main content

Pythonic DBus library

Project description

pydbus
======
.. image:: https://travis-ci.org/LEW21/pydbus.svg?branch=master
:target: https://travis-ci.org/LEW21/pydbus
.. image:: https://badge.fury.io/py/pydbus.svg
:target: https://badge.fury.io/py/pydbus

Pythonic DBus library.

Changelog: https://github.com/LEW21/pydbus/releases

Requirements
------------
* Python 2.7+ - but works best on 3.4+ (help system is nicer there)
* PyGI_ (not packaged on pypi, you need to install it from your distribution's repository - it's usually called python-gi, python-gobject or pygobject)
* GLib_ 2.46+ and girepository_ 1.46+ (Ubuntu 16.04+) - for object publication support

.. _PyGI: https://wiki.gnome.org/Projects/PyGObject
.. _GLib: https://developer.gnome.org/glib/
.. _girepository: https://wiki.gnome.org/Projects/GObjectIntrospection

Examples
--------

Send a desktop notification
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python

from pydbus import SessionBus

bus = SessionBus()
notifications = bus.get('.Notifications')

notifications.Notify('test', 0, 'dialog-information', "Hello World!", "pydbus works :)", [], {}, 5000)

List systemd units
~~~~~~~~~~~~~~~~~~
.. code-block:: python

from pydbus import SystemBus

bus = SystemBus()
systemd = bus.get(".systemd1")

for unit in systemd.ListUnits():
print(unit)

Start or stop systemd unit
~~~~~~~~~~~~~~~~~~
.. code-block:: python

from pydbus import SystemBus

bus = SystemBus()
systemd = bus.get(".systemd1")

job1 = systemd.StopUnit("ssh.service", "fail")
job2 = systemd.StartUnit("ssh.service", "fail")

Watch for new systemd jobs
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: python

from pydbus import SystemBus
from gi.repository import GLib

bus = SystemBus()
systemd = bus.get(".systemd1")

systemd.JobNew.connect(print)
GLib.MainLoop().run()

# or

systemd.onJobNew = print
GLib.MainLoop().run()

View object's API
~~~~~~~~~~~~~~~~~
.. code-block:: python

from pydbus import SessionBus

bus = SessionBus()
notifications = bus.get('.Notifications')

help(notifications)

More examples & documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Tutorial_ contains more examples and docs.

.. _Tutorial: https://github.com/LEW21/pydbus/blob/master/doc/tutorial.rst

Copyright Information
---------------------

Copyright (C) 2014, 2015, 2016 Linus Lewandowski <linus@lew21.net>

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydbus-0.6.0.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

pydbus-0.6.0-py2.py3-none-any.whl (19.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pydbus-0.6.0.tar.gz.

File metadata

  • Download URL: pydbus-0.6.0.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pydbus-0.6.0.tar.gz
Algorithm Hash digest
SHA256 4207162eff54223822c185da06c1ba8a34137a9602f3da5a528eedf3f78d0f2c
MD5 c6abd44862322679bd4e907bebc3e0d0
BLAKE2b-256 58563e84f2c1f2e39b9ea132460183f123af41e3b9c8befe222a35636baa6a5a

See more details on using hashes here.

File details

Details for the file pydbus-0.6.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pydbus-0.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 66b80106352a718d80d6c681dc2a82588048e30b75aab933e4020eb0660bf85e
MD5 c7376988f3a6f92cd545ef4f3a8c0cf7
BLAKE2b-256 925627148014c2f85ce70332f18612f921f682395c7d4e91ec103783be4fce00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page