Skip to main content

A modern node based python editor and REPL for physics, education, and data analysis

Project description

ROON

A node bsed editor for python using with a modern svelte frontend UI

Development

Svelte Application

Uses rollup + svelte For development (live reload etc.):

npm run dev

For a production build:

npm run build

Note: the .env file is used to set the python backend:

PYTHON_BACKEND=auto

Options are: auto, pyodide, pywebview, jupyter - but pywebview is the primary target with others to be implemented later. Pyodide works for a fully browser based implementation, but the filesystem (needed for any real data analysis) is only supported in chrome and edge.

Make sure that production builds for the python package are setup with pywebview - because it takes some time for the js bridge to fully load, the automatic detection of the backend is slower than being set directly.

note: the svelte app is setup to write out the build files to a custom directory for integration with python app (in the roon/static/ directory) instead of the standard public. So you need to symlink to make development builds available in browser (if you want to work in the browser)

ln -s roon/static/svelte/public public

Python application

Use makefile for installing development builds and for building the package for publication

dev-build:
	python -m pip install --editable .

build:
	python -m build

We use twine to publish the pypi package (use Makefile target check and publish) Twine uses authentication in $HOME/.pypirc for pushing to PyPi.

ROADMAP

  • Fix widgets
  • hotkeys for inserting nodes
  • view node source
  • import nodes from libs directly from (numpy) or provide wrapper
  • write nodes in app
  • "h" - home hotkey to zoom according to actual extend of nodes in graph
  • comment out nodes
  • dynamic nodes: dictionaries and kwargs etc.
  • viewer nodes for plots etc.
  • pause python execution for input (view plots one at a time...)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roon-0.4.5.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

roon-0.4.5-py3-none-any.whl (893.5 kB view details)

Uploaded Python 3

File details

Details for the file roon-0.4.5.tar.gz.

File metadata

  • Download URL: roon-0.4.5.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.18

File hashes

Hashes for roon-0.4.5.tar.gz
Algorithm Hash digest
SHA256 f7bbaf6f369a3183323e27a1b5cd4c4aae744749a99c3cd7f43eb9ca6034bef0
MD5 4a4903196d59f04b10452d2ba9574d39
BLAKE2b-256 7b2b23f47b28ee7284ca29f0bbdd28f00f8a28ad9c19301a42a6c6a621c08d1c

See more details on using hashes here.

File details

Details for the file roon-0.4.5-py3-none-any.whl.

File metadata

  • Download URL: roon-0.4.5-py3-none-any.whl
  • Upload date:
  • Size: 893.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.18

File hashes

Hashes for roon-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2f92d889582024bc6451835becf813bf6a7b9f48e9fd9d682e5312b12803d975
MD5 173ca5661be5780ce57505d061ba9ac6
BLAKE2b-256 090e0cd659f40f0842281f057c8ced9573234e558c80c586610e351b8f067593

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page