SkillAgentSearch skills...

Gitberg

A command-line tool for interacting with books in git

Install / Use

/learn @gitenberg-dev/Gitberg
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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. If the saved configuration fails basic sanity checks (like files/folders being missing), these commands will ask for the config values again.

Main config values:

gh_user: <your github account name>
gh_password: <your github account password> #deprecated
library_path: '~/data/library'
rdf_library: <location of your cache of the PG RDF demp>
gh_access_token: <a github access token> # use instead of the password

To push to github, you will need to configure SSH keys. See [Github's documentation}(https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)

You may also provide values for these as environment variables named gitberg_gh_user etc (case insensitive).

Development

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

pip install .

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
View on GitHub
GitHub Stars112
CategoryDevelopment
Updated4mo ago
Forks21

Languages

Python

Security Score

92/100

Audited on Dec 7, 2025

No findings