class platypush.backend.bluetooth.pushserver.BluetoothPushserverBackend(*args: Any, **kwargs: Any)[source]

Bases: BluetoothBackend, PushServer

Bluetooth OBEX push server. Enable it to allow bluetooth file transfers from other devices.

If you run platypush as a non-root user (and you should) then you to change the group owner of the service discovery protocol file (/var/run/sdp) and add your user to that group. See here for details.


  • pybluez (pip install pybluez)

  • pyobex (pip install git+

__init__(port: int, address: str = '', directory: str = '/home/blacklight/bluetooth', whitelisted_addresses: Optional[list] = None, **kwargs)[source]
  • port – Bluetooth listen port

  • address – Bluetooth address to bind the server to (default: any)

  • directory – Destination directory where files will be downloaded (default: ~/bluetooth)

  • whitelisted_addresses – If set then only accept connections from the listed device addresses


Starts the backend thread. To be implemented in the derived classes if the loop method isn’t defined.