Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

eno test client

Project Description

testing phone networks with GSM modules

### requirements
* one or more eno hardware nodes (Beaglebone Black + a Fona module)
* Python 2.7

### installation

$ pip install eno

### usage
A cluster of eno hardware nodes are setup
with network connectivity to a testing machine.
The testing machine uses `eno.nodes.Node` to control the connected nodes
and to read data from them.
The nodes themselves run the ``.
Other clients (like the testing machine) connect to this server
to give instructions to the hardware and to read data back.
The hardware uses [python-gsmmodem](
to communicate with the onboard GSM modem.

The testing machine should have an `~/.enorc` describing the test cluster:

- name: node A
sim: endaga
- name: node B
sim: endaga
- name: node C
sim: ting
phone_number: 19195551234

See additional examples in `` and ``.

### testing concurrent calls
By default, when making a call, the test server
will make the modem hang up a few seconds after the call connects.
I experimented with a `/hangup` endpoint but that complicates things --
we would need signals and some WSGI runner
in order to have more than one server process.
So instead you can specify `hangup_after` as a request param,
this will hangup the call after the specified number of seconds.

### license

### releases
* 0.0.17 - adjusts return values in ``
* 0.0.16 - fixes modem definition
* 0.0.15 - adds call functionality
* 0.0.14 - adds more request timeouts and `Node.get_info`
* 0.0.13 - adjusts handling of `Node.wait_for_activity`
* 0.0.12 - adds protocol in `Node.server_address`
* 0.0.11 - fixes port default
* 0.0.10 - allows tilde expansion when searching for enorc config file
* 0.0.9 - adds `Node.wait_for_activity` for sms
* 0.0.8 - adjusts handling of sms log in Node class
* 0.0.7 - changes sms log deletion method
* 0.0.6 - improves error handling and modem connection management
* 0.0.5 - adjusts package structure
* 0.0.4 - adds missing requests requirement
* 0.0.3 - adjusts server script filename
* 0.0.2 - adds SMS handling capabilities
* 0.0.1 - barebones setup for pypi

### release process
you need a `~/.pypirc` like this:

index-servers =

username: yosemitebandit
password: mhm

bump the versions in `` and here in the readme, then run:

$ git tag 0.0.1 -m 'eno-python v0.0.1'
$ git push origin master --tags
$ python sdist upload -r pypi

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(5.9 kB) Copy SHA256 Hash SHA256
Source None Sep 3, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting