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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7bbaf6f369a3183323e27a1b5cd4c4aae744749a99c3cd7f43eb9ca6034bef0
|
|
| MD5 |
4a4903196d59f04b10452d2ba9574d39
|
|
| BLAKE2b-256 |
7b2b23f47b28ee7284ca29f0bbdd28f00f8a28ad9c19301a42a6c6a621c08d1c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f92d889582024bc6451835becf813bf6a7b9f48e9fd9d682e5312b12803d975
|
|
| MD5 |
173ca5661be5780ce57505d061ba9ac6
|
|
| BLAKE2b-256 |
090e0cd659f40f0842281f057c8ced9573234e558c80c586610e351b8f067593
|