Pysellus is a stream-based, monitoring and alerting service that runs automatic tests against your data.
- Filtering, merging and cleaning your data.
- Searching for schemas and information in large, real-time data streams.
- Setting up automatic alerts, notifications and triggers that run whenever a match happens.
Pysellus is written in Python 3, so you will need to have it installed.
Additionally, if you want to install Pysellus with pip
, you will need to have pip3
installed.
You can get Pysellus just by running:
$ pip3 install pysellus
Or you can go ahead and clone this repo, and install it (needs setuptools)
$ python3 setup.py install
Pysellus works by running some user-defined tests against all elements in a data stream.
Let's get started by writing a very basic test:
input = stream([0, 1, 2, 3])
def is_positive(number):
return number > 0
@failure >> terminal
@check 'all numbers should be positive':
expect(input)(is_positive)
Save this to a file, for example test.stl
, and then run it with pysellus:
$ pysellus test.stl
This will print to the terminal:
Assert error: In all numbers should be positive, got: 0
In the previous example, you wrote your tests in STL, or Stream Testing Language. This is just a thin DSL layer over regular Python, and its usage is completely optional.
You can read about the full STL syntax in the official [documentation](./doc/STL\ syntax.md), or learn how to write your tests in [regular Python](./doc/Python\ Test\ Syntax.md).
Pysellus is installed as a command-line application. To use it, just call pyselus
, passing either your test directory or file path.
$ pysellus [-d|--dir] /path/to/test/dir,
[-f|--file] /path/to/test/file
- User Guide - In Progress
- [STL Syntax](./doc/STL\ syntax.md)
- [Python Syntax](./doc/Python\ Test\ Syntax.md)
- Integrations
- Adding your own API - In Progress
- Custom Integrations - In Progress
- Notification Protocol - In Progress
Contributors are welcome. Please fork the repository and send a pull request to the master
branch.
Additionally, you can read the Contributing file.
Pysellus is released under the MIT License. For more information, see the License