diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 10b7a6a..9c82a1c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,9 +3,33 @@ name: Publish Docker image to DockerHub on: push: branches: - - main + - develop jobs: + perform_pytest: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with Ruff + run: | + pip install ruff + ruff --format=github --target-version=py310 . + continue-on-error: true + - name: Test with pytest + run: | + coverage run -m pytest ./tests/api_test/ -v -s + - name: Generate Coverage Report + run: | + coverage report -m + push_app_to_registry: name: Push APP Docker image to Docker Hub runs-on: ubuntu-latest diff --git a/requirements.txt b/requirements.txt index b42a0d9..c1cbd9e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,197 +1,103 @@ -alabaster==0.7.13 -alembic==1.12.0 -altair==4.2.2 annotated-types==0.6.0 -anyio==4.0.0 -appnope==0.1.3 -argon2-cffi==23.1.0 -argon2-cffi-bindings==21.2.0 -arrow==1.3.0 -astroid==3.0.1 -asttokens==2.4.0 -async-lru==2.0.4 -attrs==23.1.0 -awscli==1.29.63 -Babel==2.13.0 -backcall==0.2.0 -beautifulsoup4==4.12.2 -bleach==6.1.0 -blinker==1.6.3 -botocore==1.31.63 -certifi==2023.7.22 -cffi==1.16.0 -charset-normalizer==3.3.0 -click==8.1.7 -cloudpickle==2.2.1 -colorama==0.4.4 -comm==0.1.4 -contourpy==1.1.1 -coverage==7.3.2 -cryptography==41.0.4 -cycler==0.12.1 -databricks-cli==0.18.0 -debugpy==1.8.0 -decorator==5.1.1 -defusedxml==0.7.1 -dill==0.3.7 -docker==6.1.3 -docutils==0.16 -entrypoints==0.4 -exceptiongroup==1.1.3 -executing==2.0.0 +anyio==3.7.1 +attrs==19.3.0 +Automat==0.8.0 +blinker==1.4 +cached-property==1.5.1 +certifi==2019.11.28 +chardet==3.0.4 +Click==7.0 +colorama==0.4.3 +command-not-found==0.3 +configobj==5.0.6 +constantly==15.1.0 +cryptography==2.8 +dbus-python==1.2.16 +distro==1.4.0 +distro-info==0.23+ubuntu1.1 +dnspython==2.4.2 +docker==4.1.0 +docker-compose==1.25.0 +dockerpty==0.4.1 +docopt==0.6.2 +elastic-transport==8.10.0 +elasticsearch==7.13.2 +elasticsearch-dsl==7.3.0 +email-validator==2.1.0.post1 +entrypoints==0.3 +exceptiongroup==1.2.0 fastapi==0.104.1 -fastjsonschema==2.18.1 -filelock==3.12.4 -flake8==6.1.0 -Flask==2.3.3 -fonttools==4.43.1 -fqdn==1.5.1 -fsspec==2023.9.2 -gitdb==4.0.10 -GitPython==3.1.38 -great-expectations==0.17.22 -greenlet==3.0.0 -gunicorn==21.2.0 +h11==0.14.0 +httpcore==1.0.2 +httplib2==0.14.0 +httptools==0.6.1 httpx==0.25.2 -idna==3.4 -imagesize==1.4.1 -importlib-metadata==6.8.0 -importlib-resources==6.1.0 -ipykernel==6.25.2 -ipywidgets==8.1.1 -isoduration==20.11.0 -isort==5.12.0 +hyperlink==19.0.0 +idna==2.8 +importlib-metadata==1.5.0 +incremental==16.10.1 itsdangerous==2.1.2 -jedi==0.19.1 Jinja2==3.1.2 -jmespath==1.0.1 -joblib==1.3.2 -json5==0.9.14 -jsonpatch==1.33 -jsonpointer==2.4 -jsonschema==4.19.1 -jsonschema-specifications==2023.7.1 -jupyter-events==0.8.0 -jupyter-lsp==2.2.0 -jupyter_client==8.4.0 -jupyter_core==5.4.0 -jupyter_server==2.8.0 -jupyter_server_terminals==0.4.4 -jupyterlab==4.0.7 -jupyterlab-pygments==0.2.2 -jupyterlab-widgets==3.0.9 -jupyterlab_server==2.25.0 -kiwisolver==1.4.5 -makefun==1.15.1 -Mako==1.2.4 -Markdown==3.5 +jsonpatch==1.22 +jsonpointer==2.0 +jsonschema==3.2.0 +keyring==18.0.1 +language-selector==0.1 +launchpadlib==1.10.13 +lazr.restfulclient==0.14.2 +lazr.uri==1.0.3 MarkupSafe==2.1.3 -marshmallow==3.20.1 -matplotlib==3.7.4 -matplotlib-inline==0.1.6 -mccabe==0.7.0 -mistune==3.0.2 -mlflow==2.7.1 -mpmath==1.3.0 -nbclient==0.8.0 -nbconvert==7.9.2 -nbformat==5.9.2 -nest-asyncio==1.5.8 -networkx==3.1 -notebook==7.0.5 -notebook_shim==0.2.3 +more-itertools==4.2.0 +mrjob==0.7.4 +netifaces==0.10.4 numpy==1.24.4 -oauthlib==3.2.2 -opencv-python==4.8.1.78 -overrides==7.4.0 -packaging==23.2 -pandas==2.0.3 -pandocfilters==1.5.0 -parso==0.8.3 -pexpect==4.8.0 -pickleshare==0.7.5 -Pillow==10.1.0 -platformdirs==3.11.0 -prometheus-client==0.17.1 -prompt-toolkit==3.0.39 -protobuf==4.24.4 -psutil==5.9.6 -ptyprocess==0.7.0 -pure-eval==0.2.2 -py-cpuinfo==9.0.0 -pyarrow==13.0.0 -pyasn1==0.5.0 -pycodestyle==2.11.1 -pycparser==2.21 -pydantic==2.4.2 -pydantic_core==2.10.1 -pyflakes==3.1.0 -Pygments==2.16.1 -PyJWT==2.8.0 -pylint==3.0.1 -pyparsing==3.1.1 +oauthlib==3.1.0 +orjson==3.9.10 +pexpect==4.6.0 +pyasn1==0.4.2 +pyasn1-modules==0.2.1 +pydantic==2.5.2 +pydantic-core==2.14.5 +pydantic-extra-types==2.1.0 +pydantic-settings==2.1.0 +PyGObject==3.36.0 +PyHamcrest==1.9.0 +PyJWT==1.7.1 +pymacaroons==0.13.0 +PyNaCl==1.3.0 +pyOpenSSL==19.0.0 +pyrsistent==0.15.5 +pyserial==3.4 +python-apt==2.0.1+ubuntu0.20.4.1 python-dateutil==2.8.2 +python-debian==0.1.36+ubuntu1.1 python-dotenv==1.0.0 -python-json-logger==2.0.7 -pytz==2023.3.post1 -PyYAML==6.0.1 -pyzmq==25.1.1 -querystring-parser==1.2.4 -referencing==0.30.2 -requests==2.31.0 -rfc3339-validator==0.1.4 -rfc3986-validator==0.1.1 -rpds-py==0.10.6 -rsa==4.7.2 -ruamel.yaml==0.17.17 -ruamel.yaml.clib==0.2.8 -s3transfer==0.7.0 -scikit-learn==1.3.1 -scipy==1.10.1 -seaborn==0.13.0 -Send2Trash==1.8.2 -six==1.16.0 -smmap==5.0.1 +python-multipart==0.0.6 +PyYAML==5.3.1 +requests==2.22.0 +requests-unixsocket==0.2.0 +SecretStorage==2.3.1 +service-identity==18.1.0 +simplejson==3.16.0 +six==1.14.0 sniffio==1.3.0 -snowballstemmer==2.2.0 -soupsieve==2.5 -Sphinx==7.1.2 -sphinxcontrib-applehelp==1.0.4 -sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==2.0.1 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.5 -SQLAlchemy==2.0.22 -sqlparse==0.4.4 -stack-data==0.6.3 -sympy==1.10.1 -tabulate==0.9.0 -terminado==0.17.1 -thop==0.1.1.post2209072238 -threadpoolctl==3.2.0 -tinycss2==1.2.1 -tomli==2.0.1 -tomlkit==0.12.1 -toolz==0.12.0 -torch==2.1.0 -torchvision==0.16.0 -tornado==6.3.3 -tqdm==4.66.1 -traitlets==5.11.2 -types-python-dateutil==2.8.19.14 -typing_extensions==4.8.0 -tzdata==2023.3 -tzlocal==5.1 -ultralytics==8.0.199 -uri-template==1.3.0 -urllib3==1.26.17 +sos==4.5.6 +ssh-import-id==5.10 +starlette==0.27.0 +systemd-python==234 +texttable==1.6.2 +Twisted==18.9.0 +typing-extensions==4.9.0 +ubuntu-advantage-tools==8001 +ufw==0.36 +ujson==5.8.0 +unattended-upgrades==0.1 +urllib3==1.26.18 uvicorn==0.24.0.post1 -wcwidth==0.2.8 -webcolors==1.13 -webencodings==0.5.1 -websocket-client==1.6.4 -Werkzeug==3.0.0 -widgetsnbextension==4.0.9 -zipp==3.17.0 -map-boxes==1.0.5 +uvloop==0.19.0 +wadllib==1.3.3 +watchfiles==0.21.0 +websocket-client==0.53.0 +websockets==12.0 +zipp==1.0.0 +zope.interface==4.7.1