gkg-sandbox / app.py
blazingbunny's picture
Update app.py
8af0b4a verified
import streamlit as st
import requests
import json
import pprint
# Function to fetch data from Google Knowledge Graph
def fetch_data(query, api_key, limit):
url = f"https://kgsearch.googleapis.com/v1/entities:search?query={query}&key={api_key}&limit={limit}"
response = requests.get(url)
json_data = json.loads(response.text)
return json_data
# Streamlit UI
st.title('Google Knowledge Graph Search')
# Try to fetch API key from secrets.toml
api_key = st.secrets.get("gkg", {}).get("api_key") if isinstance(st.secrets.get("gkg", {}), dict) else None
# If not found, ask for it
if not api_key:
api_key = st.text_input('Enter your Google API Key:', type="password")
search_query = st.text_input('Enter Search Query:', 'Python Programming')
output_count = st.slider('Number of Results:', min_value=1, max_value=10, value=1)
if st.button('Search'):
if api_key:
result = fetch_data(search_query, api_key, output_count)
try:
# Pretty-print the entire JSON response to display all outputs
st.subheader("Full JSON Response")
st.write(pprint.pformat(result))
except:
st.write('No results found.')
else:
st.write('API key is missing.')