api / app.py
wannaphong's picture
Update docs
b9def7b
from fastapi import Depends, FastAPI, Header, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import RedirectResponse
from routers import tokenize, soundex, util, spell
from fastapi_mcp import FastApiMCP
import pythainlp
DESC_TEXT = """# PyThaiNLP API
PyThaiNLP API
"""
app = FastAPI(
title='PyThaiNLP API',
description=DESC_TEXT,
# summary="Deadpool's favorite app. Nuff said.",
version="0.0.1",
debug=False,
# terms_of_service="http://example.com/terms/",
# contact={
# "name": "Deadpoolio the Amazing",
# "url": "http://x-force.example.com/contact/",
# "email": "[email protected]",
# },
license_info={
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0.html",
},
)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/")
def index():
response = RedirectResponse(url='/docs')
return response
@app.get("/version")
def version():
"""
Get PyThaiNLP Version
"""
return {"version": pythainlp.__version__}
app.include_router(tokenize.router, prefix="/tokenize", tags=["Tokenize"])
app.include_router(soundex.router, prefix="/soundex", tags=["Soundex"])
app.include_router(spell.router, prefix="/spell", tags=["Spell"])
app.include_router(util.router, prefix="/util", tags=["Util"])
mcp = FastApiMCP(app)
# Mount the MCP server directly to your FastAPI app
mcp.mount()