Skip to main content

Convert git commit history, to a animated beautiful coding video.

Project description

VideoGit

Converts git commit history, to a beautiful animated coding video.

Installation

  1. Install Silicon with brew install silicon or cargo install silicon)
  2. Install FFmpeg
  3. Run pip install videogit

Usage

  • Make sure you cd to the root directory containing your git repo. ( You should be able to run git commands like git status )
  • run videogit -l to view a list of your commits
  • pick and copy the hash of your starting commit, if you do not specify final commit hash, videogit will just make the video from your starting hash to the latest commit
  • run videogit <starting_commmit_hash_here> or videogit <starting_commmit_hash_here> <final_commit_hash_here> filling in the starting and ending hashes
  • run videogit -h for a full list of options

Example Usage

  • videogit ba12dc8 -wpm 60 -r 24 -f main.py test.cpp include/test.h

    Creates a 24 fps video from the commit ba12dc8 to the HEAD, at a typing speed of 60 wpm, for files main.y, test.cpp, and include/test.h

  • videogit 5f7198d a06dcff -o output-dir

    Creates a video from commit 5f7198d to commit a06dcff, for all files changed over that period, and outputs the videos to output-dir

Example Videos

All Options

                            -------- VideoGit --------                          

usage: videogit.py [-h] [-l] [-f FILES [FILES ...]] [-d GIT_REPO_DIRECTORY]
                   [-w WPM] [-r FRAME_RATE] [-o OUTPUT_DIR] [-u UP_DOWN_SPACE]
                   [-m MAX_LINE_LENGTH] [-v]
                   inital_commit [final_commit]

VideoGit by shahanneda (shahan.ca): Converts git commits, to a
beautiful animated video. To get started type videogit -l,

positional arguments:
  inital_commit         the hash of the commit to start the video at
  final_commit          the hash of the commit to end the video at, if not
                        specified will use the HEAD (default: the most recent
                        commit)

optional arguments:
  -h, --help            show this help message and exit
  -l, --list-git-commits
                        list your recent commits and hashes (default: None)
  -f FILES [FILES ...], --files FILES [FILES ...]
                        a list of specific files to make the video, if not set
                        will try to to make the video for all changed files,
                        example: videogit <hash> -f file1.cpp
                        file2.cpp) (default: None)
  -d GIT_REPO_DIRECTORY, --git-repo-directory GIT_REPO_DIRECTORY
                        the repo of your project, only needs to be set if it
                        is diffrent than the current working directory
                        (default: current directory)
  -w WPM, --wpm WPM     the speed of the video in words per minute (default:
                        480)
  -r FRAME_RATE, --frame-rate FRAME_RATE
                        the framerate of the output video (default: 30)
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        the directory of the output videos (default: current
                        directory)
  -u UP_DOWN_SPACE, --up-down-space UP_DOWN_SPACE
                        how many lines above and below the current editing
                        line to include in the video (default: 20)
  -m MAX_LINE_LENGTH, --max_line_length MAX_LINE_LENGTH
                        the maximum line length in chars before wrapping the
                        text (default: 200)
  -v, --verbose         print any errors or logging information (default:
                        False)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

VideoGit-0.1.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

VideoGit-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file VideoGit-0.1.0.tar.gz.

File metadata

  • Download URL: VideoGit-0.1.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.21.0 setuptools/50.0.2 requests-toolbelt/0.9.1 tqdm/4.24.0 CPython/3.7.1

File hashes

Hashes for VideoGit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 070e289faf4cfb5c71ad9d5c93606fd3a4606fce07009aedc50ffff26e558cb8
MD5 3365df16bcac21e21db45422bc5cebc9
BLAKE2b-256 12059c14f315d1b5ae89cd4c496bc76ffc6b567056877494d224819db19ccbe9

See more details on using hashes here.

File details

Details for the file VideoGit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: VideoGit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.21.0 setuptools/50.0.2 requests-toolbelt/0.9.1 tqdm/4.24.0 CPython/3.7.1

File hashes

Hashes for VideoGit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 547c75a80b5ecea101d3f6e7367c792d0b2d05410825cd1a3c802cc48479c3d8
MD5 031db05d9aef61f06f0e8a8094e1984c
BLAKE2b-256 1faf949fb28870e8725e9cc0397958765cb500016906ba38016160c669c3a883

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page