The quick and easy way to add versatile graphical interfaces with networking capabilities to your Python programs.

Overview

Python version of the Atlas toolkit

Run on Repl.it About online demonstrations

Version 0.13 license: MIT Documentation

Version

The Atlas toolkit is available for:

         Language Online demonstrations Repo. #1 #2 #3 Stars
Java Java Run on Replit Framagit GitHub GitLab Stars for atlas-java
Node.js Node.js Run on Replit Framagit GitHub GitLab Stars for atlas-node
Perl Perl Run on Replit Framagit GitHub GitLab Stars for atlas-perl
Python Python Run on Replit Framagit GitHub GitLab Stars
Ruby Ruby Run on Replit Framagit GitHub GitLab Stars for atlas-ruby

WebGPIO (Raspberry Pi/ODROID-C2): the WebGPIO application, with which you can control the Raspberry Pi/ODROID-C2 (and probably other similar devices) GPIOs with your smartphone, is described in the Raspberry Pi/ODROID-C2 below section.


A GUI with Python in a couple of minutes

Click the animation to see a screencast of programming this "Hello, World!" program with Python in a matter of minutes:

Building a GUI in with Python in less then 10 minutes

Same video on Peertube: https://q37.info/s/qfcng9j4.

Source code:


Greetings displayed here!
""" def ac_connect(dom): dom.inner("", BODY) dom.focus("Input") def ac_submit(dom): name = dom.get_value("Input") dom.begin("Output", f"
Hello, {name}!
") dom.set_value("Input", "") dom.focus("Input") CALLBACKS = { "": ac_connect, "Submit": ac_submit } atlastk.launch(CALLBACKS)">
import atlastk
 
BODY = """

   

Greetings displayed here!
""" def ac_connect(dom): dom.inner("", BODY) dom.focus("Input") def ac_submit(dom): name = dom.get_value("Input") dom.begin("Output", f"
Hello, {name}!
"
) dom.set_value("Input", "") dom.focus("Input") CALLBACKS = { "": ac_connect, "Submit": ac_submit } atlastk.launch(CALLBACKS)

See for yourself right now - it's quick and easy!

Online, with nothing to install

To run above "Hello, World!" program directly in your browser, as seen in corresponding video, follow this link: https://replit.com/@AtlasTK/hello-python.

Thanks to Replit, an online IDE, you can write and run programs using the Atlas toolkit directly in your web browser, without having to install Python on your computer About online demonstrations.

To see more examples, like the following TodoMVC, simply:

  • go here (also accessible with the Run on Repl.it button at the top of this page),
  • click on the green run button,
  • choose the demonstration to launch,
  • open the then displayed URL in a browser (should be clickable),
  • … and, as you wish, run your own tests directly in your browser, by modifying the code of the examples or by writing your own code.

TodoMVC

With Python on your computer

# You can replace 'github.com' with 'framagit.org' or 'gitlab.com'.
# DON'T copy/paste this and above line!
git clone http://github.com/epeios-q37/atlas-python
cd atlas-python/examples
python Hello/

Android devices

Programs made with the Atlas toolkit work perfectly on your Android devices (smartphone or tablet) using the Termux application. Simply install (pkg intall …) the git and python packages. That's all!

Jupyter notebooks

When using the Atlas toolkit in a Jupyter notebook, the GUI is embedded in the notebook, as shown here:

Jupyter notebook examples can be found in the tutorials directory.

Your turn

If you want to take your code to the next level, from CLI to GUI, then you found the right toolkit.

With the Atlas toolkit, you transform your programs in modern web applications (SPA) without the usual hassles:

  • no JavaScript to write; only HTML(/CSS) and Python,
  • no front and back end architecture to bother with,
  • no web server (Apache, Nginx…) to install,
  • no need to deploy your application on a remote server,
  • no incoming port to open on your internet box or routeur.

The Atlas toolkit is written in pure Python, with no native code and no dependencies, allowing the Atlas toolkit to be used on all environments where Python is available.

And simply by running them on a local computer connected to internet, applications using the Atlas toolkit will be accessible from the entire internet on laptops, smartphones, tablets…

The Atlas toolkit is particularly well suited 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.

Python is much more powerful then Excel macros to automate (boring) tasks, and you can also work with PDF, Word, Google files…. And with the Atlas toolkit, you have much more possibilities then with VBA forms. There are some examples here.

There is also a stub to for this library at address https://q37.info/s/zzcn3wnx.

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.

In the examples directory, you will found following examples:

  • Blank: very basic example,
  • Hello: "Hello, World!",
  • Chatroom: multi-user chatroom,
  • Notes: note taking program,
  • TodoMVC: TodoMVC,
  • Hangman: Hangman game,
  • 15-puzzle: 15-puzzle game,
  • Contacts: a basic address book,
  • Widgets: some widgets handled with the Atlas toolkit,
  • Chatrooms : same as above Chatroom, but with several rooms,
  • PigGame: Pig game for one or two players,
  • Reversi: Reversi game for one or two players,
  • MatPlotLib : the Atlas toolkit displaying some graphics made with matplotlib; this example needs, of course, the matplotlib package to be installed…

Other examples 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, from within the repository, python main.py, and select the example you want to run.
You can also directly launch, from within the examples directory, python / (don't forget the final /), where 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.

The tutorials directory contains some Jupyter notebooks about the Atlas toolkit.

Raspberry Pi/ODROID-C2

If the applications does not work on your Raspberry Pi, please see this issue: https://github.com/epeios-q37/atlas-python/issues/1

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

Here is how the WebGPIO application looks like:

WebGPIO interface

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, from within the examples directory, 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. Click below picture to see a YouTube video on how they work (same video on PeerTube: https://q37.info/s/49pbmwv9):

RGB video

Owner
Claude SIMON
Software engineer.
Claude SIMON
Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS

Kivy Innovative user interfaces made easy. Kivy is an open source, cross-platform Python framework for the development of applications that make use o

Kivy 15.4k Jan 07, 2023
A small manager/GUI Frontend for QEMU written in Python

qemu-manager A small manager/GUI Frontend for QEMU written in Python Requirements You'll need to have the following tools installed to run this: QEMU

yeppiidev 15 Dec 21, 2022
A cute running cat animation on your Windows/macOS taskbar.

RunCat by PySide6 A cute running cat animation on your Windows/macOS taskbar. Tags PyQt PySide RunCat Demo You only have to run the RunCat.exe. Run pi

見える 10 Sep 19, 2022
A desktop application for JupyterLab, based on Electron.

A desktop application for JupyterLab, based on Electron.

JupyterLab 2.1k Jan 02, 2023
PyEditor - A Simple Text Editor for python

PyEditor work in progress Text Editor for python Installation git clone https://github.com/ArmenG888/PyEditor Install the libraries Linux or mac pip

ArmenG 3 Mar 15, 2022
Advanced GUI Calculator with Beautiful UI and Clear Code.

Advanced GUI Calculator with Beautiful UI and Clear Code.

Mohammad Dori 3 Jul 15, 2022
Software com funçoes de A a Z feito no Python

Introdução Iniciante em programação Python, decidi criar um programa com diversas ferramentas de A a Z. Funções Ferramenta de Gerenciamento e Manutenç

João Pedro 1 Jan 26, 2022
Aplicação GUI feita em Python para estudos de cadastro (forms).

Cadastro de DEVs GUI 💻 A ideia original veio do repositório do https://github.com/PedroTomazeti nomeado 'Projetos-Independentes-HTML-CSS' Nele há um

Yago Goltara 3 Aug 15, 2021
Randomly picks between your favourite meals for you when you're feeling indecisive.

Food Recommendations Desktop application created with python and tkinter. The goal for this application is to provide a way for users to enter and sav

Jesse Kartabani 1 Dec 07, 2021
Generate multifunctional GUIs from classes

magic-class In magicgui you can make simple GUIs from functions. However, we usually have to create GUIs that are composed of several buttons, and eac

25 Dec 15, 2022
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

(This library is available under a free and permissive license however, if you Enjoy Dear PyGui please consider becoming a Sponsor) Dear PyGui is a si

Jonathan Hoffstadt 9.4k Jan 04, 2023
A tf publisher gui tool for ROS, which publish /tf_static message. The software is based on PyQt5.

tf_publisher_gui for ROS Introduction How to use cd catkin_ws/src git clone https://github.com/yinwu33/tf_publisher_gui.git cd catkin_ws catkin_make s

yinwu33 7 Dec 28, 2022
A Virtual Desktop Assistant Written in Python

DesktopAssitant A Virtual Desktop Assistant Written in Python. It's generally a basic virtual assistant The basic purpose of this is to make work easi

Technerd brainiac 609 Jan 07, 2023
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

(This library is available under a free and permissive license however, if you Enjoy Dear PyGui please consider becoming a Sponsor) Dear PyGui is a si

Jonathan Hoffstadt 9.4k Jan 07, 2023
Linux GUI app to codon optimize a directory with fasta files using taxonomy ids imported as a 1-column txt file (1 taxonomy id for each file)

codon optimize cds paired with taxids singlefastas gui Linux GUI app to codon optimize a directory with fasta files using taxonomy ids imported as a 1

Olga Tsiouri 1 Jan 09, 2022
A Url Shortener with GUI made in Python.

Url-Shortener-with-GUI-in-python A Url Shortener with GUI made in Python. To Run this download the zip file and run the main file or Clone this repo.

SidTheMiner 1 Nov 12, 2021
Uma interfáce de usuário relativamente simples em pyqt5 + escolha de dispositivos

Interface para Scrcpy Uma interfáce de usuário relativamente simples em pyqt5 para sistemas UNIX Requerimentos: Python3 PyQt5 adb scrcpy Você pode ins

hayukimori 10 Dec 16, 2022
The GUI application by Python3.8. Using QT Design draw UI and generator UI XML file provides to PySide2 build GUI components

The GUI application by Python3.8. Using QT Design draw UI and generator UI XML file provides to PySide2 build GUI components. Total adopt OOD design class, service, and abstract class. OOP implemente

Jiage 1 Jan 11, 2022
Quebra cabeça - Utilizando biblioteca do python: PyQt5

Puzzle 3x3 PyQt5 - Windows Quebra cabeça - Utilizando biblioteca do python: PyQt5 Para testar este quebra cabeça na sua maquina, primeiramente faça o

Matheus Marsal 1 Dec 21, 2021
Python script with tkinter that allows you to open a local chat room

Server_chat Python script with tkinter that allows you to open a local chat room To begn you'll have to start the server side script and run it. You w

2 Feb 11, 2022