From 9268e2ff87f1a427511246cf2274736cd5493f73 Mon Sep 17 00:00:00 2001 From: Devasy Patel <110348311+Devasy23@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:26:22 +0530 Subject: [PATCH] Add GitHub Actions workflow for Python application --- .github/workflows/testing.yml | 45 ++++++++++++ requirements.txt | 128 ++++++++++++---------------------- 2 files changed, 90 insertions(+), 83 deletions(-) create mode 100644 .github/workflows/testing.yml diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml new file mode 100644 index 0000000..6665362 --- /dev/null +++ b/.github/workflows/testing.yml @@ -0,0 +1,45 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push: + branches: [ "main", "merge-code-mark-1"] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest --cov=. + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v4.0.1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + slug: devansh-shah-11/FaceRec \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 9bfd9f3..09a552d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,105 +1,40 @@ -absl-py==2.1.0 -annotated-types==0.6.0 -anyio==4.2.0 -astunparse==1.6.3 -beautifulsoup4==4.12.3 -blinker==1.7.0 -cachetools==5.3.2 -certifi==2024.2.2 -charset-normalizer==3.3.2 -click==8.1.7 -colorama==0.4.6 -deepface==0.0.83 -dlib==19.24.2 -dnspython==2.5.0 -face-recognition==1.3.0 -face-recognition-models==0.3.0 -fastapi==0.109.0 -filelock==3.13.1 -fire==0.5.0 -Flask==3.0.1 -flatbuffers==23.5.26 -gast==0.5.4 -gdown==5.0.1 -google-auth==2.27.0 -google-auth-oauthlib==1.2.0 -google-pasta==0.2.0 -grpcio==1.60.1 -gunicorn==21.2.0 -h11==0.14.0 -h5py==3.10.0 -idna==3.6 -itsdangerous==2.1.2 -Jinja2==3.1.3 -keras==2.15.0 -libclang==16.0.6 -Markdown==3.5.2 -MarkupSafe==2.1.4 -ml-dtypes==0.2.0 -mtcnn==0.1.1 -numpy==1.26.3 -oauthlib==3.2.2 -opencv-python==4.9.0.80 -opt-einsum==3.3.0 -packaging==23.2 -pandas==2.2.0 -pillow==10.2.0 -protobuf==4.23.4 -pyasn1==0.5.1 -pyasn1-modules==0.3.0 -pydantic==2.6.0 -pydantic_core==2.16.1 -pymongo==4.6.1 -PySocks==1.7.1 -python-dateutil==2.8.2 -python-multipart==0.0.6 -pytz==2024.1 -requests==2.31.0 -requests-oauthlib==1.3.1 -retina-face==0.0.14 -rsa==4.9 -six==1.16.0 -sniffio==1.3.0 -soupsieve==2.5 -starlette==0.35.1 -tensorboard==2.15.1 -tensorboard-data-server==0.7.2 -tensorflow==2.15.0 -tensorflow-estimator==2.15.0 -tensorflow-intel==2.15.0 -tensorflow-io-gcs-filesystem==0.31.0 -termcolor==2.4.0 -threaded==4.2.0 -tqdm==4.66.1 -typing_extensions==4.9.0 -tzdata==2023.4 -urllib3==2.2.0 -uvicorn==0.27.0.post1 -Werkzeug==3.0.1 -wrapt==1.14.1 -absl-py==2.1.0 +absl-py==2.0.0 +aiohttp==3.9.1 +aiosignal==1.3.1 annotated-types==0.6.0 anyio==4.2.0 +asttokens==2.4.1 astunparse==1.6.3 +attrs==23.2.0 beautifulsoup4==4.12.2 +black==24.2.0 blinker==1.7.0 cachetools==5.3.2 certifi==2023.11.17 +cffi==1.16.0 charset-normalizer==3.3.2 click==8.1.7 colorama==0.4.6 +comm==0.2.1 contourpy==1.2.0 +coverage==7.4.3 +cryptography==41.0.7 cycler==0.12.1 +debugpy==1.8.0 +decorator==5.1.1 deepface==0.0.81 Deprecated==1.2.14 dnspython==2.4.2 +docker==7.0.0 exceptiongroup==1.2.0 +executing==2.0.1 fastapi==0.108.0 filelock==3.13.1 fire==0.5.0 Flask==3.0.0 flatbuffers==23.5.26 fonttools==4.47.2 +frozenlist==1.4.1 gast==0.5.4 gdown==4.7.3 google-auth==2.26.2 @@ -112,39 +47,59 @@ h5py==3.10.0 httpcore==1.0.2 httpx==0.26.0 idna==3.6 -importlib-metadata==7.0.1 -importlib-resources==6.1.1 iniconfig==2.0.0 +ipykernel==6.29.0 +ipython==8.20.0 +isort==5.13.2 itsdangerous==2.1.2 +jedi==0.19.1 Jinja2==3.1.3 +jupyter_client==8.6.0 +jupyter_core==5.7.1 keras==2.15.0 kiwisolver==1.4.5 libclang==16.0.6 Markdown==3.5.2 MarkupSafe==2.1.3 matplotlib==3.8.2 +matplotlib-inline==0.1.6 ml-dtypes==0.2.0 mtcnn==0.1.1 +multidict==6.0.4 +mypy-extensions==1.0.0 +nest-asyncio==1.5.9 numpy==1.26.3 oauthlib==3.2.2 opencv-python==4.9.0.80 opt-einsum==3.3.0 packaging==23.2 pandas==2.1.4 +parso==0.8.3 +pathspec==0.12.1 pillow==10.2.0 +platformdirs==4.1.0 pluggy==1.3.0 +prompt-toolkit==3.0.43 protobuf==4.23.4 +psutil==5.9.7 +pure-eval==0.2.2 pyasn1==0.5.1 pyasn1-modules==0.3.0 +pycparser==2.21 pydantic==2.5.3 pydantic_core==2.14.6 +Pygments==2.17.2 pymongo==4.6.1 pyparsing==3.1.1 PySocks==1.7.1 pytest==7.4.4 +pytest-cov==4.1.0 python-dateutil==2.8.2 python-multipart==0.0.6 pytz==2023.3.post1 +pyvespa==0.39.0 +pywin32==306 +pyzmq==25.1.2 requests==2.31.0 requests-oauthlib==1.3.1 retina-face==0.0.13 @@ -152,19 +107,26 @@ rsa==4.9 six==1.16.0 sniffio==1.3.0 soupsieve==2.5 +stack-data==0.6.3 starlette==0.32.0.post1 +tenacity==8.2.3 tensorboard==2.15.1 tensorboard-data-server==0.7.2 tensorflow==2.15.0 tensorflow-estimator==2.15.0 +tensorflow-intel==2.15.0 tensorflow-io-gcs-filesystem==0.31.0 termcolor==2.4.0 +tokenize-rt==5.2.0 tomli==2.0.1 +tornado==6.4 tqdm==4.66.1 +traitlets==5.14.1 typing_extensions==4.9.0 tzdata==2023.4 urllib3==2.1.0 uvicorn==0.25.0 +wcwidth==0.2.13 Werkzeug==3.0.1 wrapt==1.14.1 -zipp==3.17.0 +yarl==1.9.4