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.


To run Atropine (versions 1.0.0 and later) you need to have Python 3 installed. Other than a web browser (which I expect you already have, if you're reading this), Python 3 is now the only thing you need to install to be able to run Atropine. At the time of writing, the latest release of Python 3 is version 3.8.0, but if there's a later version on the Python downloads page by the time you read this, then install that.

Earlier versions of Python (before 1.0.0) required Python 2. Version 0.9 is the last release of Atropine for Python 2 - there will be no more Python 2-compatible updates to Atropine. Only the 1.x.x branch will continue to be maintained. Users are strongly recommended to install Python 3 if they haven't already, and use version 1.x.x of Atropine.


All the releases in this table use Python 3. When you download Atropine, you want the latest version in this table - that's the one highlighted at the top.

1.1.2 2019-11-09 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 Optimisation for upload feature: only upload tournament state if it's changed since the last upload.
1.1.0 2019-10-24 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 Players can prefer specific table numbers, as well as requiring accessible tables; quite a few cosmetic "improvements".
1.0.4 2019-01-06 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 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 Improve Fully Manual generator, add more options to Standings/Table Results screen
1.0.1 2018-07-23 Added Random from Seeded Pots fixture generator.
1.0.0 2018-07-23 Ported to Python 3.

Instructions for getting started

Further documentation

The file docs/index.html in the zip file contains further information about using Atropine.


Atropine is available on GitHub.

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 use Python 2. They are shown here for historical completeness, and in case any users run into problems with Python 3 for whatever reason. Please note that this branch will no longer be maintained, and users are strongly recommended to upgrade to Python 3 and use the modern versions of Atropine.

0.9.0 2018-07-23
0.8.0 2018-06-03
0.7.7 2017-11-21
0.7.6 2017-05-02
0.7.5 2017-01-09