""" Eugene Intelligence v0.4 — HuggingFace Space Financial context for AI. Every number traced to source. """ import json import gradio as gr from eugene.router import query, capabilities, VALID_EXTRACTS from eugene.sources.fred import get_category, get_series, get_all, FRED_SERIES from eugene.concepts import VALID_CONCEPTS VERSION = "0.4.0" def sec_query(identifier, extract, period, concept, form, section, limit): if not identifier.strip(): return json.dumps({"error": "Please enter a ticker, CIK, or accession number."}, indent=2) params = { "period": period, "concept": concept if concept else None, "form": form if form else None, "section": section if section else None, "limit": int(limit), } result = query( identifier.strip().upper(), extract, **{k: v for k, v in params.items() if v is not None} ) return json.dumps(result, indent=2, default=str) def economics_query(category, series_id): if series_id and series_id.strip(): result = get_series(series_id.strip().upper()) elif category == "all": result = get_all() else: result = get_category(category) return json.dumps(result, indent=2, default=str) def get_caps(): return json.dumps(capabilities(), indent=2) with gr.Blocks( title="Eugene Intelligence v0.4", theme=gr.themes.Base(), ) as demo: gr.HTML("""

Eugene Intelligence v0.4

Financial context for AI. Every number traced to source.

""") with gr.Tabs(): with gr.Tab("SEC EDGAR"): with gr.Row(): with gr.Column(scale=1): identifier = gr.Textbox(label="Identifier", placeholder="AAPL, 320193, or accession number", value="AAPL") extract = gr.Dropdown(label="Extract", choices=VALID_EXTRACTS, value="financials") period = gr.Radio(label="Period (financials)", choices=["FY", "Q"], value="FY") limit = gr.Slider(label="Limit", minimum=1, maximum=20, step=1, value=5) concept = gr.Textbox(label="Concept (optional)", placeholder="revenue, net_income, eps_diluted...") form = gr.Textbox(label="Form filter (optional)", placeholder="10-K, 10-Q, 8-K, 4...") section = gr.Textbox(label="Section (optional)", placeholder="mdna, risk_factors, business...") sec_btn = gr.Button("Query SEC", variant="primary") with gr.Column(scale=2): sec_output = gr.Code(label="Response", language="json", lines=30) sec_btn.click(fn=sec_query, inputs=[identifier, extract, period, concept, form, section, limit], outputs=sec_output) gr.Examples( examples=[ ["AAPL", "financials", "FY", "", "", "", 5], ["NVDA", "financials", "FY", "revenue", "", "", 5], ["TSLA", "profile", "FY", "", "", "", 5], ["JPM", "filings", "FY", "", "10-K", "", 5], ["MSFT", "financials", "Q", "", "", "", 8], ], inputs=[identifier, extract, period, concept, form, section, limit], ) with gr.Tab("Economics (FRED)"): with gr.Row(): with gr.Column(scale=1): econ_category = gr.Dropdown(label="Category", choices=["all","inflation","employment","gdp","housing","consumer","manufacturing","rates","money","treasury"], value="treasury") econ_series = gr.Textbox(label="Specific series ID (optional)", placeholder="CPIAUCSL, UNRATE, DGS10...") econ_btn = gr.Button("Query FRED", variant="primary") with gr.Column(scale=2): econ_output = gr.Code(label="Response", language="json", lines=30) econ_btn.click(fn=economics_query, inputs=[econ_category, econ_series], outputs=econ_output) with gr.Tab("Capabilities"): caps_btn = gr.Button("Show Capabilities") caps_output = gr.Code(language="json", lines=30) caps_btn.click(fn=get_caps, outputs=caps_output) gr.Markdown(f""" ### Links - **GitHub**: [Matthew-Anyiam/eugene-data-labs](https://github.com/Matthew-Anyiam/eugene-data-labs) - **API**: [eugene-data-labs-production.up.railway.app](https://eugene-data-labs-production.up.railway.app) - **MCP**: [mcpservers.org](https://mcpservers.org/server/matthew-anyiam/eugene-data-labs) """) if __name__ == "__main__": demo.launch(server_name="0.0.0.0", server_port=7860)