Git Product home page Git Product logo

evesp's Introduction

Build Status

Deprecation note

This project has been renamed, extended and expanded into platypush.

Installation

$ git clone https://github.com/BlackLight/evesp
$ cd evesp/
$ pip install .

Configuration

By default, the configuration will be retrieved, in order, from one of the following locations:

  1. ./evesp.conf
  2. ~/.config/evesp/evesp.conf
  3. /etc/evesp/evesp.conf

An example configuration file is installed under ~/.config/evesp/evesp.conf.example. Sections having enabled=False will be skipped.

Engine

TODO

Components

Components are located under evesp.component. A component will usually install a pool of sockets, poll them for events, and post them to the platform bus connected to the engine.

Naming convention

Lower-case, underscore-separated file names, and camel case name for the component main class.

Example: evesp.component.mock_component will have a main class named MockComponent. Component classes should extend evesp.component.Component, invoke the base class constructor, and implement the run() method.

Sockets

A socket can be installed by a component to generate events that the component will spawn to the bus. Such events may include:

  • INotify file events
  • GPS and location events
  • Bluetooth events
  • Any kind of HTTP requests
  • Social media notifications
  • Calendar integration
  • System-generated events
  • IFFF, Tasker etc. events
  • Any class of events that pops into your mind with any custom application logic and API.

A component will usually install a bunch of sockets, poll them for events, and post those events to the platform bus connected to an engine. The engine will then apply some custom logic on the basis of what is defined in its rules, and eventually trigger actions based on the received events.

Sockets are installed under evesp.socket, implement a run() method that executes the custom logic to generate events, and fire events back to component calling fire_events().

Actions

TODO

Tests

TODO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.