diff --git a/requirements-freezed.txt b/requirements-freezed.txt new file mode 100644 index 0000000000000000000000000000000000000000..8e66aafd9309d5fd25c42e62818b0198c3a2007d --- /dev/null +++ b/requirements-freezed.txt @@ -0,0 +1,206 @@ +aiocronjob==0.2.6 +aiofiles==0.5.0 +aiohttp==3.7.3 +alabaster==0.7.12 +alembic==1.5.4 +amqp==5.0.5 +APScheduler==3.7.0 +async-timeout==3.0.1 +attrs==19.3.0 +Babel==2.9.0 +billiard==3.6.3.0 +blinker==1.4 +Brotli==1.0.9 +celery==5.0.5 +certifi==2020.12.5 +chardet==3.0.4 +cleo==0.8.1 +click==7.1.2 +click-didyoumean==0.0.3 +click-plugins==1.1.1 +click-repl==0.1.6 +clikit==0.6.2 +colorhash==1.0.3 +configparser==5.0.1 +crashtest==0.3.1 +crontab==0.22.9 +cycler==0.10.0 +dash==1.19.0 +dash-bootstrap-components==0.11.3 +dash-colorscales==0.0.4 +dash-core-components==1.15.0 +dash-daq==0.5.0 +dash-extensions==0.0.45 +dash-html-components==1.1.2 +dash-renderer==1.9.0 +dash-table==4.11.2 +decorator==4.4.2 +docutils==0.16 +dominate==2.6.0 +dtale==1.34.0 +et-xmlfile==1.0.1 +fastapi==0.55.1 +fasteners==0.16 +Flask==1.1.2 +Flask-Admin==1.5.7 +Flask-Babel==2.0.0 +Flask-BS4==4.5.3.0 +Flask-Caching==1.9.0 +flask-checkr==0.1.2 +Flask-CKEditor==0.4.4.1 +Flask-Compress==1.8.0 +Flask-Cors==3.0.10 +Flask-DB==0.3.0 +Flask-GraphQL==2.0.1 +flask-healthz==0.0.2 +flask-hintful==0.0.7 +Flask-Login==0.5.0 +Flask-Moment==0.11.0 +Flask-Monitoring==1.1.2 +Flask-Multipass==0.3.3 +flask-ngrok==0.0.25 +Flask-PluginKit==3.6.0 +flask-pwa==0.1.0 +Flask-Redisboard==0.2.0 +Flask-ResponseBuilder==2.0.13 +Flask-SQLAlchemy==2.4.4 +flask-was==0.1.0 +flask-whooshalchemy3==0.2.0 +Flask-WTF==0.14.3 +future==0.18.2 +graphql-core==2.3.2 +graphql-server-core==1.2.0 +h11==0.9.0 +httplib2==0.19.0 +httptools==0.1.1 +idna==2.10 +imagesize==1.2.0 +importlib-metadata==1.3.0 +iniconfig==1.1.1 +itsdangerous==1.1.0 +jdcal==1.4.1 +Jinja2==2.11.3 +joblib==1.0.1 +json2html==1.3.0 +jsonpatch==1.28 +jsonpointer==2.0 +jsonschema==3.2.0 +kaleido==0.1.0 +kiwisolver==1.3.1 +kombu==5.0.2 +llvmlite==0.35.0 +lz4==3.1.3 +Mako==1.1.4 +manual-sitemap==19.6.0 +Markdown==3.3.3 +MarkupSafe==1.1.1 +marshmallow==3.10.0 +matplotlib==3.3.4 +more-itertools==8.0.2 +multidict==5.1.0 +networkx==2.5 +node-semver==0.8.0 +npmdownloader==1.2.1 +numba==0.52.0 +numpy==1.20.1 +openapi-specgen==0.0.6 +openpyxl==3.0.6 +packaging==20.0 +Pallets-Sphinx-Themes==1.2.3 +pandas==1.2.2 +pastel==0.2.1 +patsy==0.5.1 +pbr==3.1.1 +Pillow==8.1.0 +pip-licenses==3.3.0 +#pkg-resources==0.0.0 +plantuml==0.3.0 +plantuml-creator==1.0.7 +plantuml-gentools==0.1.2 +plantuml-markdown==3.4.2 +plantuml-wrapper==0.1.0 +plantuml2freemind==0.8.2 +plotly==4.14.3 +pluggy==0.13.1 +ppscore==1.2.0 +prettytable==2.0.0 +promise==2.3 +prompt-toolkit==3.0.16 +psutil==5.8.0 +psycopg2==2.8.6 +PTable==0.9.2 +py==1.8.1 +py2puml==0.3.1 +pydantic==1.7.3 +pyecharts==1.9.0 +pyecharts-extras==0.0.5 +Pygments==2.7.4 +pylev==1.3.0 +pynndescent==0.5.2 +pyparsing==2.4.6 +pyrsistent==0.17.3 +pytest==5.3.2 +pytest-flask==1.1.0 +python-dateutil==2.8.1 +python-editor==1.0.4 +pytz==2020.5 +PyYAML==5.4.1 +pyzmq==22.0.3 +reactive-pyecharts==1.0.0 +redis==3.5.3 +requests==2.25.1 +retrying==1.3.3 +Rx==1.6.1 +scikit-learn==0.24.1 +scipy==1.6.0 +semver==2.13.0 +simplejson==3.17.2 +six==1.13.0 +snowballstemmer==2.1.0 +Sphinx==3.4.3 +sphinx-issues==1.2.0 +sphinx-tabs==2.0.1 +sphinxcontrib-applehelp==1.0.2 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-gravizo==0.0.4 +sphinxcontrib-htmlhelp==1.0.3 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-plantuml==0.19 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.4 +SQLAlchemy==1.3.23 +SQLAlchemy-Utils==0.36.8 +squarify==0.4.3 +starlette==0.13.2 +StatisticalDiagrams==20.5 +statsmodels==0.12.2 +str2bool==1.1 +stringcase==1.2.0 +strsimpy==0.2.0 +test-flask==0.2.0 +threadpoolctl==2.1.0 +tokenize-rt==4.1.0 +toml==0.10.2 +torch==1.7.1 +torchfile==0.1.0 +tornado==6.1 +typing-extensions==3.7.4.3 +tzlocal==2.1 +urllib3==1.26.3 +uvicorn==0.11.8 +uvloop==0.15.0 +vine==5.0.0 +visdom==0.1.8.9 +visitor==0.1.3 +wcwidth==0.1.8 +websocket-client==0.57.0 +websockets==8.1 +Werkzeug==1.0.1 +wget==3.2 +Whoosh==2.7.4 +WTForms==2.3.3 +xarray==0.16.2 +xlrd==2.0.1 +xmltodict==0.12.0 +yarl==1.6.3 +zipp==0.6.0 diff --git a/setup.cfg b/setup.cfg index c0f346adc94a774f986fde84eaa3c7c138433db3..c74c08c4d4472d9a2c509b02407ebb706992f61c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,9 +1,10 @@ [metadata] -name = covid19python-thomaswoehlke +name = thomaswoehlke-covid19python version = 0.0.16 url = https://github.com/thomaswoehlke/covid19python.git author = Thomas Woehlke author_email = thomas.woehlke@gmail.com +license = GNU General Public License v3 (GPLv3) classifiers = Development Status :: 3 - Alpha Environment :: Web Environment @@ -15,6 +16,7 @@ classifiers = Topic :: Internet :: WWW/HTTP :: Dynamic Content Topic :: Internet :: WWW/HTTP :: WSGI Topic :: Internet :: WWW/HTTP :: WSGI :: Application + "Development Status :: 1 - Planning", description = Covid19 Data Aggregation - also a Project to learn Python Flask, SQLAlchemy, Celery et al. long_description = file: README.md long_description_content_type = text/markdown @@ -23,5 +25,5 @@ long_description_content_type = text/markdown packages = find: package_dir = = src include_package_data = true -python_requires = >= 3.7 +python_requires = >= 3.8 # Dependencies are in setup.py for GitHub's dependency graph. diff --git a/setup.py b/setup.py index 369c93dc6f25391e71a649ac9a8f071764bac307..ad6600c4ae02fe11250bbd72e6817a83ff08c7ba 100644 --- a/setup.py +++ b/setup.py @@ -1,77 +1,188 @@ +import os + from setuptools import find_packages, setup +readme = open("README.md").read() +history = open("BACKLOG.md").read() + +keywords_list = [ + "virus", + "pandemic", + "covid19", + "corona", + "who", + "rki", + "ecdc", + "deaths", + "cases", + "vaccination", + "data", + "statistic", + "python", + "flask", + "celery", + "sqlalchemy", + "postgresql" +] + +requires_setup = [ + "setuptools==53.0.0", + "pip-licenses==3.3.0", + "wheel==0.36.2", + "npmdownloader>=1.2.1", + "py2puml==0.3.1", + "plantuml-creator == 1.0.7", + "plantuml-markdown == 3.4.2", + "plantuml-wrapper == 0.1.0", + "plantuml2freemind == 0.8.2", + "plantuml-gentools == 0.1.2", + "Flask-PluginKit>=3.6.0", + "Flask-ResponseBuilder>=2.0.12", + "Flask-Babel>=2" +] + +requires_test = [ + "test-flask>=0.2.0", + "pytest>=6,<7", + "pytest-flask>=1.1.0" +] + +requires_docs = [ + "sphinx==3.4.3", + "sphinx-tabs==2.0.1", + "sphinx-issues==1.2.0", + "pallets-sphinx-themes==1.2.3", + "sphinxcontrib-plantuml==0.19", + "sphinxcontrib-gravizo==0.0.4" +] + +dotenv_require = [ + "python-dotenv==0.15.0" +] + +requires_extras = { + "docs": requires_docs, + "tests": requires_test, + "dotenv": dotenv_require, + "all": [] +} + +requires_install_minimum = [ + "dash>=1.19.0", + "dash-extensions>=0.0.45", + "dtale>=1.34.0", + "Flask>=1.1.2", + "Flask-SQLAlchemy>=2.4.4", + "Flask-Cors>=3.0.10", + "Flask-BS4==4.5.3.0", + "SQLAlchemy>=1.3.23", + "psycopg2>=2.8.6", + "wget>=3.2", + "celery[redis]>=5.0.5", +] + +requires_install_user_security = [ + "Flask-Multipass>=0.3.3", + "Flask-Login<0.6.0,>=0.5.0", +] + +requires_install_operating = [ + "Flask-Admin>=1.5.7", + "Flask-Redisboard>=0.2.0", + "Flask-Monitoring>=1.1.2", + "flask-healthz>=0.0.2", + "aiocronjob>=0.2.0", + "Flask-Caching>=1.9.0" +] + +requires_install_nore_flask = [ + "manual-sitemap>=19.6.0", + "Flask-DB>=0.3.0", + "flask-pwa>=0.1.0", + "Flask-Moment>=0.11.0", + "Flask-CKEditor>=0.4.4.1", + "flask-checkr>=0.1.2", + "flask-whooshalchemy3>=0.2.0", + "flask-was>=0.1.0", + "Flask-GraphQL>=2.0.1", + "flask-hintful>=0.0.7", +] + +require_install_data_processing = [ + "pyecharts>=1.9.0", + "pyecharts-extras>=0.0.5", + "reactive-pyecharts>=1.0.0", + "visdom>=0.1.8.9", + "tokenize-rt>=4.1.0", + "pynndescent>=0.5.1", + "torch>=1.7.1", + "numpy>=1.20.1", + "pandas>=1.1.0", + "scipy>=1.5.0", + "StatisticalDiagrams>=20.5", +] + +requires_install = { + "requires_install_minimum": requires_install_minimum, + "requires_install_user_security": requires_install_user_security, + "requires_install_operating": requires_install_operating, + "requires_install_nore_flask": requires_install_nore_flask, + "require_install_data_processing": require_install_data_processing, + "all": [] +} + +for reqs in requires_extras.values(): + requires_extras["all"].extend(reqs) + +for reqs in requires_install.values(): + requires_install["all"].extend(reqs) + +keywords = "" +for kw in keywords_list: + keywords += " " + kw + +packages = find_packages() + +# Get the version string. Cannot be done with import! +g = {} +with open(os.path.join("flask_resources", "version.py"), "rt") as fp: + exec(fp.read(), g) + version = g["__version__"] + setup( - name='covid19python-thomaswoehlke', - version='0.0.16', - packages=find_packages(), + name='thomaswoehlke-covid19python', + version=version, url='ttps://github.com/thomaswoehlke/covid19python.git', - license='GNU General Public License v3.0', + license='GNU General Public License v3 (GPLv3)', author='Thomas Woehlke', author_email='thomas.woehlke@gmail.com', description='Covid19 Data Aggregation - also a Project to learn Python Flask, SQLAlchemy, Celery et al.', - install_requires=[ - "setuptools==53.0.0", - "pip==21.0.1", - "pip-licenses==3.3.0", - "wheel==0.36.2", - "dash>=1.19.0", - "dash-extensions>=0.0.45", - "dtale>=1.34.0", - "wget>=3.2", - "celery[redis]>=5.0.5", - "Flask>=1.1.2", - "Flask-SQLAlchemy>=2.4.4", - "Flask-Multipass>=0.3.3", - "Flask-Cors>=3.0.10", - "Flask-BS4==4.5.3.0", - "SQLAlchemy>=1.3.23", - "psycopg2>=2.8.6", - "test-flask>=0.2.0", - "pytest-flask>=1.1.0", - "Flask-Admin>=1.5.7", - "Flask-Redisboard>=0.2.0", - "Flask-Monitoring>=1.1.2", - "flask-healthz>=0.0.2", - "Flask-DB>=0.3.0", - "flask-pwa>=0.1.0", - "Flask-Moment>=0.11.0", - "Flask-CKEditor>=0.4.4.1", - "flask-checkr>=0.1.2", - "flask-whooshalchemy3>=0.2.0", - "Flask-PluginKit>=3.6.0", - "Flask-ResponseBuilder>=2.0.12", - "flask-was>=0.1.0", - "Flask-GraphQL>=2.0.1", - "flask-hintful>=0.0.7", - "Flask-Caching>=1.9.0", - "Flask-Babel>=2", - "Flask-Login<0.6.0,>=0.5.0", - "manual-sitemap>=19.6.0", - "aiocronjob>=0.2.0", - "npmdownloader>=1.2.1", - "pyecharts>=1.9.0", - "pyecharts-extras>=0.0.5", - "reactive-pyecharts>=1.0.0", - "visdom>=0.1.8.9", - "tokenize-rt>=4.1.0", - "pynndescent>=0.5.1", - "torch>=1.7.1", - "numpy>=1.20.1", - "pandas>=1.1.0", - "scipy>=1.5.0", - "StatisticalDiagrams>=20.5", - "sphinx==3.4.3", - "sphinx-tabs==2.0.1", - "sphinx-issues==1.2.0", - "pallets-sphinx-themes==1.2.3", - "sphinxcontrib-plantuml==0.19", - "sphinxcontrib-gravizo==0.0.4", - "py2puml==0.3.1", - "plantuml-creator==1.0.7", - "plantuml-markdown==3.4.2", - "plantuml-wrapper==0.1.0", - "plantuml2freemind==0.8.2", - "plantuml-gentools==0.1.2" + classifiers=[ + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Development Status :: 3 - Alpha", + "Natural Language :: German", + "Natural Language :: English", + "Topic :: Internet :: WWW/HTTP :: Dynamic Content", + "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", + "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware", + "Topic :: Software Development :: Libraries :: Python Modules", ], - extras_require={"dotenv": ["python-dotenv"]}, + long_description=readme + "\n\n" + history, + long_description_content_type="text/markdown", + keywords=keywords, + packages=packages, + zip_safe=False, + include_package_data=True, + entry_points={}, + extras_require=requires_extras, + install_requires=requires_install, + setup_requires=requires_setup, + tests_require=requires_test, + python_requires=">= 3.8" )