import gradio as gr import re import textstat from langdetect import detect def text_analysis(text): # Analyze text: word count, character count, language detection, and readability words = re.findall(r'\w+', text.lower()) sentences = re.split(r'[.!?]+', text) num_sentences = len(sentences) - 1 num_words = len(words) num_chars = len("".join(words)) reading_ease = textstat.flesch_reading_ease(text) language = detect(text) # Format the results return { "Language": language, "Sentences": num_sentences, "Words": num_words, "Characters": num_chars, "Readability (Flesch Reading Ease)": reading_ease } # Define an interface for text analysis text_analysis_interface = gr.Interface(fn=text_analysis, inputs=gr.Textbox(lines=4, placeholder="Type something here..."), outputs=gr.JSON(label="Text Analysis")) # Launch the interface if __name__ == "__main__": text_analysis_interface.launch()