Introduction
This document describes the OpenNSA software from the standpoint of a Python developer who want to extend or improve the software.
Components
The major components making up OpenNSA are (partly from requirements.txt):
- Python 2.7 plus its standard library
- Twisted (event-driven networking engine)
- pyOpenSSL (SSL in python)
- psycopg2 (Python-PostgreSQL Database Adapter)
- Twistar (non-blocking ORM for Twisted)
The standard library for Python is huge, but some important choises made are:
- Configuration: ConfigParser (see opennsa/config.py and setyp.py for usage)
- Logging: twisted/ILogObserver (see opennsa/logging.py and setup.py for usage)