{"id":34606719,"url":"https://github.com/bcdev/multiply-uimock","last_synced_at":"2026-05-27T17:31:46.718Z","repository":{"id":79479499,"uuid":"169538801","full_name":"bcdev/multiply-uimock","owner":"bcdev","description":"A GUI mock for the Multiply project based on Jupyter Notebook","archived":false,"fork":false,"pushed_at":"2019-02-14T17:29:20.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-09T14:15:30.038Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bcdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-02-07T08:13:00.000Z","updated_at":"2023-04-26T13:55:33.000Z","dependencies_parsed_at":"2023-04-01T12:32:18.394Z","dependency_job_id":null,"html_url":"https://github.com/bcdev/multiply-uimock","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bcdev/multiply-uimock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fmultiply-uimock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fmultiply-uimock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fmultiply-uimock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fmultiply-uimock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcdev","download_url":"https://codeload.github.com/bcdev/multiply-uimock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcdev%2Fmultiply-uimock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33577633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-24T13:56:51.047Z","updated_at":"2026-05-27T17:31:46.713Z","avatar_url":"https://github.com/bcdev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# multiply-uimock\n\nA GUI mock for the [Multiply](https://github.com/multiply-org) project based on\n[Jupyter Widgets](https://ipywidgets.readthedocs.io) and [Bokeh](https://bokeh.pydata.org).\n\n# Concept\n\nThe Multiply Docker images include Jupyter Lab, a dedicated Multiply REST server\nand a Multiply Notebook API. \n\nWhen the Docker is started on its host VM, the Jupyter Lab server and the Multiply\nREST server are started. User get a dedicated URL that brings up the Jupyter Lab\nin their browser. From Jupyter Lab they have access to\n* Jupyter Notebooks that can import the Multiply Notebook API\n* Terminal windows that allow accessing the container environment and \n  mounted file systems. \n\nThe Multiply Notebook API provides a simple set of functions (API) that \nbring up dedicated UI forms, such as data query and job execution.\n\nThe API provides access to objects that are a result of the GUI interaction.\nUsers can further interact with such objects e.g. `job = Job(13); job.cancel()`. \nThese objects also have dedicated HTML representations in the notebook. For example\na query result may render a table of data files, or a processing result \nmay render quicklooks. \n\nAnother set of functions may be provided for simple analysis and visualisation of the \nprocessing results. \n\nFor new users, we will provide a set of Notebooks for the most common \nMultiply use cases. Users can use them as starting points.\n\n\n## Advantages of using Jupyter Lab\n\n* With Jupyter Lab, users can \n  * create and modify any number of wokflows and data anlyses and store them\n    in their workspaces;\n  * have numerous notebooks and output displays side by side;\n  * use a variability of data visualisations already available.\n* Very flexible, users can bring up UIs anywhere in the flow and interact with\n  the objects they produce such as jobs, queries.\n* Python programmers can easily extend the UI capabilities by writing \n  new UI, analysis and visualisation functions.\n* Custom widgets can be implemented using JavaScript. \n  This allows for integration of popular and powerful JS visualisation libraries \n  (e.g. Leaflet Map, D3)\n* In the Notebooks, users can exploit the power of numerous popular Python data science \n  packages (xarray, numpy, scipy, pandas, ...)\n\n\n# Installation\n\nCreate environment:\n\n    $ cd multiply-uimock\n    $ conda env create\n\nActivate environment and install sources:\n\n    $ source activate muimock\n\nInstall jupyter-widgets extension for Jupyter-Lab\n\n    $ jupyter labextension install @jupyter-widgets/jupyterlab-manager\n\nInstall muimock from source code:\n\n    $ python setup.py develop\n\nRun Jupyter Lab\n\n    $ jupyter-lab notebooks/muimock.ipynb\n\n# Related Reads\n\n* Jupyter Lab: https://jupyterlab.readthedocs.io\n* Jupyter Widgets: https://ipywidgets.readthedocs.io/en/stable/examples/Using%20Interact.html\n* Bokeh docs: https://bokeh.pydata.org/en/latest/docs/user_guide/notebook.html\n* Bokeh examples: https://github.com/bokeh/bokeh/tree/1.0.4/examples/howto/notebook_comms\n\n* Integrating your objects with IPython: https://ipython.readthedocs.io/en/stable/config/integrating.html","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcdev%2Fmultiply-uimock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcdev%2Fmultiply-uimock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcdev%2Fmultiply-uimock/lists"}