Convert git commit history, to a animated beautiful coding video.
Project description
VideoGit
Converts git commit history, to a beautiful animated coding video.
Installation
- Install Silicon with
brew install silicon
orcargo install silicon
) - Install FFmpeg
- 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>
orvideogit <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
, andinclude/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
Release history Release notifications | RSS feed
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)
Built Distribution
VideoGit-0.1.0-py3-none-any.whl
(10.3 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 070e289faf4cfb5c71ad9d5c93606fd3a4606fce07009aedc50ffff26e558cb8 |
|
MD5 | 3365df16bcac21e21db45422bc5cebc9 |
|
BLAKE2b-256 | 12059c14f315d1b5ae89cd4c496bc76ffc6b567056877494d224819db19ccbe9 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 547c75a80b5ecea101d3f6e7367c792d0b2d05410825cd1a3c802cc48479c3d8 |
|
MD5 | 031db05d9aef61f06f0e8a8094e1984c |
|
BLAKE2b-256 | 1faf949fb28870e8725e9cc0397958765cb500016906ba38016160c669c3a883 |