Who uses Python?

Bjoern Schliessmann usenet-mail-0306.20.chr0n0ss at spamgourmet.com
Tue Jun 5 00:28:20 CEST 2007

walterbyrd wrote:

> Anything else? Finance? Web-analytics? SEO? Digital art?

We're using Python for a computer-controlled railway simulation
system at a german university. It consists of a rather large model
railway network, constructed with realism concerning railway
operations, coupled to realistic railway control centre technology.
Uses are education of students, training of railway employees,
teaching of railway basics to career changers and managers, and
simulation of new operating procedures.

Python (2.5.1) is used here for

- the main database where all states are kept (signal aspects, given
and actual turnout states, track occupation ...). It's a simple
binary protocol using TCP; the server maintains string:int pairs in
a Python dict. It's made with Twisted and running under twistd.

- the automatic drive controlling software of the model trains. It
listens for changes of signals and track occupation and controls
the model trains using a commercial digital model railroad
controller attached to /dev/ttyS0. Also using Twisted/twistd, and

- various helper scripts and little servers for small functional
units (tramway reverser, level crossings)

Momentarily, I'm working on a program that simulates a german relais
rail control centre of a certain type (also using Twisted). We
already have it in C++, but it's difficult to maintain and needs a
rewrite because of various bugs. Starting to use combined
wxPython/Twisted apps in the near future is likely. 

We're mainly using Debian Sarge as OS. pylint is also recently used
to check the code. Right now, we use Python for approx. 2 years.

Other languages used are C, C++, and Perl (ugh :) ), for other core
applications and the microcontrollers (interfacing with the railway
components). We mainly have "low-end" computers (100-800 MHz), but
the performance suffices absolutely. The source code is maintained
using Subversion.



BOFH excuse #404:

Sysadmin accidentally destroyed pager with a large hammer.

More information about the Python-list mailing list