https://github.com/imperialcollegelondon/gridlington-vis

https://github.com/imperialcollegelondon/gridlington-vis

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 9 committers (55.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: ImperialCollegeLondon
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 3.19 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 9
  • Releases: 17
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Notes

Installation and setup

The docker-compose.setup.ove.yml file is used as a template to generate the docker-compose.yml file. The docker-compose.yml file is used to start the services.

  1. Using a python3 environment with the pyyaml library added, run python configure.py develop to create the docker-compose.yml file. The script should automatically detect the IP address of the host machine and use it to configure the services.
  2. Run docker-compose up -d to start the OVE services.
  3. There is a convenience script, run_develop.sh which combines the above two steps for running in develop mode.
  4. The Dash app should be available at http://localhost:8050/. <!-- markdownlint-disable-line MD034 -->
  5. The OVE landing page should be available at http://localhost:8080. After a minute or two there should be all the sections defined and set up. <!-- markdownlint-disable-line MD034 -->

N.B. The configure.py setup process is required because the actual IP address of the host machine is needed to configure the services. localhost or 127.0.0.1 cannot be used (at least OVE doesn't work).

College VM configuration

A test version of the app is deployed at http://liionsden.rcs.ic.ac.uk:8080/ (internal access only). <!-- markdownlint-disable-line MD034 -->

This service is mostly automated with a few steps required to be run outside of the docker container causing some limitations. To run a production version of this, the required files and directories are:

  • docker-compose.setup.ove.yml
  • configure.py
  • run.sh
  • config/
  • logs/ - this can be empty
  • data/ - for the pre-set data (this data needs to be added manually)
  • A .env file to define MY_SECRET for the OpenVidu login

To run the production version should be as simple as running bash run.sh with the above files alongside a docker-compose.override.yml for watchtower etc.

Utimately, we will want to automate this setup as much as possible so the environment (local testing vs. deployment) is autodetected. For now, the configuration files differ from those generated in the above setup in the following ways:

config/default.conf:

diff - server_name ""; + server_name liionsden.rcs.ic.ac.uk;

There is also a requirements to have the OpenVidu server running - see Deploying OpenVidu CE on premises

Current steps for Running a WebRTC app and sharing an application window

(Start from step 3 if the vis system is already up and running)

  1. Make sure nothing's running
  2. Run bash run_develop.sh for vis system to run config script and docker-compose.yml
    • For production, use run.sh when using pre-set data, or run_live.sh when using the live model.
  3. Go to OVE Core at the IP address defined in the API_URL environment variable you will now find in docker-compose.yml
  4. Go to OpenVidu IP address and manually trust website (OPENVIDU_HOST in the docker-compose.yml)
  5. Log in with username: admin, password: (OPENVIDU_SECRET from docker-compose.yml)
  6. Return to OVE Core, open the View for the desired WebRTC space - link under Space Layouts, will be something like IP/view.html?oveViewId=PC01-Top-0
  7. Open the Controller - link is ID Number under Sections
  8. Start the call from the Controller - will generate and display a Session ID
  9. Copy the Session ID into the OpenVidu textbox to join the call (there should be three users connected to the call)
  10. Share the application (NMX) window into the video call
  11. Go to the Controller and select the desired screen to share. It should have a yellow box around it once selected.
  12. Confirm the view is displaying the screen.

Note: Only one screen can be shared from one browser, so multiple screens will require multiple computers/browsers/incognito windows etc.

Owner

  • Name: Imperial College London
  • Login: ImperialCollegeLondon
  • Kind: organization
  • Email: icgithub-support@imperial.ac.uk
  • Location: Imperial College London

Imperial College main code repository

GitHub Events

Total
Last Year

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 299
  • Total Committers: 9
  • Avg Commits per committer: 33.222
  • Development Distribution Score (DDS): 0.575
Past Year
  • Commits: 299
  • Committers: 9
  • Avg Commits per committer: 33.222
  • Development Distribution Score (DDS): 0.575
Top Committers
Name Email Commits
Tom Bland t****d@h****k 127
Adrian D'Alessandro a****o@i****k 84
CWestICL c****t@i****k 43
Daniel Davies d****s@u****k 19
Daniel Davies d****s@i****k 14
Travis Gordon t****4@i****k 6
Dan Davies 5****9 3
tg2414 5****4 2
CWestICL 1****L 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 68
  • Total pull requests: 53
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 7
  • Total pull request authors: 6
  • Average comments per issue: 1.15
  • Average comments per pull request: 0.6
  • Merged pull requests: 51
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 29
  • Pull requests: 33
  • Average time to close issues: 18 days
  • Average time to close pull requests: 2 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 0.69
  • Average comments per pull request: 0.55
  • Merged pull requests: 31
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AdrianDAlessandro (40)
  • pclemow (8)
  • tsmbland (7)
  • dandavies99 (4)
  • dalonsoa (4)
  • cc-a (1)
  • CWestICL (1)
Pull Request Authors
  • AdrianDAlessandro (28)
  • tsmbland (18)
  • dandavies99 (6)
  • CWestICL (5)
  • pclemow (4)
Top Labels
Issue Labels
feature (24) frontend (14) bug (9) infrastructure (8) upstream (5) backend (4) on hold (2) documentation (2) refactor (1) good first issue (1) umbrella (1) wontfix (1)
Pull Request Labels
frontend (2) feature (1) backend (1) bug (1)

Dependencies

Dockerfile docker
  • python 3.9-slim build
docker-compose.setup.ove.yml docker
  • nginx alpine
  • openvidu/openvidu-call 2.7.0
  • ovehub/ove 0.5.0
  • ovehub/ove-apps 0.5.0
  • ovehub/ove-external-tuoris v0.1
  • ovehub/ove-service-persistence-inmemory 0.2.1
  • ovehub/ove-ui 0.2.0
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pre-commit/action v3.0.0 composite
.github/workflows/publish.yml actions
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/metadata-action v3 composite
pyproject.toml pypi
  • dash *
  • gunicorn *
  • pandas *
  • pyyaml *
requirements-dev.txt pypi
  • ansi2html ==1.8.0 development
  • attrs ==23.1.0 development
  • black ==23.7.0 development
  • build ==0.10.0 development
  • certifi ==2023.7.22 development
  • cfgv ==3.3.1 development
  • charset-normalizer ==3.2.0 development
  • click ==8.1.6 development
  • coverage ==7.2.7 development
  • dash ==2.11.1 development
  • dash-core-components ==2.0.0 development
  • dash-html-components ==2.0.0 development
  • dash-iconify ==0.1.2 development
  • dash-table ==5.0.0 development
  • distlib ==0.3.7 development
  • exceptiongroup ==1.1.2 development
  • filelock ==3.12.2 development
  • flask ==2.2.5 development
  • gunicorn ==21.2.0 development
  • identify ==2.5.26 development
  • idna ==3.4 development
  • iniconfig ==2.0.0 development
  • itsdangerous ==2.1.2 development
  • jinja2 ==3.1.2 development
  • markupsafe ==2.1.3 development
  • mypy ==1.4.1 development
  • mypy-extensions ==1.0.0 development
  • nest-asyncio ==1.5.7 development
  • nodeenv ==1.8.0 development
  • numpy ==1.25.2 development
  • packaging ==23.1 development
  • pandas ==2.0.3 development
  • pandas-stubs ==2.0.2.230605 development
  • pathspec ==0.11.2 development
  • pip-tools ==7.3.0 development
  • platformdirs ==3.10.0 development
  • plotly ==5.15.0 development
  • pluggy ==1.2.0 development
  • pre-commit ==3.3.3 development
  • pyproject-hooks ==1.0.0 development
  • pytest ==7.4.0 development
  • pytest-cov ==4.1.0 development
  • pytest-mock ==3.11.1 development
  • pytest-mypy ==0.10.3 development
  • python-dateutil ==2.8.2 development
  • pytz ==2023.3 development
  • pyyaml ==6.0.1 development
  • requests ==2.31.0 development
  • retrying ==1.3.4 development
  • ruff ==0.0.283 development
  • six ==1.16.0 development
  • tenacity ==8.2.2 development
  • tomli ==2.0.1 development
  • types-pytz ==2023.3.0.0 development
  • types-pyyaml ==6.0.12.11 development
  • types-requests ==2.31.0.2 development
  • types-urllib3 ==1.26.25.14 development
  • typing-extensions ==4.7.1 development
  • tzdata ==2023.3 development
  • urllib3 ==2.0.4 development
  • virtualenv ==20.24.2 development
  • werkzeug ==2.2.3 development
  • wheel ==0.41.1 development
requirements.txt pypi
  • ansi2html ==1.8.0
  • certifi ==2023.7.22
  • charset-normalizer ==3.2.0
  • click ==8.1.6
  • dash ==2.11.1
  • dash-core-components ==2.0.0
  • dash-html-components ==2.0.0
  • dash-iconify ==0.1.2
  • dash-table ==5.0.0
  • flask ==2.2.5
  • gunicorn ==21.2.0
  • idna ==3.4
  • itsdangerous ==2.1.2
  • jinja2 ==3.1.2
  • markupsafe ==2.1.3
  • nest-asyncio ==1.5.7
  • numpy ==1.25.2
  • packaging ==23.1
  • pandas ==2.0.3
  • plotly ==5.15.0
  • python-dateutil ==2.8.2
  • pytz ==2023.3
  • pyyaml ==6.0.1
  • requests ==2.31.0
  • retrying ==1.3.4
  • six ==1.16.0
  • tenacity ==8.2.2
  • typing-extensions ==4.7.1
  • tzdata ==2023.3
  • urllib3 ==2.0.4
  • werkzeug ==2.2.3