Radix API

This service provides an interface for applications that need to expose functionality over an API. Protocol supported currently: XMLRPC

Radix API Architecture - New Page.png

Development

The tip of the development branch is the latest stable.

New features should be implemented on branches off the development branch.

Only merge new branches to development after it's been successfully tested on production environment.

How do I get set up?

  • Clone the project source code from this repository hg clone https://akamau@bitbucket.org/radix_ke/multi_app_api

  • Generate encrypted database credentials and add to application configuration. ** Navigate to your/location/multi_app_api/tools and invoke python2.7 make_configs.py This will generate encrypted username and password. Add these to your/location/multi_app_api/config.py

multi-app-tools.png

  • Add the full path of the application authentication library to /your/location/multi_app_api/authentication/configs/core.py under ENV[current]['HOME']

  • Start the authentication service on /your/location/multi_app_api/authentication/http/

/usr/bin/twistd -y site-auth-http.py

authentication service docs: https://bitbucket.org/radix_ke/authentication

  • Start API listener and responses consumer on /your/location/multi_app_api/xmlrpc-service
/usr/bin/twistd -y service.py

Plugging in a new application

External Dependencies

  • rabbitmq (3.1.0)
  • pika ( 0.9.14 )
  • kombu ( 3.0.12 )
  • memcached (1.4.4)
  • python-memcache ( => 1.53 )
  • amqp (1.4.3)
  • anyjson (0.3.3)
  • DBUtils (1.1)

Unit tests

Location: multi_app_api/tests