import gradio as gr from textblob import TextBlob def sentiment_analysis(text: str) -> dict: """ Perform sentiment analysis on the input text. Args: text (str): The input text to analyze. Returns: dict: A dictionary containing the polarity and subjectivity of the text. """ blob = TextBlob(text) sentiment = blob.sentiment return { "polarity": round(sentiment.polarity, 2), "subjectivity": round(sentiment.subjectivity, 2), "assessment": "Positive" if sentiment.polarity > 0 else "Negative" if sentiment.polarity < 0 else "Neutral" } demo = gr.Interface( fn=sentiment_analysis, inputs=gr.Textbox(placeholder="Enter text here...", label="Input Text"), outputs=gr.JSON(label="Sentiment Analysis Result"), title="Sentiment Analysis App", description="This app performs sentiment analysis on the input text using TextBlob. It provides the polarity, subjectivity, and an assessment of the sentiment.", ) if __name__ == "__main__": demo.launch(mcp_server=True)