• Stars
    star
    167
  • Rank 226,592 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python-based 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?

  • real-time interactive development
  • no predefined nodes - you will code yours
  • use python as you like (any libs and tips)
  • crash-less errors
  • perpetuum mobile (~60 fps bacchanalia)

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:

  • Use right-mouse-button to panning
  • Save and load pyno-file using bottom-right buttons (S-save, L-load)
  • Move and select elements by mouse, selected elements can be deleted by Delete key
  • Selected elements can be ctrl-c and ctrl-v
  • Nodes has a code inside, edit code just by pressing on node and hover code editor
  • Last, you want to transfer data from element to element, just press and hold on pin and drop connection to other pin

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.