Bhagavad_Gita / app.py
parvalijaved's picture
Update app.py
5b74bb2 verified
raw
history blame
1.56 kB
import streamlit as st
import requests
import json
# URL to the JSON file
JSON_URL = "https://cdn.statically.io/gh/gita/gita/main/data/verse.json"
# Fetch the JSON data
@st.cache_data
def fetch_data():
response = requests.get(JSON_URL)
response.raise_for_status()
return response.json()
# Streamlit app
st.title("Bhagavad Gita")
# Fetch and display chapters and verses
data = fetch_data()
# Extract chapter details
chapters = {int(chapter["chapter_number"]): chapter for chapter in data["chapters"]}
# Select Chapter
chapter_id = st.selectbox("Select Chapter", list(chapters.keys()), format_func=lambda x: f"Chapter {x}")
# Display chapter summary
chapter_summary = chapters[chapter_id].get('chapter_summary', 'No summary available')
st.subheader(f"Chapter {chapter_id}")
st.markdown(f"**Summary:**\n\n{chapter_summary}")
# Select Verse
verses = {int(verse["verse_number"]): verse for verse in chapters[chapter_id]['verses']}
verse_number = st.selectbox("Select Verse", list(verses.keys()))
# Display selected verse
selected_verse = verses[verse_number]
st.markdown(f"**Verse {verse_number}**")
st.markdown(f"**Sanskrit:**\n\n{selected_verse['text']}")
st.markdown(f"**Translation:**\n\n{selected_verse['translation']}")
# Display all verses in the selected chapter
st.subheader("All Verses in this Chapter")
for verse_number, verse in sorted(verses.items()):
st.markdown(f"**Verse {verse_number}**")
st.markdown(f"**Sanskrit:** {verse['text']}")
st.markdown(f"**Translation:** {verse['translation']}")
st.markdown("---")