Germ

Documentation Status Updates

About

Germ provides a lightweight framework for building Python applications. By abstracting the main thread and configuration logic, Germ allows you to simply focus on building your domain logic. Integrating with Germ is as simple as creating a package that organizes your code into some logical sub packages and declaring them in your application config.

Examples

Simple Chat Bot

Here’s all you’d need to write for a generic chat bot.

  • Threads - Listener, Messenger
  • Chat adapter (facilitate communication with chat system & bot threads)

Your application configuration would specify instances of the Listener/Messenger threads as well as connection parameters for your chat adapter. To facilitate communication between threads, standard queues can be used. This is another simple config entry to create the Queue instance which your threads will expect.

Media Storage Server

A more complex example, this application can store media (ie ebooks, music, etc), update metadata, and serve the files to end users.

  • Threads - Metadata Parser,
  • Storage - File/Database
  • Webservice - API for accessing media

Features (^planned)

  • ^On the fly plugin updates
  • ^Live configuration changes
  • ^Load plugins from PyPi, GitHub, disk
  • ^CLI for quick setup/testing

Todo

  • Documentation
  • Everything