Grasp is an easy-to-use tool that streamlines the flow of information involved in studying.
Grasp is written primarily for remote-learning students with access to recorded lectures. In addition to aiding students taking notes, it can also be used by educators to provide more resources to students easily.
Grasp takes a recorded video and extracts slides from the video. In addition to extracting slides, it adds references to topics referenced in the slide to the slide's comments. It also exports a summary view of topics in a Markdown formatted text file.
OS Build Tested: Ubuntu LTS 20.04.04 Dependencies: python3.9, pipenv
src/has all the source code. The main entrypoint ismain.py.src/tests/is where all the tests should be located
Python 3.9 should be pre-installed in Ubuntu 20.04. If that is not the case, follow this tutorial: https://linuxize.com/post/how-to-install-python-3-9-on-ubuntu-20-04/
- Install python3.9 and pip3 with
apt install python3.9 python3-pip - In the project directory, run
chmod +x install.sh - Run
./install.sh
- Make sure you have python 3.9 installed. Then, run
python3.9 -m pip install pipenv. - In the project directory, run
python3.9 -m pipenv installandpython3.9 -m pipenv install --system. - Run
pre-commit install. This should be enough so, to verify, runpre-commit run --all-files. All processes should pass. - Run
python3.9 -m pipenv run spacy download en_core_web_sm. - Create a .env with
touch .envfor holding cloud credentials. Write the credentials location withecho ‘GOOGLE_APPLICATION_CREDENTIALS="cloud_credentials.json"’ > .env - Fill in
cloud_credentials.jsonwith the API key for Google Cloud. This is obtained from Google Cloud. For this project we provide the json file in Appendix 1.
cd to the parent directory of grasp. ls should display the directory src.
Run pipenv shell to enter the python virtual environment.
While in the virtual environment, run python src/main.py to enter the grasp GUI. From there, select a video to parse. Alternatively, pipenv run python src/main.py can be run without entering the pipenv shell.
If running step 3 returns an error, some packages may need to be updated.
Update the virtual environment packages with pipenv update.
If step 1 still fails, update spacy and black directly. Run pipenv install spacy and pipenv install black. Updating spacy’s dictionary can be performed by pipenv run python -m spacy download en_core_web_sm.


