All Projects → epeios-q37 → Atlas Python

epeios-q37 / Atlas Python

Licence: mit
For versatile GUIs written in HTML/CSS and Python (no JavaScript needed; also available for other languages) - The lightweight and easy-to-use toolkit to begin with GUI programming.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects
python2
120 projects

Labels

Projects that are alternatives of or similar to Atlas Python

Social Amnesia
Forget the past. Social Amnesia makes sure your social media accounts only show your posts from recent history, not from "that phase" 5 years ago.
Stars: ✭ 656 (+393.23%)
Mutual labels:  api, gui
Reaper
Social media scraping / data collection tool for the Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 240 (+80.45%)
Mutual labels:  api, gui
Zoonavigator
Web-based ZooKeeper UI / editor / browser
Stars: ✭ 326 (+145.11%)
Mutual labels:  api, gui
Marathon
A work-in-progress toolkit and library for SONIC THE HEDGEHOG file formats
Stars: ✭ 21 (-84.21%)
Mutual labels:  api, gui
Kspigot
Extended Spigot and Bukkit API for Kotlin
Stars: ✭ 35 (-73.68%)
Mutual labels:  api, gui
Deep Learning Training Gui
Train and predict your model on pre-trained deep learning models through the GUI (web app). No more many parameters, no more data preprocessing.
Stars: ✭ 85 (-36.09%)
Mutual labels:  api, gui
Ara
ARA Records Ansible and makes it easier to understand and troubleshoot.
Stars: ✭ 1,176 (+784.21%)
Mutual labels:  api, gui
Core
OPNsense GUI, API and systems backend
Stars: ✭ 1,827 (+1273.68%)
Mutual labels:  api, gui
Orianna
A Java framework for the Riot Games League of Legends API (http://developer.riotgames.com/).
Stars: ✭ 131 (-1.5%)
Mutual labels:  api
Hkosharp
Unofficial C# Library of Hong Kong Observatory API
Stars: ✭ 135 (+1.5%)
Mutual labels:  api
Flaxapi
Old repository with C# Editor and C# API for creating games in Flax Engine
Stars: ✭ 131 (-1.5%)
Mutual labels:  api
Litegui.js
Javascript Library to create webapps with a desktop look-alike interface. All the widgets are created from Javascript instead of using HTML.
Stars: ✭ 131 (-1.5%)
Mutual labels:  gui
React Nodegui Starter
Starter repository for react based native desktop apps using react-nodegui
Stars: ✭ 132 (-0.75%)
Mutual labels:  gui
Angular Swagger Ui
An angularJS implementation of Swagger UI
Stars: ✭ 131 (-1.5%)
Mutual labels:  api
Laravel cities
Find any country/city in the world. Get Long/Lat etc. Deploy geonames.org database localy. Optimized DB tree
Stars: ✭ 133 (+0%)
Mutual labels:  api
Pgbouncerhero
A dashboard for your PgBouncers.
Stars: ✭ 129 (-3.01%)
Mutual labels:  gui
Bittrex.net
A C# .Net wrapper for the Bittrex web API including all features easily accessible and usable
Stars: ✭ 131 (-1.5%)
Mutual labels:  api
Lambdaattack
Minecraft bot for servers. Currently supports stress testing. More features are planned
Stars: ✭ 133 (+0%)
Mutual labels:  gui
Tunapanel
Autogenerate live Web-based control panels for Rust programs
Stars: ✭ 133 (+0%)
Mutual labels:  gui
Algorithmia Python
Python Client for Algorithmia Algorithms and Data API
Stars: ✭ 132 (-0.75%)
Mutual labels:  api

Python version of the Atlas toolkit

Run on Repl.it About online demonstrations

Version 0.12 license: MIT Documentation

Version

The Atlas toolkit is available for:

         Language GitHub repository Online démonstrations
Java Java https://github.com/epeios-q37/atlas-java Run on Replit
Node.js Node.js https://github.com/epeios-q37/atlas-node Run on Replit
Perl Perl https://github.com/epeios-q37/atlas-perl Run on Replit
Python Python https://github.com/epeios-q37/atlas-python Run on Replit
Ruby Ruby https://github.com/epeios-q37/atlas-ruby Run on Replit

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.


Quick example: the "Hello, World!" program

Source code

import atlastk

body = """
<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>
"""

def ac_connect(dom):
  dom.inner("", body)
  dom.focus("input")

def ac_submit(dom):
  dom.alert("Hello, " + dom.get_value("input") + "!")
  dom.focus("input")

def ac_clear(dom):
  if ( dom.confirm("Are you sure?") ):
    dom.set_value("input", "")
  dom.focus("input")

callbacks = {
  "": ac_connect,  # The action label for a new connection is an empty string.
  "Submit": ac_submit,
  "Clear": ac_clear,
}

atlastk.launch(callbacks)

Result

Little demonstration

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

Online, with nothing to install

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 some examples, like the following TodoMVC application or the above "Hello, World!" program, 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

git clone http://github.com/epeios-q37/atlas-python
cd atlas-python/examples
python Hello/

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,
  • ReversiTXT: Reversi game with X and O for token,
  • Notes: note taking program,
  • TodoMVC: TodoMVC,
  • Hangman: Hangman game,
  • 15-puzzle: 15-puzzle game,
  • Contacts: a basic address book,
  • ReversiIMG: Reversi game with more evolved graphics,
  • ReversiXSL: Reversi game using XSL,
  • Widgets: some widgets handled with the Atlas toolkit,
  • Chatrooms : same as above Chatroom, but with several rooms,
  • 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 <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.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].