honix / Pyno

Python-based visual programming
MIT License
168 stars 23 forks source link
python visual-programming

(This repository is archived and no longer under development!)

Pyno — Python-based data-flow visual programming Build Status

Pyno

So, what you can?

Pyno is an experiment. Real-world scenarios is confusing.

How to use

Check wiki for advanced tutorials!

Basics:

There are only three elements:

Element Description Key on keyboard to spawn
node is a function N
node from file exact same as node but loads from file O
field is a object, value or lambda function F
subpatch is a link to pyno-file, allows you to control complexity of your patches S

Controls:

Pyno

How to run

Make sure you have Python 3.4 or better on your computer.

To install pyno you must run pip install . from the repository root directory. Pyno's dependencies pyglet and pyperclip are going to be installed automatically.

In detail:

$ git clone https://github.com/honix/Pyno.git
$ cd Pyno
$ pip install .

Or alternatively as one-liner:

$ pip install git+https://github.com/honix/Pyno.git

Then you can run pyno in a console from anywhere.

If you want to work with just the project repository, i.e. without installing the package (this is not recommended!), run python -m pyno in a console, or open a python console in the repository root directory, and run

import pyno
pyno.app_run()

How to modify

To develop/modify code, you can install Pyno in "developer mode" by running pip install -e . in the Pyno directory. This runs setup.py and installs a link to the pyno directory, as if it were normally installed.

To run the tests, you need pytest installed. You run pytest in the root directory of the repository. It will discover the tests in the tests directory and run them on the installed package. You will see a couple of flashing windows when they get instantiated.

If you have (on Linux) xvfb and the pytest plugin pytest-xvfb installed, the tests should automatically be run on the virtual framebuffer, so no windows should become visible. If this for some reason does not work, invoking pytest via xvfb-run pytest should do the trick.