/bhagavad-gita-api

Bhagavad Gita API is an open-source API that lets anyone use the text from Srimad Bhagavad Gita in their own web or mobile application(s).

Primary LanguagePythonMIT LicenseMIT

Logo

Bhagavad Gita API

Code for the BhagavadGita.io API, which is an app built for Gita readers by Gita readers.

GitHub issues PyPI - Python Version LICENSE Stars Docs Stars

Usage

The Bhagavad Gita API allows any developer to use content from Gita in their apps. This API is built with FastAPI which is based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.

Documentation for this API is availaible in two interactive formats:

If you are interested in using this API for your application, please register an account at RapidAPI where you'll get both the credentials as well as sample code in your language of choice. The API is 100% FREE to use.

Projects

Here is a list of interesting projects using this API.

Have you build something with this API ? Open a "Show and tell" discussion. The maintainers will feature your project on the README if they find it interesting.

Self Hosting

The official API is free to use for all. But If you wish you can self host anywhere you want.

If you want to deploy your own instance,You can deploy the API server on your system or VPS.

  • Using pipx

    Note If you dont have pipx, just pip install pipx

    pipx run bhagavad-gita-api
  • Or using docker

    docker run -it -p 8081:8081 --env-file=.env bhagavadgita/bhagavad-gita-api

Now open http://localhost:8081/docs to see docs. To stop the server press Ctrl + C on your keyboard.

By default an in-memory SQLite database is used. But you configure to use any SQL database of your choice. The official version uses PostgreSQL.

Looking to deploy on a cloud platform ? We have detailed docs to deploy to the following platforms:

Configuration

Here is the list of supported environment variables.

Name Description Default
TESTER_API_KEY The API key for testing. None
SQLALCHEMY_DATABASE_URI The DSN for your database connection. sqlite:// (in memory SQLite db)

If you want to configure your deployment even more, then please take a look at module config.py.

To set the environment variables, you may simply use a .env file where you specify the values in the format of KEY=VALUE.

Development

Feel free to use the issue tracker for bugs and feature requests.

Looking to contribute code ? PRs are most welcome! To get started with developing this API, please read the contributing guide.

Community

Join the Discord chat server and hang out with others in the community.

You can also use GitHub Discussions to ask questions or tell us about projects you have built using this API.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Anubhav Gupta

💻

Sanuj Sood

💻

Aahnik Daw

💻

Akshat Joshi

💻

Amritpal Singh

💻

Niku Singh

💻

sreevardhanreddi

💻 🚇

This project follows the all-contributors specification. Contributions of any kind welcome!