platypush  by blacklight

Automation platform for connecting services/devices

created 7 years ago
308 stars

Top 88.2% on sourcepulse

GitHubView on GitHub
Project Summary

Platypush is an extensible automation platform for users who want to build self-hosted integrations between various services and devices. It allows for event-driven automation ("if this, then that") with a focus on an API-first approach, enabling complex routines and customizability for power users.

How It Works

Platypush operates on a plugin-based architecture, where each plugin exposes actions (e.g., light.hue.on) to control specific devices or services. These actions can be triggered by events emitted by plugins (e.g., SunsetEvent) through user-defined "hooks." Hooks can be configured in YAML or Python, supporting complex conditions and token extraction. "Procedures" and "cronjobs" allow for sequential actions and scheduled tasks, respectively. Entities provide a unified interface for interacting with various device types across different plugins.

Quick Start & Requirements

  • Installation: pip install platypush or via package managers (Arch, Debian/Ubuntu, Fedora), Docker, or source.
  • Dependencies: Python interpreter. Specific plugins may require additional libraries or hardware (e.g., GPU for ML, specific sensors).
  • Configuration: Requires a config.yaml file.
  • Docs: docs.platypush.tech

Highlighted Details

  • Hundreds of supported integrations for smart devices, media players, voice assistants, sensors, and cloud services.
  • Supports both YAML and Python for defining automation logic (hooks, procedures).
  • Provides HTTP and WebSocket APIs for remote control and event subscription.
  • Offers a web interface with PWA support, custom dashboards, and a browser extension.

Maintenance & Community

  • Active development and community support.
  • Links to official documentation, wiki, and blog are provided.

Licensing & Compatibility

  • The repository does not explicitly state a license in the provided README. Further investigation into the project's source code or official channels is recommended for licensing details and commercial use compatibility.

Limitations & Caveats

  • The README does not specify a license, which is a significant blocker for adoption decisions.
  • Some advanced features like PWA support require SSL, and certain plugins may need specific hardware or manual dependency installation.
Health Check
Last commit

1 week ago

Responsiveness

1 week

Pull Requests (30d)
3
Issues (30d)
0
Star History
8 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.