def configure_templates(dev_mode: bool) -> None: """Configure the templates for the application. Args: dev_mode (bool): Enables FastAPI development mode """ folder = os.path.dirname(__file__) template_folder = os.path.join(folder, "templates") template_folder = os.path.abspath(template_folder) fastapi_chameleon.global_init(template_folder, auto_reload=dev_mode)
def setup_global_template(test_templates_path): fc.global_init(str(test_templates_path)) yield # Clear paths so as to no affect future tests fc.engine.clear()
def configure_templates(dev_mode: bool): fastapi_chameleon.global_init('templates', auto_reload=dev_mode)
import fastapi import uvicorn import fastapi_chameleon from pathlib import Path from starlette.staticfiles import StaticFiles from views import account, home, packages BASE_DIR = Path(__file__).parent fastapi_chameleon.global_init(str(BASE_DIR / "templates")) def create_app(configure): app = fastapi.FastAPI() configure(app) return app def configure(app): mount_static_files(app) mount_endpoints(app) def mount_endpoints(app): app.include_router(account.router) app.include_router(home.router) app.include_router(packages.router) def mount_static_files(app): app.mount("/static",
import fastapi import fastapi_chameleon import uvicorn from starlette.staticfiles import StaticFiles from views import account, home, packages app = fastapi.FastAPI() fastapi_chameleon.global_init("templates") def main(): configure(dev_mode=True) uvicorn.run(app, host='127.0.0.1', port=8001, debug=True) def configure(dev_mode: bool): configure_templates(dev_mode) configure_routes() def configure_templates(dev_mode: bool): fastapi_chameleon.global_init("templates", auto_reload=dev_mode) def configure_routes(): app.mount('/static', StaticFiles(directory='static'), name='static') app.include_router(home.router) app.include_router(account.router) app.include_router(packages.router)
def configure_templates(): fastapi_chameleon.global_init(template_folder='remind_me/templates')
def configure_templates(): fastapi_chameleon.global_init('templates')
def configure_templates(dev_mode: bool): fastapi_chameleon.global_init(f"{TEMPLATE_FLDR}")
from json import dumps from logging import getLogger, INFO from uuid import uuid4 import numpy as np import emoji from fastapi.staticfiles import StaticFiles from fastapi import FastAPI, Form from fastapi.responses import HTMLResponse from fastapi_chameleon import template, global_init from transformers import AutoModelForMaskedLM, AutoTokenizer app = FastAPI() global_init("./app/templates/", auto_reload=True) # False in prd app.mount("/app/static", StaticFiles(directory="./app/static"), name="static") logger = getLogger("gunicorn.error") logger.setLevel(INFO) def encode(tokenizer, user_text): """encodes the question and context with a given tokenizer""" text = emoji.demojize(user_text.strip(",.;:")) encoded = tokenizer.encode(text + " <mask>", return_tensors="pt") return encoded def decode(tokenizer, token): """decodes the tokens to the answer with a given tokenizer"""
def test_cannot_call_init_with_bad_path(test_templates_path): bad_path = test_templates_path / "missing" with pytest.raises(Exception): fc.global_init(str(bad_path), cache_init=False)
def test_can_call_init_with_good_path(test_templates_path): fc.global_init(str(test_templates_path), cache_init=False) # Clear paths so as to no affect future tests fc.engine.clear()
def test_cannot_call_init_with_bad_path(): with pytest.raises(Exception): fc.global_init(folder + 'missing', cache_init=False)
def test_can_call_init_with_good_path(): fc.global_init(folder, cache_init=False)
def configure_templates(dev_mode: bool): folder = os.path.dirname(__file__) template_folder = os.path.join(folder, 'templates') template_folder = os.path.abspath(template_folder) fastapi_chameleon.global_init(template_folder, auto_reload=dev_mode)