A command-line tool for interacting with books in git
HTML Jupyter Notebook Python
Latest commit 3726aee Feb 8, 2017 @eshellman eshellman committed on GitHub Merge pull request #126 from gitenberg-dev/update-github3
Update for github3



Build Status PyPI version

GITenberg is a project to collectively curate ebooks on GitHub. Gitberg is a command line tool to automate tasks on books stored in git repositories.


This project provides a gitberg command that does the following:

  • gitberg fetch <bookid> fetches books from PG
  • gitberg make <bookid> makes a local git repo with extra files
  • gitberg push <bookid> creates a repo on github and pushes to it (one per book)
  • gitberg all <bookid> <bookend> fetches, makes and pushes a range of books
  • gitberg list <bookid_start> fetches, makes and pushes a range of books

  • gitberg apply <action> <book_repo_name> applies an action

  • gitberg metadata <bookid> prints the yaml metadata


gitberg list --rdf_library /Documents/gitenberg/cache/epub 181,565,576


Some commands require a config file before they can be used. These commands will ask for config values to make a correct configuration. The config file in linux is located at ~/.config/gitberg/config.yaml.

Main config values:

gh_user: <your github account name>
gh_password: <your github account password>
library_path: '~/data/library'
rdf_library: location of your cache of the PG RDF demp


To run project tests do:

python setup.py test


This project is available as a python package. To install, use

pip install gitberg

To build this python package, use setup.py

python setup.py sdist