Este aplicativo calcula possibilidades de divisão de tickets. Ele está sendo executado em https://split.traintimes.org.uk/, mas deve ser executado localmente sem muitos problemas.
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
web.py é o aplicativo WSGI, você pode executá-lo diretamente com:
python web.py
O que iniciará um servidor web rodando na porta 8080 por padrão. Você pode executá-lo através de sua ferramenta favorita para fazer isso (estou usando gunicorn, atrás de nginx e verniz).
Você inicia um trabalhador de back-end com:
python worker.py
(Estou executando vários via supervisor, há um exemplo de configuração.) E você pode monitorar os trabalhadores com rqinfo.
Obtenha alguns dados de tarifas e horários em http://data.atoc.org/ e descompacte cada um em seus próprios diretórios, chamados fare-data-NNN e timetable-data-NNN (com NNN sendo seu respectivo ID).
Correr:
parse-tocs <fares-directory>
parse-stations <fares-directory>
parse-restrictions <fares-directory>
parse-fares <fares-directory>
parse-ndf <fares-directory>
parse-trains <fares-directory> <timetable-directory>
merge-fares-ndf <fares-directory>
E isso deve atualizar todos os arquivos JSON.