Skip to content

mgotliboym/gitberg

 
 

Repository files navigation

Gitberg

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.

Usage

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

Examples

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

Config

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

Development

To run project in development mode clone the project and do:

python setup.py develop

some commands will require you to run gitberg from the cloned directory.

Testing

To run project tests do:

python setup.py test

Packaging

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

About

A command-line tool for interacting with books in git

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 50.5%
  • Jupyter Notebook 48.8%
  • HTML 0.7%