A fast and easy way to add sharable web interfaces to Python programs.
Project description
Python version of the Atlas toolkit
If you are looking for the WebGPIO application, you will find it at the bottom of this page (in the Raspberry Pi/ODROID-C2 section).
A fast and easy way to add sharable web interfaces to Python programs.
Hello, World!
Here's how a Hello, World! type program made with the Atlas toolkit looks like:
git clone http://github.com/epeios-q37/atlas-python
cd atlas-python
python Hello/Hello.py
For a live demonstration: http://q37.info/runkit/Hello.
Source code:
# Following two lines can be removed if the 'Atlas.python.zip' file is referenced in 'PYTHONPATH'
import os, sys
sys.path.append("Atlas.python.zip") # Add the path to 'Atlas.python.zip' if needed.
import atlastk as Atlas
body = """
<div style="display: table; margin: 50px auto auto auto;">
<fieldset>
<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>
</div>
</fieldset>
</div>
"""
def acConnect(this, dom, id):
dom.setLayout("", body)
dom.focus("input")
def acSubmit(this, dom, id):
dom.alert("Hello, " + dom.getContent("input") + "!")
dom.focus("input")
def acClear(this, dom, id):
if ( dom.confirm("Are you sure?") ):
dom.setContent("input", "")
dom.focus("input")
callbacks = {
"": acConnect, # This key is the action label for a new connection.
"Submit": acSubmit,
"Clear": acClear,
}
Atlas.launch(callbacks)
TodoMVC
And here's how the Atlas toolkit version of the TodoMVC application looks like:
For a live demonstration: http://q37.info/runkit/TodoMVC.
Content of the repository
The Atlas
directory contains the Python source code of the Atlas toolkit, which is not needed to run the examples.
Atlas.python.zip
is the file you have to reference in PYTHONPATH
in order to use the Atlas toolkit in your own program.
All other directories are examples.
To run an example, launch python <Name>
, where <Name>
is the name of the example (Blank
, Chatroom
…), except for the ErgoJr, GPIO and RGB applications, which are detailed just below.
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
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:
Same video on PeerTube : https://peertube.video/videos/watch/e7e02356-c9c3-4590-8ec0-8f8da06ff312
This applications are only examples to show how easily it is to write your own applications.
Miscellaneous
The Atlas toolkit is also available for:
- Java: http://github.com/epeios-q37/atlas-java
- Node.js: http://github.com/epeios-q37/atlas-node
- PHP: http://github.com/epeios-q37/atlas-php
- Ruby: http://github.com/epeios-q37/atlas-ruby
For more information about the Atlas toolkit, go to http://atlastk.org/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.