GuideFrame is a tool which allows software developers to produce detailed walkthrough videos of their projects using python code. It can be run locally, provided you have the required packages installed, or can be used as a GitHub action.
It uses a selection of open-source software to record a users screen, perform scripted UI interactions and generate a matching voiceover based on a user-defined markdown file. To see GuideFrame in action you can visit the Demos section of the GuideFrame Site.
GuideFrame is currently available on PyPi. It can be installed using:pip install guideframe
.
While GuideFrame can be run locally, given the variance in development environment, using it as part of a GitHub action is the recommended approach.
More detailed installation instructions can be found on the docs page here.
If you simply want to get started, a template repository exists to enable users to dive in without the need to navigate local dependencies, python environments etc. Simply clone or fork the repository listed below to have access to a correctly configured template. You can then modify the GuideFrame script and markdown as needed for your purpose. Then you need only enable the GitHub action to begin your first render.
GuideFrame Template Repository
If you wish to view the syntax of GuideFrame through the lense of examples, see the below links.
Tutors Demo - A brief GuideFrame walkthrough using tutors.dev
Magento Demo - A GuideFrame selenium function demo using the Magento test site
GuideFrame Code Walkthrough - An elaborate GuideFrame walkthrough where it works through its own code.
- GuideFrame Code Walkthrough script
- GuideFrame Code Walkthrough markdown
- GuideFrame Code Walkthrough video
ffmpeg
- used to capture the virtual displays and combine clips.gTTS
- used to generate the voiceover audio.xvfb
- used to provide a virtual display server.mutagen
- used to parse MP3 length.chromium
- to provide a browser for interactions.selenium
- the python package for interacting with the browser.
GuideFrame is an open-source project and contributions are greatly encouraged. Open an issue thread or fork the repo and open a pull request if you've got suggestions, fixes etc.