Add base repo

This commit is contained in:
Tyler Perkins 2023-05-12 19:14:14 -04:00
parent 7d21cf494e
commit d6a5b02012
5 changed files with 75 additions and 0 deletions

10
src/api/__init__.py Normal file
View File

@ -0,0 +1,10 @@
from flask_restx import Api
api = Api(
version='1.0',
title='Meme Search Engine',
description='A CLIP based meme search engine',
doc='/doc/'
)

17
src/app.py Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/python3
# Entry point
from flask import Flask
from api import api
from config import config, setLogLevel
import os
setLogLevel()
port = config["server.port"]
host = config["server.host"]
app = Flask(__name__)
api.init_app(app)
app.run(host=host, port=port)

27
src/config.py Normal file
View File

@ -0,0 +1,27 @@
# Load configurationa YAML
import envyaml
import os
import logging
config = envyaml.envyaml(os.environ.get('CONFIG_PATH', 'config.yaml'))
def setLogLevel():
"""
Set the logging level based on the config
"""
logLevel = config["app.log"]
if logLevel == "DEBUG":
logging.basicConfig(level=logging.DEBUG)
elif logLevel == "INFO":
logging.basicConfig(level=logging.INFO)
elif logLevel == "WARNING":
logging.basicConfig(level=logging.WARNING)
elif logLevel == "ERROR":
logging.basicConfig(level=logging.ERROR)
elif logLevel == "CRITICAL":
logging.basicConfig(level=logging.CRITICAL)
logging.info("Logging level set to %s", logLevel)

5
src/config.yaml Normal file
View File

@ -0,0 +1,5 @@
app:
port: 5000
host: "0.0.0.0"
log: "debug"

16
src/requirements.txt Normal file
View File

@ -0,0 +1,16 @@
aniso8601==9.0.1
attrs==23.1.0
blinker==1.6.2
click==8.1.3
envyaml==1.10.211231
Flask==2.3.2
flask-restx==1.1.0
huggingface==0.0.1
itsdangerous==2.1.2
Jinja2==3.1.2
jsonschema==4.17.3
MarkupSafe==2.1.2
pyrsistent==0.19.3
pytz==2023.3
PyYAML==6.0
Werkzeug==2.3.3