Skip to main content

Iris is a highly configurable and flexible service for paging and messaging.

Project description

Iris Build Status License Gitter chat

Iris core, API, UI and sender service. For third-party integration support, see iris-relay, a stateless proxy designed to sit at the edge of a production network and allow external traffic to pass through. We also have an Iris mobile app for iOS/Android, at the iris-mobile repo.

Setup database

  1. remove ONLY_FULL_GROUP_BY from MySQL config sql_mode or run mysqld in permisive mode (i.e. --sql_mode='')
  2. create mysql schema: mysql -u USER -p < ./db/schema_0.sql (WARNING: This will drop any existing tables)
  3. import dummy data: mysql -u USER -p -o iris < ./db/dummy_data.sql

dummy_data.sql contains the following entities:

  • user demo with password demo
  • team demo_team
  • application Autoalerts with key: a7a9d7657ac8837cd7dfed0b93f4b8b864007724d7fa21422c24f4ff0adb2e49

Setup dev environment

  1. create & source your virtualenv
  2. install build dependencies: libssl-dev libxml2-dev libxslt1-dev libsasl2-dev python-dev libldap2-dev
  3. run pip install -e '.[dev,kazoo]'
  4. edit ./configs/config.dev.yaml to setup database credential and other settings

To install iris with extra features, you can pass in feature flag with pip:

pip install -e '.[prometheus]'

For list of extra features, please see extras_require setting in setup.py.

Run everything

forego start

Run web server

make serve

Run sender

iris-sender configs/config.dev.yaml

Tests

Run tests:

make test  # all tests, e2e + unit
make e2e  # e2e tests
make unit  # unit tests

Generate test coverage reports:

make e2e-cov
make unit-cov

Adding new plugins

  1. create the plugin file under src/iris/plugins dir
  2. edit src/iris/plugins/__init__.py to add plugin module to __all__ list

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

irisapi-1.0.37.tar.gz (922.0 kB view details)

Uploaded Source

Built Distribution

irisapi-1.0.37-py3-none-any.whl (953.9 kB view details)

Uploaded Python 3

File details

Details for the file irisapi-1.0.37.tar.gz.

File metadata

  • Download URL: irisapi-1.0.37.tar.gz
  • Upload date:
  • Size: 922.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for irisapi-1.0.37.tar.gz
Algorithm Hash digest
SHA256 835b5be0ad265b6f38dd64c8b30a99b95696c4d20a73da12c8cfd9aa8c583595
MD5 4535e3a90a41940b8c17767984e54e5f
BLAKE2b-256 7fc12e899767e64ce6945478e3241a51b177e3fb5d2131e87326f917a5c401db

See more details on using hashes here.

File details

Details for the file irisapi-1.0.37-py3-none-any.whl.

File metadata

  • Download URL: irisapi-1.0.37-py3-none-any.whl
  • Upload date:
  • Size: 953.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for irisapi-1.0.37-py3-none-any.whl
Algorithm Hash digest
SHA256 f0d60e151d556a2ec1a38725a14bf5ee4e51d279d0535bcf61810c04b72571b8
MD5 27371caeabfa8dd380df4187cf8e733c
BLAKE2b-256 12fa96d15d5a08fdb7943a2a8ce02cec5d0a5caa188c727dd9c1c235494ee45c

See more details on using hashes here.

Supported by

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