Skip to main content

Renuntius

renuntius is a RESTful webservice for sending messages.

Installation

This application was tested, using the following versions:

  • python==2.7

  • flask==0.9

  • flask-restless==0.9.3

  • flask-sqlalchemy==0.16

Installation with pip

Using pip is probably the easiest way to install renuntius:

pip install renuntius

Local application

In order to run the application, write the following python-code (e.g.: start_renuntius.py):

from renuntius.messaging import flask, db, app, Message

db.create_all()

manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(Message, methods=['GET', 'POST'])

app.run(host=localhost, port=5001)

Note: Within the application folder you need a config.py, like:

# Database
SQLALCHEMY_DATABASE_URI = 'sqlite:////tmp/renuntius.sqlite'
SQLALCHEMY_ECHO = True

# E-Mail-Server
SMTP_SERVER = 'MAILSERVER.DOMAIN.ORG'
SMTP_SERVER_PORT = 25

# Messages
SERVICE_PREAMBLE = u"This message was automatically generated."
FROM_DEFAULT = u'"IT-Renuntius" <renuntius@DOMAIN.ORG>'

Please adjust this config.py to your own settings.

Finally:

python start_renuntius.py

Special use case: PostgreSQL

In order to be able to use a postgresql server, you need to install psycopg2. To install psycopg2 within a virtualenv under linux, do the following:

sudo aptitude install libpq-dev python-dev
pip install psycopg2

Example config.py for postgresql (you probably want to specify the SCHEMA!):

# Database
SQLALCHEMY_DATABASE_URI = 'postgresql://_ren_admin@ama-prod/mucam'
SCHEMA = 'renuntius'
SQLALCHEMY_ECHO = False

# E-Mail-Server
SMTP_SERVER = 'MAILSERVER.DOMAIN.ORG'
SMTP_SERVER_PORT = 25

# Messages
SERVICE_PREAMBLE = u"This message was automatically generated."
FROM_DEFAULT = u'"IT-Renuntius" <renuntius@DOMAIN.ORG>'

Quickstart

Sending an E-Mail via renuntius:

POST http://localhost:5001/api/messages/

{"header_from":     "other_service@domain.org",
 "header_to":       "admins@domain.org",
 "header_subject":  "Sent by Renuntius",
 "content":         "Everything works fine!",
 "service":         "other_service"
}

Note: For firefox use RESTClient add-on to easily POST.

Getting a list of all messages:

GET http://localhost:5001/api/messages/

(Try http://localhost:5001/api/messages/ within your default browser)

Querying for specific messages:

GET http://localhost:5001/api/messages/?q={"filters":[{"name": "header_from", "op": "==", "val":"other_service@domain.org"}]}

For a detailed specification of how to use filters, please look at flask-restless

Release files for Renuntius 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Renuntius 0.1
File Size Uploaded
Renuntius-0.1.tar.gz 4.3 kB Details

Release files / Renuntius-0.1.tar.gz

Download URL Renuntius-0.1.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
aff8460d353d36695ded23cf649989f9f5e2ddfd19bbd16658076a9606ca1a00
BLAKE2b-256 checksum
How to use checksums
92e04ca090c9953981b459c455821f4bf2ff669a1acf3a3a73276ea5f90c9093
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page