Skip to main content

template UI (ipywidgets / ipyautoui) for running python scripts in jupyterlab / voila.

Project description

ipyrun

Binder Code style: black

ipyrun-logo

ipyrun is UI first package built on ipywidgets designed for rapidly creating an app user interface for use in a jupyter notebook / lab or voila app. To run a script or process and generate resultant output files. The app caches input, output and runtime data, such that the previous state of the app is available to the user when returning.

Try it online!

launch Binder <-- TODO: make this work! (need to build ipyautoui)

Screenshots

The example below shows the simple example of using the ipyrun to create an App for plotting straight line graphs, storing the input and output data for multiple runs. This is a useless example, but ipyrun can be programmed to complete any process creating user-defined input files and output files.

simple-linegraph-app

Description

A generic user interface for running processes. Data inputs to the process are defined by standard datafiles (e.g. csv, json), and data files are generated as outputs when the script is run. A timestamped record of script execution is maintained. An ipywdiget user interface allows users to edit script input data and view outputs of script execution.

User Journey to Creating an App with the DefaultAppConfig

The rationale behind ipyrun is that by following the simple process outlined below, the user does not need to think too much about creating an interface or how to cache data, with this being templated by the ipyrun configuration.

ipyrun is "UI first", upon which different, user-applied configurations can be attached. ipyrun ships with a DefaultRunConfig that is intended for executing python scripts or packages. New users are recommended to use this configuration, creating new configurations is an "advanced feature" that would require digging around the source code to ensure understand the relationships between the config, actions and ui.

it is possible to set up new ipyrun configurations, that might have different execute commands. 
for example it would be great to create a `RunSnake` app for executing SnakeMake commands... 
1 create an input schema
2 generate an input form using ipyautoui
3 create a script or process to execute
4 create a RunApp instance to manage UI and data-caching

Install

pip install ipyrun

Develop

mamba env create -f environment-dev.yml 
pytest

Packaging and Publish

#  NOTE: restricted to core-maintainers only
mamba activate hatcher # or conda env with hatch installed
hatch build  # builds to local folder
hatch publish -u __token__ -a <your-pypi-token>  # publishes to pypi

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

ipyrun-0.6.2.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

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

ipyrun-0.6.2-py2.py3-none-any.whl (45.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ipyrun-0.6.2.tar.gz.

File metadata

  • Download URL: ipyrun-0.6.2.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for ipyrun-0.6.2.tar.gz
Algorithm Hash digest
SHA256 3ff8f88195d10d1655b1654fa26a101f3fca42b63b66b99ca1d1639cb7ee3920
MD5 840c3ed2e9cb31d196c5748180ae7bf7
BLAKE2b-256 9445716bf29528c4384c83a786aac520b847965df7b1ed6acd67447d20b78924

See more details on using hashes here.

File details

Details for the file ipyrun-0.6.2-py2.py3-none-any.whl.

File metadata

  • Download URL: ipyrun-0.6.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 45.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for ipyrun-0.6.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8d67493f3646ed49ddc9dbf1b7b114ecaa39136ccad2b7bb01b7d9f1dcca2533
MD5 9e1c5251b9c7b0b79291743dfa87df92
BLAKE2b-256 c422e68cc02595f0e1cf29931a81e652b24b44f72618ac8e45f91e07ad47efa6

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