BaniDB

_images/bdb.png

Vision Statement

BaniDB’s vision is to create a single, universally accessible Gurbani Database for Sikh websites and applications. BaniDB is, and will continue to be, the most accurate and complete Gurbani database ever created for use by Sikhs around the world.

In order to make this vision possible, members of this collaborative effort work to ensure that the platform is self-sustaining, tested, and secure.

Python package for BaniDB API

Installation

With pip

pip install banidb

Usage

Quick Start

shabad = banidb.random()
print(shabad)

Search shabad by first letters”

print("\tSearching Bandhana Har Bandhana ....")
shabad = banidb.search("bhbgggr")
print(shabad)

Release

Checkout the main branch

git checkout main
git pull

Increment the version

Pick one of the major|minor|patch to update
For example, let’s release the version to 0.4.0
bump2version --allow-dirty --verbose --commit --tag --new-version 0.4.0 patch setup.py

For minor

bump2version --allow-dirty --verbose --commit --tag --new-version 0.4.0 minor setup.py

For major

bump2version --allow-dirty --verbose --commit --tag --new-version 1.0.0 major setup.py

Note: its always good to start with the --dry run first

Push to remote

git push
Push the tag to remote too
in our case 0.4.0 git push origin 0.4.0
git push origin <tag-name>

Run the github release action

From UI

This will upload the bits to pypi.org
It can be done from the UI. Select the tag we just created and pushed

From CLI (untested)

gh has a new feature to trigger workflow from the CLI.
Note: at the time of writing this doc, this feature was not working on MacOS
gh workflow run python-publish.yml