diff --git a/requirements/build.in b/requirements/build.in index 85fa4c28088678c3469d6583bb8176fa850eb8d1..ebdd39d5a12cc8771406c66351090f3236c53c67 100644 --- a/requirements/build.in +++ b/requirements/build.in @@ -18,3 +18,9 @@ build>=0.3.1.post1 twine>=3.4.1 urllib3>=1.26.4 pep517==0.10.0 +docutils=0.17 +identify=1.5.14 +pygments==2.8.1 +pytz==2021.1 +alembic==1.5.5 +attrs==20.3.0 diff --git a/requirements/build.txt b/requirements/build.txt index 5f76c1522639e0f4b21863636d3baad2b35e310c..79d6635d81bf65f0bac0d3c045185fcec1dc500c 100644 --- a/requirements/build.txt +++ b/requirements/build.txt @@ -59,8 +59,10 @@ packaging==20.9 # build pbr==3.1.1 # via -r requirements/build.in -pep517==0.9.1 - # via build +pep517==0.10.0 + # via + # -r requirements/build.in + # build pip-licenses==3.3.0 # via -r requirements/build.in pip-tools==5.5.0 diff --git a/requirements/dev.in b/requirements/dev.in index 72a74727d68bf30bac74178e119e2a5b6652eeda..7cf2246f45af4263eced0c12cb5cae320f24ca83 100644 --- a/requirements/dev.in +++ b/requirements/dev.in @@ -4,11 +4,7 @@ Flask>=1.1.2 Flask-SQLAlchemy>=2.5.1 Flask-Cors>=3.0.10 Flask-BS4>=5.0.0.1 -Flask-Babel>=2.0.0 Flask-Admin>=1.5.7 -Flask-Redisboard>=0.2.0 -flask-whooshalchemy3>=0.2.0 -Flask-PluginKit>=3.6.0 SQLAlchemy>=1.4.5 celery[redis]>=5.0.5 psycopg2-binary>=2.8.6 diff --git a/requirements/dev.txt b/requirements/dev.txt index 3be83e63339fda72194a48bb41ec9829c89bac7e..43751babd2462ff34d401d42b2392580c021d215 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -219,8 +219,10 @@ pbr==3.1.1 # -r requirements/build.in # flask-whooshalchemy3 # sphinxcontrib-gravizo -pep517==0.9.1 - # via build +pep517==0.10.0 + # via + # -r requirements/build.in + # build pillow==8.2.0 # via # -r requirements/dev.in @@ -454,8 +456,6 @@ uritemplate==3.0.1 urllib3==1.26.4 # via # -r requirements/build.in - # -r requirements/docs.in - # -r requirements/tests.in # requests venv-run==0.1.0 # via -r requirements/build.in diff --git a/requirements/docs.txt b/requirements/docs.txt index 0ebdcd8347a889da214d885343549ec0d655fdb6..7f153a0525ce9d7291dd32757045c2fc12db4d42 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -6,38 +6,96 @@ # alabaster==0.7.12 # via sphinx +appdirs==1.4.4 + # via virtualenv +argparse==1.4.0 + # via pytoolbox babel==2.9.0 # via sphinx +bleach==3.3.0 + # via readme-renderer +build==0.3.1.post1 + # via -r requirements/build.in certifi==2020.12.5 - # via requests + # via + # pipenv + # requests cffi==1.14.5 # via cryptography +cfgv==3.2.0 + # via pre-commit chardet==3.0.4 - # via requests + # via + # -r requirements/build.in + # requests +click==7.1.2 + # via pip-tools +colorama==0.4.4 + # via twine cryptography==3.4.7 - # via jwcrypto + # via + # jwcrypto + # secretstorage +distlib==0.3.1 + # via virtualenv docutils==0.16 - # via sphinx + # via + # readme-renderer + # sphinx +filelock==3.0.12 + # via virtualenv github3.py==2.0.0 # via sphinxcontrib-github httplib2==0.19.0 # via plantuml +identify==2.2.2 + # via pre-commit idna==2.10 # via requests imagesize==1.2.0 # via sphinx +importlib-metadata==3.10.0 + # via + # keyring + # twine +jeepney==0.6.0 + # via + # keyring + # secretstorage jinja2==2.11.3 # via sphinx jwcrypto==0.8 # via github3.py +keyring==23.0.1 + # via twine markdown==3.3.3 # via plantuml-markdown markupsafe==1.1.1 # via jinja2 -packaging==20.0 - # via sphinx -pbr==5.5.1 - # via sphinxcontrib-gravizo +nodeenv==1.5.0 + # via pre-commit +packaging==20.9 + # via + # -r requirements/build.in + # bleach + # build + # sphinx +pbr==3.1.1 + # via + # -r requirements/build.in + # sphinxcontrib-gravizo +pep517==0.10.0 + # via + # -r requirements/build.in + # build +pip-licenses==3.3.0 + # via -r requirements/build.in +pip-tools==5.5.0 + # via -r requirements/build.in +pipenv==2020.11.15 + # via -r requirements/build.in +pkginfo==1.7.0 + # via twine plantuml-gentools==0.1.2 # via -r requirements/docs.in plantuml-markdown==3.4.2 @@ -46,28 +104,65 @@ plantuml-wrapper==0.1.0 # via -r requirements/docs.in plantuml==0.3.0 # via plantuml-markdown +pre-commit==2.10.1 + # via -r requirements/build.in +ptable==0.9.2 + # via pip-licenses py2puml==0.4.0 # via -r requirements/docs.in +py==1.10.0 + # via -r requirements/build.in +pyaml==20.4.0 + # via pytoolbox pycparser==2.20 # via cffi pygments==2.8.0 - # via sphinx -pyparsing==2.4.6 # via + # readme-renderer + # sphinx +pyparsing==2.4.7 + # via + # -r requirements/build.in # httplib2 # packaging python-dateutil==2.8.1 # via github3.py +python-dotenv==0.17.0 + # via -r requirements/build.in +python-magic==0.4.22 + # via pytoolbox +pytoolbox==14.0.0 + # via -r requirements/build.in pytz==2021.1 - # via babel + # via + # babel + # pytoolbox +pyyaml==5.4.1 + # via + # pre-commit + # pyaml +readme-renderer==29.0 + # via twine +requests-toolbelt==0.9.1 + # via twine requests==2.25.1 # via # github3.py + # pytoolbox + # requests-toolbelt # sphinx -six==1.13.0 + # twine +rfc3986==1.4.0 + # via twine +secretstorage==3.3.1 + # via keyring +six==1.15.0 # via - # packaging + # -r requirements/build.in + # bleach # python-dateutil + # readme-renderer + # virtualenv snowballstemmer==2.1.0 # via sphinx speaklater==1.3 @@ -100,12 +195,38 @@ sphinxcontrib-serializinghtml==1.1.4 # via sphinx tokenize-rt==4.1.0 # via -r requirements/docs.in +toml==0.10.2 + # via + # -r requirements/build.in + # build + # pep517 + # pre-commit +tqdm==4.60.0 + # via twine +twine==3.4.1 + # via -r requirements/build.in uritemplate==3.0.1 # via github3.py urllib3==1.26.4 # via - # -r requirements/docs.in + # -r requirements/build.in # requests +venv-run==0.1.0 + # via -r requirements/build.in +virtualenv-clone==0.5.4 + # via pipenv +virtualenv==20.4.3 + # via + # -r requirements/build.in + # pipenv + # pre-commit +webencodings==0.5.1 + # via bleach +wheel==0.36.2 + # via -r requirements/build.in +zipp==3.4.1 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: +# pip # setuptools diff --git a/requirements/tests.txt b/requirements/tests.txt index 6e4458be335b63cc6b09cd9404343d942c497b28..6bf545b681fe696090b06f7160582bf8e7c6b14d 100644 --- a/requirements/tests.txt +++ b/requirements/tests.txt @@ -8,12 +8,38 @@ alembic==1.5.5 # via flask-db appdirs==1.4.4 # via virtualenv +argparse==1.4.0 + # via pytoolbox attrs==20.3.0 # via pytest +bleach==3.3.0 + # via readme-renderer +build==0.3.1.post1 + # via -r requirements/build.in +certifi==2020.12.5 + # via + # pipenv + # requests +cffi==1.14.5 + # via cryptography +cfgv==3.2.0 + # via pre-commit +chardet==3.0.4 + # via + # -r requirements/build.in + # requests click==7.1.2 - # via flask + # via + # flask + # pip-tools +colorama==0.4.4 + # via twine +cryptography==3.4.7 + # via secretstorage distlib==0.3.1 # via virtualenv +docutils==0.17 + # via readme-renderer filelock==3.0.12 # via virtualenv flask-db==0.3.1 @@ -31,6 +57,14 @@ flask==1.1.2 # flask-fixtures # flask-sqlalchemy # pytest-flask +identify==2.2.2 + # via pre-commit +idna==2.10 + # via requests +importlib-metadata==3.10.0 + # via + # keyring + # twine iniconfig==1.1.1 # via pytest itsdangerous==1.1.0 @@ -39,8 +73,14 @@ jaraco.context==4.0.0 # via pytest-enabler jaraco.functools==3.2.1 # via pytest-enabler +jeepney==0.6.0 + # via + # keyring + # secretstorage jinja2==2.11.3 # via flask +keyring==23.0.1 + # via twine mako==1.1.4 # via alembic markupsafe==1.1.1 @@ -53,20 +93,53 @@ more-itertools==8.7.0 # via # jaraco.functools # pytest-enabler +nodeenv==1.5.0 + # via pre-commit packaging==20.9 # via + # -r requirements/build.in + # bleach + # build # pytest # pytest-flask-sqlalchemy +pbr==3.1.1 + # via -r requirements/build.in +pep517==0.10.0 + # via + # -r requirements/build.in + # build +pip-licenses==3.3.0 + # via -r requirements/build.in +pip-tools==5.5.0 + # via -r requirements/build.in +pipenv==2020.11.15 + # via -r requirements/build.in +pkginfo==1.7.0 + # via twine pluggy==0.13.1 # via pytest port-for==0.4 # via pytest-postgresql +pre-commit==2.10.1 + # via -r requirements/build.in psutil==5.8.0 # via mirakuru +ptable==0.9.2 + # via pip-licenses py==1.10.0 - # via pytest + # via + # -r requirements/build.in + # pytest +pyaml==20.4.0 + # via pytoolbox +pycparser==2.20 + # via cffi +pygments==2.8.1 + # via readme-renderer pyparsing==2.4.7 - # via packaging + # via + # -r requirements/build.in + # packaging pytest-enabler==1.2.0 # via -r requirements/tests.in pytest-flask-sqlalchemy==1.0.2 @@ -91,12 +164,40 @@ pytest==6.2.3 # pytest-venv python-dateutil==2.8.1 # via alembic +python-dotenv==0.17.0 + # via -r requirements/build.in python-editor==1.0.4 # via alembic +python-magic==0.4.22 + # via pytoolbox +pytoolbox==14.0.0 + # via -r requirements/build.in +pytz==2021.1 + # via pytoolbox +pyyaml==5.4.1 + # via + # pre-commit + # pyaml +readme-renderer==29.0 + # via twine +requests-toolbelt==0.9.1 + # via twine +requests==2.25.1 + # via + # pytoolbox + # requests-toolbelt + # twine +rfc3986==1.4.0 + # via twine +secretstorage==3.3.1 + # via keyring six==1.15.0 # via + # -r requirements/build.in + # bleach # flask-fixtures # python-dateutil + # readme-renderer # sqlalchemy-utils # virtualenv sqlalchemy-utils==0.36.8 @@ -110,16 +211,41 @@ sqlalchemy==1.3.23 # sqlalchemy-utils toml==0.10.2 # via + # -r requirements/build.in + # build + # pep517 + # pre-commit # pytest # pytest-enabler +tqdm==4.60.0 + # via twine +twine==3.4.1 + # via -r requirements/build.in urllib3==1.26.4 - # via -r requirements/tests.in -virtualenv==20.4.2 - # via pytest-venv + # via + # -r requirements/build.in + # requests +venv-run==0.1.0 + # via -r requirements/build.in +virtualenv-clone==0.5.4 + # via pipenv +virtualenv==20.4.3 + # via + # -r requirements/build.in + # pipenv + # pre-commit + # pytest-venv +webencodings==0.5.1 + # via bleach werkzeug==1.0.1 # via # flask # pytest-flask +wheel==0.36.2 + # via -r requirements/build.in +zipp==3.4.1 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: +# pip # setuptools diff --git a/setup.py b/setup.py index ef88815644839d3e4ee8bf65ca5a13bb84518d26..72be2276d72adf1c819e33e7d86037dc25e3e0b7 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,7 @@ import os import sys +import logging +import subprocess from setuptools import find_packages, setup @@ -374,6 +376,47 @@ for kw in keywords_list: packages = find_packages() + +def run_compile_requirements(): + my_cmd_list = [ + ['pip-compile', '-r', 'requirements' + os.sep + 'build.in'], + ['pip-compile', '-r', 'requirements' + os.sep + 'docs.in'], + ['pip-compile', '-r', 'requirements' + os.sep + 'tests.in'], + ['pip-compile', '-r', 'requirements' + os.sep + 'dev.in'], + ['pip', 'install', '-r', 'requirements' + os.sep + 'build.in'], + ['pip', 'install', '-r', 'requirements' + os.sep + 'docs.in'], + ['pip', 'install', '-r', 'requirements' + os.sep + 'tests.in'], + ['pip', 'install', '-r', 'requirements' + os.sep + 'dev.in'], + ] + for my_cmd in my_cmd_list: + returncode = subprocess.call(my_cmd, shell=True) + if returncode == 0: + logging.info("retcode: "+str(returncode)) + else: + logging.error("retcode: " + str(returncode)) + return None + + +def run_npm_install(): + my_cmd = ['npm', 'install'] + returncode = subprocess.call(my_cmd, shell=True) + if returncode == 0: + logging.info("retcode: "+str(returncode)) + else: + logging.error("retcode: " + str(returncode)) + return None + + +def get_python_requirements_from_txt(): + my_cmd = ['bash', 'scripts'+os.sep+'script_get_python_requirements_from_txt.sh'] + returncode = subprocess.call(my_cmd, shell=True) + if returncode == 0: + logging.info("retcode: "+str(returncode)) + else: + logging.error("retcode: " + str(returncode)) + return None + + setup( name='flask-covid19', version=version, diff --git a/src/database.py b/src/database.py index f7a87911c2c4406f4f2cc0748d2323c4c8e02163..a9f280f811828849f288eb7aaa42805a6c54e942 100644 --- a/src/database.py +++ b/src/database.py @@ -1,9 +1,5 @@ -import logging from flask import Flask, logging -# import flask_monitoringdashboard as dashboard # from flask_caching import Cache -# from flask_pluginkit import PluginManager -# from flask_redisboard import RedisBoardExtension from flask_cors import CORS from flask_bs4 import Bootstrap from flask_sqlalchemy import SQLAlchemy @@ -12,8 +8,6 @@ from flask_admin import Admin from celery import Celery from celery.utils.log import LoggingProxy -# board = RedisBoardExtension() -# pm = PluginManager() # cache = Cache(config={"CACHE_TYPE": "simple"}) app_cors = CORS() app_bootstrap = Bootstrap() @@ -32,10 +26,7 @@ def create_app(): my_app.config['SQLALCHEMY_DATABASE_URI'] = my_db_url my_app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # silence the deprecation warning my_app.config['FLASK_ADMIN_SWATCH'] = 'superhero' - # pm.init_app(app) - # board.init_app(my_app) # cache.init_app(app) - # dashboard.bind(my_app) return my_app