Skip to main content

Animate a version-controlled PDF/LaTeX paper!

Project description

paper-animator

Animate the progression of your version-controlled paper <3

Gif of an animated paper!

Installation

pip install paper-animator

or from source, with poetry

git clone https://github.com/sneakers-the-rat/paper-animator
cd paper-animator
poetry install

Usage

Simplest case, just point it to a .pdf file in some git repository :)

paper-animator /some/repo/paper.pdf

That method uses the .pdf checked in for each commit in the main branch. If you point it to a .tex file, it will attempt to build it for you! (experimental)

paper-animator /some/repo/paper.tex --latex_builder pdflatex

Use a repo that's not local! Give the file as a path relative to the root

paper-animator subdirectory/paper.pdf --repo https://github.com/username/example_repo --branch main

See paper-animator --help for all options -- note that for arguments that are tuples, you must pass them individually, eg paper-animator --grid_shape 6 4 to pass a grid shape of (6, 4)

$ paper-animator --help
usage: paper-animator [-h] [--output OUTPUT] [--repo REPO] [--branch BRANCH] [--tmp_dir TMP_DIR] [--latex_builder {pdflatex,xetex}] [--frame_duration FRAME_DURATION] [--video_fps VIDEO_FPS]
                      [--resolution RESOLUTION] [--grid_shape GRID_SHAPE] [--dont_cleanup]
                      input

Convert a version controlled paper to a video!

positional arguments:
  input                 Input file, a .pdf or .tex file!

optional arguments:
  -h, --help            show this help message and exit
  --output OUTPUT       Output video file, if absent, input with .mp4 extension, default: None
  --repo REPO           URL to a git repository to clone, if absent, get repo from input file, default: None
  --branch BRANCH       Which branch to use, default: main
  --tmp_dir TMP_DIR     Temporary directory to use, otherwise create one in ~/, default: None
  --latex_builder {pdflatex,xetex}
                        if input is a latex file, which builder to use with latexmk, default: pdflatex
  --frame_duration FRAME_DURATION
                        Duration (in s) to show each commit, default: 1
  --video_fps VIDEO_FPS
                        fps of output video, default: 30
  --resolution RESOLUTION
                        Resolution of plots, default: (1920, 1080)
  --grid_shape GRID_SHAPE
                        Manually override (rows,cols) of figure layout, default: None
  --dont_cleanup        Delete temporary folder after completion

Changelog

0.0.2

  • Fixing taking tuple-based command line arguments!
  • subdirs was created in the wrong spot in animate.plot_img_dirs !

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

paper-animator-0.0.2.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

paper_animator-0.0.2-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file paper-animator-0.0.2.tar.gz.

File metadata

  • Download URL: paper-animator-0.0.2.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.7 Darwin/20.3.0

File hashes

Hashes for paper-animator-0.0.2.tar.gz
Algorithm Hash digest
SHA256 bff25ffa722413e8542db0e1e39d517c607352372c8632038f5a2fafc6753a42
MD5 a2f3001d18f57c62f44691b2079a6144
BLAKE2b-256 0fc1f62de3d213324cfb5a6b0d8e41954ecf18eb2ba9625a3fae79e7eae6be70

See more details on using hashes here.

File details

Details for the file paper_animator-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: paper_animator-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.8.7 Darwin/20.3.0

File hashes

Hashes for paper_animator-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3feea342520509348c4be741460e10ef7ef5c9015d6e4e2737b215e488700c9d
MD5 262d01743674d37b774cf60fdc5acf74
BLAKE2b-256 e311500977988db159b38d550c6e969c890a394990869e4b9b66c72d934a983e

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