diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index f0ac4cf..e8eb55b 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -12,7 +12,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Set up Black uses: psf/black@stable diff --git a/.github/workflows/build_dockerfile_on_push.yml b/.github/workflows/build_dockerfile_on_push.yml index 38d91fc..a855d23 100644 --- a/.github/workflows/build_dockerfile_on_push.yml +++ b/.github/workflows/build_dockerfile_on_push.yml @@ -10,7 +10,7 @@ jobs: name: Create staging docker image steps: - name: Check out git repository - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4 - name: Extract branch name and remove illegal chars id: get_branch_name @@ -18,18 +18,18 @@ jobs: run: echo "##[set-output name=branch;]$(echo "$(tr "/" "-" <<<${GITHUB_REF#refs/heads/})")" - name: Login to Docker Hub - uses: docker/login-action@v3.0.0 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v3.1.0 + uses: docker/setup-buildx-action@v3 - name: Build and push id: docker_build - uses: docker/build-push-action@v5.1.0 + uses: docker/build-push-action@v6 with: context: ./ file: ./Dockerfile diff --git a/.github/workflows/build_dockerfile_on_release.yml b/.github/workflows/build_dockerfile_on_release.yml index 6a2dfcf..a2bc6e8 100644 --- a/.github/workflows/build_dockerfile_on_release.yml +++ b/.github/workflows/build_dockerfile_on_release.yml @@ -12,7 +12,7 @@ jobs: name: Push production docker image to dockerhub steps: - name: Check out git repository - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4 - name: Extract branch name and remove illegal chars id: get_branch_name @@ -20,18 +20,18 @@ jobs: run: echo "##[set-output name=branch;]$(echo "$(tr "/" "-" <<<${GITHUB_REF#refs/heads/})")" - name: Login to Docker Hub - uses: docker/login-action@v3.0.0 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v3.1.0 + uses: docker/setup-buildx-action@v3 - name: Build and push id: docker_build - uses: docker/build-push-action@v5.1.0 + uses: docker/build-push-action@v6 with: context: ./ file: ./Dockerfile diff --git a/.github/workflows/tests_coverage.yaml b/.github/workflows/tests_coverage.yaml index c57965d..a411179 100644 --- a/.github/workflows/tests_coverage.yaml +++ b/.github/workflows/tests_coverage.yaml @@ -12,12 +12,12 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install and configure Poetry uses: snok/install-poetry@v1 @@ -25,7 +25,7 @@ jobs: virtualenvs-create: false - name: Cache dependencies - uses: actions/cache@v3 + uses: actions/cache@v4 id: cache with: path: ${{ env.pythonLocation }} @@ -47,7 +47,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Coveralls Finished - uses: coverallsapp/github-action@v2.2.3 + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.github_token }} parallel-finished: true \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index f48be89..4e4d11a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/library/python:3.11-slim-bullseye as base +FROM docker.io/library/python:3.12-slim-bullseye as base LABEL about.home="https://github.com/Clinical-Genomics/genotype-api" LABEL about.tags="Genotype API" diff --git a/poetry.lock b/poetry.lock index 238f05f..8d3493b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -60,17 +60,6 @@ doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.21.0b1)"] trio = ["trio (>=0.26.1)"] -[[package]] -name = "astroid" -version = "3.3.5" -description = "An abstract syntax tree for Python with inference support." -optional = false -python-versions = ">=3.9.0" -files = [ - {file = "astroid-3.3.5-py3-none-any.whl", hash = "sha256:a9d1c946ada25098d790e079ba2a1b112157278f3fb7e718ae6a9252f5835dc8"}, - {file = "astroid-3.3.5.tar.gz", hash = "sha256:5cfc40ae9f68311075d27ef68a4841bdc5cc7f6cf86671b49f00607d30188e2d"}, -] - [[package]] name = "bcrypt" version = "4.2.0" @@ -510,21 +499,6 @@ ssh = ["bcrypt (>=3.1.5)"] test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] -[[package]] -name = "dill" -version = "0.3.9" -description = "serialize all of Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, - {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] -profile = ["gprof2dot (>=2022.7.29)"] - [[package]] name = "distlib" version = "0.3.8" @@ -888,31 +862,6 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] -[[package]] -name = "isort" -version = "5.13.2" -description = "A Python utility / library to sort Python imports." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] - -[package.extras] -colors = ["colorama (>=0.4.6)"] - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - [[package]] name = "nodeenv" version = "1.9.1" @@ -1240,33 +1189,6 @@ azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0 toml = ["tomli (>=2.0.1)"] yaml = ["pyyaml (>=6.0.1)"] -[[package]] -name = "pylint" -version = "3.3.1" -description = "python code static checker" -optional = false -python-versions = ">=3.9.0" -files = [ - {file = "pylint-3.3.1-py3-none-any.whl", hash = "sha256:2f846a466dd023513240bc140ad2dd73bfc080a5d85a710afdb728c420a5a2b9"}, - {file = "pylint-3.3.1.tar.gz", hash = "sha256:9f3dcc87b1203e612b78d91a896407787e708b3f189b5fa0b307712d49ff0c6e"}, -] - -[package.dependencies] -astroid = ">=3.3.4,<=3.4.0-dev0" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = [ - {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, -] -isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" -mccabe = ">=0.6,<0.8" -platformdirs = ">=2.2.0" -tomlkit = ">=0.10.1" - -[package.extras] -spelling = ["pyenchant (>=3.2,<4.0)"] -testutils = ["gitpython (>3)"] - [[package]] name = "pymysql" version = "1.1.1" @@ -1668,17 +1590,6 @@ files = [ doc = ["reno", "sphinx"] test = ["pytest", "tornado (>=4.5)", "typeguard"] -[[package]] -name = "tomlkit" -version = "0.13.2" -description = "Style preserving TOML library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, - {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, -] - [[package]] name = "typing-extensions" version = "4.12.2" @@ -1791,5 +1702,5 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [metadata] lock-version = "2.0" -python-versions = "^3.11" -content-hash = "78c8f76d8fe31061c6c1261dcb06819e4534eaae54d6d524ef339d5e188c500a" +python-versions = "^3.12" +content-hash = "5771f8e0cb92becc82d09d87a5e83efad5967fd63c234fba695750055054edd1" diff --git a/pyproject.toml b/pyproject.toml index 99ee1c6..ba31858 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,44 +6,42 @@ authors = ["Christian Oertlin "] readme = "README.md" [tool.poetry.dependencies] -aiofiles = "^23.2.1" -bcrypt = "^4.1.2" -bump2version = "^1.0.1" -click = "^8.1.7" -coloredlogs = "^15.0.1" -cryptography = "^42.0.8" -email-validator = "^2.1.1" -fastapi = ">=0.109.1" -google-auth = "^2.29.0" +aiofiles = "*" +bcrypt = "*" +bump2version = "*" +click = "*" +coloredlogs = "*" +cryptography = "*" +email-validator = "*" +fastapi = "*" +google-auth = "*" gunicorn = "*" -httptools = "^0.6.1" -numpy = "^1.26.4" -openpyxl = "^3.1.2" -passlib = "^1.7.4" -pydantic = "^2.6.4" -pydantic-settings = "^2.2.1" -python = "^3.11" -python-dotenv = "^1.0.1" -python-jose = {extras = ["cryptography"], version = "^3.3.0"} -python-multipart = "^0.0.9" -pyyaml = "^6.0.1" +httptools = "*" +numpy = "*" +openpyxl = "*" +passlib = "*" +pydantic = "*" +pydantic-settings = "*" +python = "^3.12" +python-dotenv = "*" +python-jose = {extras = ["cryptography"], version = "*"} +python-multipart = "*" +pyyaml = "*" requests = "*" -sqlalchemy = {extras = ["asyncio"], version = "^2.0.35"} -sqlalchemy-utils = "^0.41.2" -starlette = "^0.37.2" -uvicorn = "^0.29.0" -uvloop = "^0.19.0" -aiomysql = "^0.2.0" -pytest-asyncio = "^0.24.0" -tenacity = "^9.0.0" +sqlalchemy = {extras = ["asyncio"], version = "*"} +sqlalchemy-utils = "*" +starlette = "*" +uvicorn = "*" +uvloop = "*" +aiomysql = "*" +pytest-asyncio = "*" +tenacity = "*" [tool.poetry.group.dev.dependencies] -bump2version = "^1.0.1" -coveralls = "^3.3.1" -pre-commit = "^3.7.0" -pylint = "^3.1.0" -pytest-cov = "^5.0.0" -pytest = ">=5.2" +coveralls = "*" +pre-commit = "*" +pytest-cov = "*" +pytest = "*" [build-system] requires = ["poetry-core"]