Skip to content
Easily add GUI to Python programs.
Branch: master
Clone or download
Latest commit be77cf9 Jan 9, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
15-puzzle 15/12/2019 19:43:32 Dec 15, 2019
Blank 15/12/2019 19:43:32 Dec 15, 2019
Chatroom 15/12/2019 19:43:32 Dec 15, 2019
ErgoJr 15/12/2019 19:43:32 Dec 15, 2019
GPIO 15/12/2019 19:43:32 Dec 15, 2019
Hangman 15/12/2019 19:43:32 Dec 15, 2019
Hello 15/12/2019 19:43:32 Dec 15, 2019
Notes 15/12/2019 19:43:32 Dec 15, 2019
RGB 15/12/2019 19:43:32 Dec 15, 2019
ReversiIMG 15/12/2019 19:43:32 Dec 15, 2019
ReversiTXT 15/12/2019 19:43:32 Dec 15, 2019
ReversiXSL 15/12/2019 19:43:32 Dec 15, 2019
Stars 15/12/2019 19:43:32 Dec 15, 2019
TodoMVC 15/12/2019 19:43:32 Dec 15, 2019
atlastk 09/01/2020 12:03:24 Jan 9, 2020
.replit 15/12/2019 19:43:32 Dec 15, 2019 13/12/2019 13:38:39 Dec 13, 2019
LICENSE 18/04/2019 19:03:34 Apr 18, 2019 09/01/2020 12:03:24 Jan 9, 2020 15/12/2019 19:43:32 Dec 15, 2019 01/08/2019 15:45:16 Aug 1, 2019

Python version of the Atlas toolkit

For Python

Run on Version Download stats Starslicense: MIT Documentation

If you are looking for the WebGPIO application, an application with which you can control the Raspberry Pi (or other similar devices) GPIO with your smartphone, you will find it at the bottom of this page, in the Raspberry Pi/ODROID-C2 section.

The Atlas toolkit is probably the fastest and easiest way to add a graphical user interface (GUI) to your Python programs.

With the Atlas toolkit, both front and back ends are handled by the same code, and the programs will also be easily reachable from all over the internet.

Only basic knowledge of web technologies are required (no JavaScript knowledge required). And, with the Atlas toolkit, you can easily add a GUI to programs originally designed to have a CLI, so the users of this programs can choose which interface they want to use.

If you want to use the Atlas toolkit without installing the examples, simply install the atlastk package from PyPI (pip install atlastk). This package has no dependencies.

You can also use the Atlas toolkit on, an online IDE, so you have nothing to install, as you will see in the next section.

The Atlas toolkit can also be used for educational purposes, to write modern programming exercises, i.e. with a true graphical interface instead of the usual outdated textual one. More about this can be found here.

Live demonstrations

Before diving into source code, you can take a look on some live demonstrations to see how applications based on the Atlas toolkit look like. You will find some games, like the 15-puzzle game and the Reversi (aka Othello) game. And you will also find the Atlas toolkit version of the TodoMVC application, which looks like:


To see all this live demonstrations, simply go here, click on the green run button, select the demonstration you want to see, and then click (or scan with your smartphone) the then displayed QR code.

Hello, World!

Here's how a Hello, World! type program made with the Atlas toolkit looks like:

Little demonstration

  • git clone
  • cd atlas-python
  • python Hello/

You can also put below source code in a file and launch it after having installed the atlastk package (pip install atlastk), or, with absolutely nothing to install, by pasting and launch the below code here, and then open the displayed URL in a web browser.

Source code:

import atlastk as Atlas

body = """
<div style="display: table; margin: 50px auto auto auto;">
  <input id="input" maxlength="20" placeholder="Enter a name here" type="text"
         data-xdh-onevent="Submit" value="World"/>
  <div style="display: flex; justify-content: space-around; margin: 5px auto auto auto;">
   <button data-xdh-onevent="Submit">Submit</button>
   <button data-xdh-onevent="Clear">Clear</button>

def acConnect(dom):
  dom.setLayout("", body)

def acSubmit(dom):
  dom.alert("Hello, " + dom.getContent("input") + "!")

def acClear(dom):
  if ( dom.confirm("Are you sure?") ):
    dom.setContent("input", "")

callbacks = {
  "": acConnect,  # The action label for a new connection is an empty string.
  "Submit": acSubmit,
  "Clear": acClear,


Content of the repository

The atlastk directory contains the Python source code of the Atlas toolkit, which is the directory you have to reference in PYTHONPATH in order to use the Atlas toolkit in your own program, unless you have installed the atlastk package with pip install atlastk.

All other directories are examples:

Other exemples are detailed in the next section.

Except for the ErgoJr, GPIO and RGB applications, which are detailed in the next section, to run an example, launch python, and select the example you want to run. You can also launch python <Name>/ (don't forget the final /), where <Name> is the name of the example (Blank, Chatroom…).

The Stars application is an example where the Atlas toolkit is used to control a Pygame based application. Of course, Pygame needs to be installed.

Raspberry Pi/ODROID-C2

If the applications does not work on your Raspberry Pi, please see this issue:

The GPIO and RGB applications are designed to be used on a Raspberry Pi or a ODROID-C2.

For the Raspberry Pi, the RPi.GPIO Python module have to be installed (this is probably already the case).

For the ODROID-C2, The Python version of WiringPi must be installed, and the application has to be launched with sudo (sudo python GPIO/ or sudo python RGB/).

The ErgoJr application is experimental and to control a Poppy Ergo Jr robot.

The RGB application is dedicated to the control of a RGB led, and the GPIO (aka WebGPIO) application allows to control the basic pins. Here is a video to see how they works:

RGB video

Same video on PeerTube :


The Atlas toolkit is also available for:

For more information about the Atlas toolkit, go to

You can’t perform that action at this time.