Eyebergine, Atropine's mascot since 2018.

Eyebergine, Atropine's mascot since 2018.


Atropine is the tournament administrator used to administer many FOCAL Countdown events. It is written in Python.

Atropine starts a web server on your computer, and you administer the tournament from your browser. It doesn't need internet access to work, unless you use the exaggeratedly-named live broadcast feature.

Atropine has been tested on Windows and Linux, and waved in the general vicinity of a Mac.

Prerequisite: Python 3

To run Atropine, you need to have Python 3 installed. At the time of writing (June 2023), the latest release of Python 3 is version 3.11.4, but if there's a later version on the Python downloads page by the time you read this, then install that.

Python 2 is not supported, either by Atropine or by much else any more.

Download latest release: Atropine 1.2.2

This is the latest release of Atropine.

VersionDateDownload linkNotes
1.2.2 2023-06-11 atropine-1.2.2.zip
  • On the public-facing display, the screen shown while a round is in progress is now split vertically rather than horizontally, to fit better on a modern 16:9 screen. If you're using an old 4:3 display, there's an option to change this back.
  • When the screen is split vertically, the table of results (and not the videprinter) is now shown alongside the standings table. There's an option to revert this if you want the videprinter.
  • Some other minor improvements to the public-facing display and the Display Setup page.

Download links for earlier Atropine versions can be found below.

Instructions for getting started



Further information

The file webroot/docs/index.html in the zip file contains further information about using Atropine. You can also reach this from within Atropine using the Help link in the sidebar.


This is what you see as the event organiser...
Atropine's result entry interface
... and this is what the players see on your public-facing screen.
Atropine's fixture announcement display Atropine's standings and results display


Atropine is available on GitHub.

Past releases

Normally, you want the latest release in the table above. If for any reason you can't use the latest release, earlier releases are shown below.

1.2.1 2022-09-04 atropine-1.2.1.zip
  • Prunes are now automatic. You no longer need to add a Prune player to make up the numbers or to replace a withdrawn player.
  • Player Check-In page to aid keeping track of who's arrived before the first games are generated, during which the public display shows a list of all registered players.
  • Export results page made slightly less awful.
  • Fix a couple of the new ranking methods when tournament is divisioned half way through.
1.2.0 2022-08-12 atropine-1.2.0.zip First new release in nearly two and a half years. New fonts. New standings table ranking methods. Better diagnostics for startup failure. Faster and improved Swiss fixture generator. Publicly displayed standings table now scrolls its pages faster by popular demand.
1.1.4 2020-03-07 atropine-1.1.4.zip Improve fixture generator menu, and add fixture generator for a final.
1.1.3 2020-01-11 atropine-1.1.3.zip Remove calls to a deprecated library function which is no longer present as of Python 3.8.
1.1.2 2019-11-09 atropine-1.1.2.zip Fix bug introduced in 1.0.5 which stopped you from generating Swiss fixtures for a round which already has fixtures in another division.
1.1.1 2019-10-31 atropine-1.1.1.zip Optimisation for upload feature: only upload tournament state if it's changed since the last upload.
1.1.0 2019-10-24 atropine-1.1.0.zip Auto-upload live tourney updates to webpage (account required), standings table now takes account of any finals, lots of other little improvements.
1.0.5 2019-05-06 atropine-1.0.5.zip Players can prefer specific table numbers, as well as requiring accessible tables; quite a few cosmetic "improvements".
1.0.4 2019-01-06 atropine-1.0.4.zip Table numbers can be designated "accessible" for players who need them; improved player configuration page and display setup page; game results exportable to CSV.
1.0.3 2018-11-18 atropine-1.0.3.zip Random fixture generator can now avoid rematches; option not to auto-switch to Fixtures display until all divisions have games generated; various appearance tweaks.
1.0.2 2018-08-17 atropine-1.0.2.zip Improve Fully Manual generator, add more options to Standings/Table Results screen
1.0.1 2018-07-23 atropine-1.0.1.zip Added Random from Seeded Pots fixture generator.
1.0.0 2018-07-23 atropine-1.0.0.zip Ported to Python 3.

Past dependencies

pygame is no longer required

Versions of Atropine prior to 0.9.0 also required the Python "pygame" module for the full-screen public-facing display. Versions 0.9, 1.0.0 and onwards do not need this module any more. pygame's presence won't do any harm, so you don't need to remove pygame from your computer if you already have it installed, but it is no longer used by Atropine.

Where's Teleost?

The reason we don't need pygame any more is because the public-facing display is now a web page, accessed through the Atropine web interface like everything else. The old standalone program "teleost" no longer exists. Instead, in the Atropine web interface, click "Display Setup" on the sidebar and then click the "Open Display Window" link at the top.

Legacy releases (for Python 2)

These older releases used Python 2. They are shown here for historical interest.

Please note that these releases are now many years old. There will be no more releases of Atropine for Python 2.

0.9.0 2018-07-23 atropine-0.9.0.zip
0.8.0 2018-06-03 atropine-0.8.0.zip
0.7.7 2017-11-21 atropine-0.7.7.zip
0.7.6 2017-05-02 atropine-0.7.6-python2.zip atropine-0.7.6-python3.zip
0.7.5 2017-01-09 atropine-0.7.5.zip