Chat Program
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

The Learners of the Python Forum


The Learners of the Python Forum chat-program is a project that has been created to provide a common interest task for members of the forums. We aim to create a multiuser client/server application that will allow users to communicate using various front and back ends. The primary goal of the project is for all participants to learn something new and fun using the Python programming language and various third party packages.

The Python version we will use for development is 2.7.3. To begin with, some members will be using Twisted (, an event driven networking engine. Others will choose to write their own networking code using the included sockets module.

Visit the following link to get involved!


General decisions to be made:

How to handle user authentication.
How to store user information.
Generic features: Status' (Op, Mod, User, etc)
                      There are several modes that can be set on a user:
                        o = Owner, all privileges
                        a = Admin, most privileges (except for changing Admin flags)
                        m = Moderator, most Admin privileges except for changing Admin and Banned flags
                        t = Trusted, just a mark of respect
                        q = Quiet, can only speak in asides
                        s = Silent, cannot talk at all
                        b = Banned.
                  Banning capability (By Username, IP Address, etc)
                  ?? Add More Here ??
Determine how many and what kinds of back ends (Telnet, SSH, HTTP, etc)
Determine how many and what kinds of front ends (Telnet, SSH, HTTP, Pygame, Tkinter, etc)
?? Add more front/back ends ??
?? Add more general decisions to be made ?? - The server backend:

Develop an IO loop that will allow connections from all the various back ends.
Determine any logging/statistical capabilities
Determine (per above) authentication, user information handling.
??  Add more for server development ?? - The client frontend:

Determine the type of front end:
    Generic Telnet connection
    SSH connection
    Web interface
    Graphical interface (PyGame, Tkinter, etc)
?? Add more for client development ??