from fastapi import FastAPI
from pydantic import BaseModel, Field
from text_tools import count_words

app = FastAPI(title='Your Text API')


class TextInput(BaseModel):
    text: str = Field(max_length=20_000)


@app.post('/analyze')
def analyze(submission: TextInput):
    counts = count_words(submission.text)
    return {'counts': counts, 'distinct_words': len(counts)}
