Download app.py from lsempe77/fcas: direct link, hf CLI and curl.
- Browser
- Download file 2.25 kB
-
https://huggingface.co/spaces/lsempe77/fcas/resolve/main/app.py
- Command line
-
hf download hf://spaces/lsempe77/fcas/app.py
-
curl -L -o app.py https://huggingface.co/spaces/lsempe77/fcas/resolve/main/app.py
2.25 kB
| # ============================================================================= | |
| # app.py (main entry point) | |
| # ============================================================================= | |
| import logging | |
| import os | |
| # Ensure logs folder exists | |
| os.makedirs("logs", exist_ok=True) | |
| # Configure logging | |
| logging.basicConfig( | |
| level=logging.DEBUG, # or INFO if you want less noise | |
| format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", | |
| handlers=[ | |
| logging.FileHandler("logs/app.log", mode="a"), # Log to file | |
| logging.StreamHandler() # Still show in Spaces Logs tab | |
| ] | |
| ) | |
| logger = logging.getLogger(__name__) | |
| # Example usage | |
| logger.info("App started") | |
| logger.debug("This is debug info") | |
| import gradio as gr | |
| from data_handler import DataHandler | |
| from gradio_callbacks import GradioCallbacks | |
| from gradio_components import ( | |
| create_header, create_qa_tab, create_overview_tab, | |
| create_methodology_tab, create_pivot_tab, create_filters_tab, create_about_tab | |
| ) | |
| def main(): | |
| # Initialize data | |
| data_handler = DataHandler() | |
| callbacks = GradioCallbacks(data_handler) | |
| data = data_handler.get_data() | |
| # Create Gradio app | |
| with gr.Blocks( | |
| theme=gr.themes.Monochrome(), | |
| title="FCAS Research Methods Evidence Mapping", | |
| css=""" | |
| .gradio-container { | |
| max-width: 1200px !important; | |
| } | |
| .main-header { | |
| text-align: center; | |
| background: linear-gradient(90deg, #667eea 0%, #764ba2 100%); | |
| color: white; | |
| padding: 2rem; | |
| border-radius: 10px; | |
| margin-bottom: 2rem; | |
| } | |
| """ | |
| ) as app: | |
| # Header | |
| create_header() | |
| with gr.Tabs(): | |
| create_qa_tab(callbacks) | |
| create_overview_tab(callbacks) | |
| create_methodology_tab(callbacks) | |
| create_pivot_tab(callbacks) | |
| create_filters_tab(callbacks, data['countries_list'], data['sectors_list']) | |
| create_about_tab() | |
| return app | |
| if __name__ == "__main__": | |
| app = main() | |
| app.launch( | |
| share=True, | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| show_error=True | |
| ) |