{"id":19721989,"url":"https://github.com/datajoint/sci-viz-demo","last_synced_at":"2025-04-29T22:30:32.517Z","repository":{"id":42972252,"uuid":"436448744","full_name":"datajoint/sci-viz-demo","owner":"datajoint","description":"A demonstration of SciViz's latest features included as part of the pipeline visualization framework.","archived":false,"fork":false,"pushed_at":"2023-02-11T22:55:34.000Z","size":71,"stargazers_count":0,"open_issues_count":1,"forks_count":9,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-05T19:51:14.149Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/datajoint/sci-viz","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datajoint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-09T01:46:40.000Z","updated_at":"2023-06-27T21:34:48.000Z","dependencies_parsed_at":"2022-09-09T11:51:24.247Z","dependency_job_id":null,"html_url":"https://github.com/datajoint/sci-viz-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datajoint%2Fsci-viz-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datajoint%2Fsci-viz-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datajoint%2Fsci-viz-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datajoint%2Fsci-viz-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datajoint","download_url":"https://codeload.github.com/datajoint/sci-viz-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251592898,"owners_count":21614441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-11T23:16:08.780Z","updated_at":"2025-04-29T22:30:32.175Z","avatar_url":"https://github.com/datajoint.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DataJoint™ powered visualization that adapts to *your* workflows\n\n![](https://images.squarespace-cdn.com/content/v1/60e5a50c0632d17c36f6b2d3/1638463454411-SMVPVS9EBPLU9T9T5YMN/unsplash-image-Pyut03Gn98w.jpg?format=1000w)\n\n## Features\n\n- Visualization that can **keep up with changing needs** of your lab\n- Standardized YAML build specification providing a **Low-Code web application\n  design** experience\n- Transport-optimization by leveraging **client-side rendering** with\n  [React](https://reactjs.org/)\n- **Python+[DataJoint](https://www.datajoint.org/) interoperability** to allow\n  streamlined integration\n- Clear separation between business logic from product features i.e. **customization\n  through configuration**\n- **Backend-optimized** page rendering built for big-data and scale\n- Comprehensive permission and security design enabling **flexible access control**\n  modes\n- Securely **manage sensitive information** by configuring it separtely and referencing it in LC spec\n- Pain-free deployments by supporting **live-reload** on changes to configuration\n- Shared, immutable **global variables** available to all components\n\n## Component Library Types\n- `markdown`: Often it is necessary to document or describe views via Markdown\n- `page`:\n  - Unique tabbed pages to separate areas within your single-page application\n  - Hidden pages accessible through linking from records in table components\n- `grid`: Layout structure for organizing subcomponents (as seen in\n  [Grafana, AWS Console](https://github.com/react-grid-layout/react-grid-layout#projects-using-react-grid-layout))\n  - `fixed`: For when you know exactly how many components you'd like to render\n  - `dynamic`: Component templating mode when you need to render realtime views that\n    vary in number of components\n- `table`: Sometimes there's nothing better than a table view\n  - paging\n  - sorting\n  - filtering\n- `metadata`: Great for showing context info for particular views\n- `plot`: Let's face it, we are going to need to be able to plot stuff\n  - plotly\n- `image`: When you need to render an image file's data directly within the grid\n  - `*.apng`\n  - `*.avif`\n  - `*.gif`\n  - `*.jpeg`\n  - `*.png`\n  - `*.svg`\n  - `*.webp`\n- `custom`: Adding new, custom components is easy with our extensibility hook. See our currently supported components [here](https://github.com/datajoint/pharus/blob/master/pharus/component_interface.py) which you can reference when creating your own.\n\n# Running the DEMO\n\nThe recommended environment to run the demo is included as a [DevContainer](https://containers.dev/).\n\n## Launch Environment\n\nHere are some options that provide a great demo experience:\n\n- **Cloud-based IDE**: (*recommended*)\n  - Launch using [GitHub Codespaces](https://github.com/features/codespaces) using the option `Create codespace on main` in the codebase repository on your fork.\n  - Build time for a 2-Core codespace is **~6m30s**. This is done infrequently and cached for convenience.\n  - Start time for a 2-Core codespace is **~3m**. This will pull the built codespace from cache when you need it.\n  - *Tip:* GitHub auto names the codespace but you can rename the codespace so that it is easier to identify later.\n- **Local IDE**:\n  - Ensure you have [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n  - Ensure you have [Docker](https://docs.docker.com/get-docker/)\n  - Ensure you have [VSCode](https://code.visualstudio.com/)\n  - Install the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)\n  - `git clone` the codebase repository and open it in VSCode\n  - Use the `Dev Containers extension` to `Reopen in Container` (More info in the `Getting started` included with the extension)\n\nYou will know your environment has finished loading once you see a terminal open related to `Running postStartCommand` with a final message: `Done`.\n\n## Live Reloading\n\n- To access SciViz, use the VSCode `PORTS` tab (next to `TERMINAL`) to manage access to the forwarded ports. SciViz will be served on port 443.\n- This interactive environment sets up a developer experience where on saves to `sciviz_spec.yaml`, SciViz will automatically reload the page to reflect your changes.\n- *Tip:* Take care to save only when specifying **valid** configuration for SciViz. If you save aggressively, this could cause the underlying services to break since each save triggers a reload.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatajoint%2Fsci-viz-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatajoint%2Fsci-viz-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatajoint%2Fsci-viz-demo/lists"}