### Navigation

- index
- modules |
- next |
- previous |
- Gate One Documentation »

# Developer Documentation

## Python Code

Gate One consists of gateone.py and several supporting Python modules and scripts. The documentation for each can be found below:

- `authentication.py` - Authentication Classes
  - Authentication
    - None or Anonymous
    - Kerberos
    - Google Authentication
    - API Authentication
  - Docstrings
- `authorization.py` - Authentication Classes
  - Authorization
  - Docstrings
- `ctypes_pam.py` - PAM Authentication Module
  - PAM Authentication Module for Python
- `pam.py` - A PAM Authentication Module
  - PAM Authentication Module for Gate One
- `sso.py` - A Tornado Kerberos Single Sign-On Module
  - About The SSO Module
    - Troubleshooting
  - Class Docstrings
- `log.py` - Gate One Logging Module
  - Logging Module for Gate One
- `logviewer.py` - Session Log Viewer
  - Log Viewer
  - About Gate One's Log Format
  - Class Docstrings
- `server.py` - Gate One's Core Script
  - Gate One
    - Dependencies
    - Settings
    - File Paths
    - Running
    - Applications and Plugins
  - Class Docstrings
- `terminal.py` - A Pure Python Terminal Emulator
- `termio.py` - Terminal Input/Output Module
- `utils.py` - Supporting Functions
  - Gate One Utility Functions and Classes

## JavaScript Code

A large and very important part of Gate One is the client-side JavaScript that runs in the user's browser. This consists of the following:

- gateone.js
- term_ww.js

## Plugin Code

Gate One comes bundled with a number of plugins which can include any number of files in Python, JavaScript, or CSS (yes, you could have a CSS-only plugin!). These included plugins are below:

- The Help Plugin
  - JavaScript

Note

The Terminal application has its own plugins.

## Developing Plugins

Developing plugins for Gate One is easy and fun. See The Example Plugin for how it's done.

## Embeddeding Gate One Into Other Applications

- Embedding Gate One Into Other Applications
  - How To Embed Gate One - Chapter 1
    - Placement
    - Include gateone.js
    - Call GateOne.init()
    - Complete Example
      - Try It
  - API Authentication
    - Enable API Authentication
    - Generate an API Key/Secret
    - Generate An Auth Object
  - Example API Authentication Code
    - Python
    - PHP
    - Ruby

### Navigation

- index
- modules |
- next |
- previous |
- Gate One Documentation »