Skip to main content

Unified Interface for automatic interaction

Project description

Dpowers is a python package to help you automate interactions with your operating system. It combines several backends into a unified interface and allows to pick the backend most suited to the specific use case.

For documentation and details see https://dpowers.readthedocs.io.

Supported operating systems:

  • This project follows a modular approach where is is easy to add new components ("powers"), as well as new backends for aleady existing powers. This makes it cross-platform by nature. The support for a specific OS depends mostly on which backends have been implemented yet.

  • As I am using Linux Mint myself, I make sure that all features run smoothly on there. Other Linux systems (particularly Debian-based) should already be supported by the implemented backends as well, but haven't been tested yet.

  • Windows and Mac haven't been tested either. They should be supported via the pynput backend already. As of now, I don't have any plans to add more backends for these systems since I almost never use them.

  • Termux on Android is supported as well. I have two everyday use cases, where the Dpowers allow me to run the same python script on both Linux desktop and my Android phone. However, Termux lacks access to many Android functions, which is why I prefer Tasker for most of my Android automization. Tasker allows using Termux as a plugin, so it can also run python and Dpowers scripts.

If you have question about a specific part of this project, if you want to try it out on another OS, or add your own backends, you are welcome to post issues here on github.

Ideas for the future:

  • Add complete support for Wayland. Keyboard and mouse support is already available via the evdev backend, but window interactions are still relying on the X Server.
  • Add automatic detections of the OS / platform properties (e.g. wether X Server or Wayland active), and automatically select the suiting backend. Currently, automatic selection of backends is only supported on Linux.
  • Extend the documentation. (Reference for all commands, more examples, tutorials.)

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

Dpowers-0.1.6.tar.gz (94.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Dpowers-0.1.6-py3-none-any.whl (127.0 kB view details)

Uploaded Python 3

File details

Details for the file Dpowers-0.1.6.tar.gz.

File metadata

  • Download URL: Dpowers-0.1.6.tar.gz
  • Upload date:
  • Size: 94.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for Dpowers-0.1.6.tar.gz
Algorithm Hash digest
SHA256 06c36f3abe93faebf9e4f13d6fa270db63a7815abe849489fc6f77098af7a765
MD5 d6a9eba3282550ffded3bf84f61e0150
BLAKE2b-256 be490560dfceb736636cdd6cfa9a173cf038d42c4c6dca1f5b8806b86ba1a123

See more details on using hashes here.

File details

Details for the file Dpowers-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: Dpowers-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 127.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for Dpowers-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3f2e655c7bf30923ab8f3563685d17cdfa2af992baf8fe2ee9b96d4ba56f0e38
MD5 4a92850624e7a8f04ee0f4d53570a391
BLAKE2b-256 950cdab8900fb158d748a8898775db9b5f4be7df68e02edf832414901f9d2799

See more details on using hashes here.

Supported by

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