Graphically program in Python with Pythonic

Graphically program in Python with Pythonic

Originating out of cryptocurrency trading bots, Pythonic lets you code with just a few clicks.

Three giant robots and a person
Image by :

Get the newsletter

Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.

Pythonic is a graphical programming tool that makes it easy for users to create Python applications using ready-made function modules. The PyQt5-based application is aimed primarily at newcomers to programming, but experienced users can incorporate their own Python code into the application.

Pythonic emerged from the idea of providing the consistent features and characteristics of a trading bot with just a few clicks. Thus, basic functions such as a scheduler, if-branches, connectivity, and logging functions are available out of the box and can be parameterized using a corresponding GUI. The scope of functions is based on the established Node-RED so that tasks can be implemented with Pythonic in a simple way, even away from the crypto-trading arena.

Unlike Node-RED, each graphical element is functionally processed individually. This feature allows a complete parallelization of tasks since each element is packaged with the data required for processing when a process is created. Each element also contains a unique graphical input mask to carry out the parameterization necessary for processing. After a process completes successfully, the returned result can be transferred to a subsequent process for further use. In addition, server processes can be placed in parallel in the background as listener applications that wait for external events and initiate the creation of a process when the event arrives. This behavior is used, for example, in timers or TCP/IP server applications.

The scheduler module can implement time-controlled tasks.

An integrated API for the crypto-trading exchange Binance enables synchronizing server time, downloading market data, and placing orders.

Pythonic's graphical implementation of the Python data type list makes it easy to utilize different access techniques (push / pop / insert / append). In addition, the list content is visualized at runtime.

Programs are always processed from top to bottom or from left to right, and Pythonic can also handle if-branches and returns to previous elements. It can also save and pass on networks of program elements.

It can achieve parallel code execution by deploying the multiprocessing module on the grid, which starts two processes simultaneously when it is triggered.

The built-in logging capability allows the user to track a module's execution. There is a folder (e.g., Pythonic_2019) created inside the user's home directory with folders for each month (e.g., May, June, July) that contain a log file for each day. All log entries are human readable.

Pythonic is currently available in four languages: English, German, Spanish, and Chinese. It can be installed using the Python package installer, pip, and a source distribution package is available on the Python Package Index (PyPI).

Plans for future versions include elements from connectivity (email, REST, OPC UA) and machine learning (especially TensorFlow).

Pythonic is released under the GPLv3 and its source code is available on GitHub. The project also welcomes collaborations through individual contributions. Open issues as you use the software or support us by sharing how you use Pythonic to build bots.


About the author

Stephan Avenwedde - Stephan is an technology enthuisiast who appreciates open-source for the deep insight of how things work. Stephan work as a full time support engineer in the mostly propritary area of industrial automation software. If possbile, he work on his Python based open source projects, writing articles or driving motorbike.