prython in a nutshell

What's prython for?

It's an IDE that allows you to code in R or Python using panels that can be connected in a canvas. You can use it in two ways:

  • in the connected mode, each panel can accept multiple IN and OUT connections. You can run each panel in three modes: just one panel, everything up to that panel (running everything that serves as an input to it), and everything after that panel (running everything that uses the code from this panel). Every time you press run in either one of the three approaches, a new Python/R session gets created and all variables are evaluated again.
  • In the free mode, each panel becomes independent of the rest. However, all panels belong to the same R or Python session. This makes your development faster, as you don't need to rerun each panel every time you need to test something. However, this makes your project less organised and it is somewhat hard to remember the order of execution used for each panel.

Here you can see how a project on connected mode looks (LEFT) with all its connections. On the right, you can see the same project with the free mode activated.



Data professionals need to experiment with their data, build multiple plots, and separate the code into different areas. They rarely want to have a single linear script that runs from start to end. This almost inevitably leads to very messy scripts, unclear outputs, multiplicity of confusing plots, and users needing to remember what needs to be commented out to test something. No other IDE is well suited for this.

Why do you want to use it?

  • To track and describe experiments and tests. Instead of remembering what needs to be commented out in a script to test X change, you can easily do that with prython
  • to display your results and plots in a canvas that can be seen at the same time
  • to run complex tests on different models that run with a single click (for example: you want to test several scikit-learn models at the same time)
  • to split your code into different areas in the canvas. ie. input loading on one part of the canvas, model training in another area, plots/analysis in a different area
  • to mix Python and R code within the same project.
  • to visualize how dataframes change and evolve in a script. prython computes all changes done to dataframes (both in R or Python) across panels, and whenever a dataframe is altered, it is shown as a table next to each panel

Is it compatible with R or Python?

You need Python greater than 3.0 and R greater than 4.0. It is fully compatible with any R or Python package/library.