From 775523524b0002d7bd3c216b38999e6d95903424 Mon Sep 17 00:00:00 2001 From: Tomer Figenblat Date: Thu, 26 Dec 2024 00:17:08 -0500 Subject: [PATCH] ci: ci work Signed-off-by: Tomer Figenblat --- .github/ISSUE_TEMPLATE/bug_report.yml | 9 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/auto-me-bot.yml | 2 +- .github/dependabot.yml | 30 +++++++ .github/stale.yml | 16 ---- .github/workflows/on_call/docs.yml | 71 ++++++++++++++++ .github/workflows/on_call/test.yml | 85 +++++++++++++++++++ .github/workflows/pages.yml | 54 +++--------- .github/workflows/pr.yml | 114 ++++---------------------- .github/workflows/release.yml | 40 ++++----- .github/workflows/stage.yml | 64 +++------------ .github/workflows/stale.yml | 21 +++++ .vscode/settings.json | 3 - README.md | 13 +-- pyproject.toml | 25 +++--- 15 files changed, 299 insertions(+), 250 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 .github/stale.yml create mode 100644 .github/workflows/on_call/docs.yml create mode 100644 .github/workflows/on_call/test.yml create mode 100644 .github/workflows/stale.yml delete mode 100644 .vscode/settings.json diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index e58b2e1b..ea1beca3 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -21,7 +21,7 @@ body: attributes: label: Module Version description: What version of `aioswitcher` are you using? - placeholder: ex. 2.0.2 + placeholder: ex. 5.1.1 validations: required: true @@ -39,6 +39,13 @@ body: - Switcher Breeze - Switcher Runner - Switcher Runner Mini + - Switcher Runner S11 + - Switcher Runner S12 + - Switcher Light SL01 + - Switcher Light SL01 Mini + - Switcher Light SL02 + - Switcher Light SL02 Mini + - Switcher Light SL03 validations: required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 3860ef86..86a59489 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -3,4 +3,4 @@ blank_issues_enabled: false contact_links: - name: GitHub Discussions url: https://github.com/TomerFi/aioswitcher/discussions/ - about: You can also use Discussions for questions and ideas. + about: Use Discussions for questions and ideas. diff --git a/.github/auto-me-bot.yml b/.github/auto-me-bot.yml index 85671eea..a24ac8b6 100644 --- a/.github/auto-me-bot.yml +++ b/.github/auto-me-bot.yml @@ -13,4 +13,4 @@ pr: conventionalTitle: tasksList: autoApprove: - users: ['dependabot', 'allcontributors'] + users: ['dependabot'] diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..c3e393ab --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,30 @@ +--- +version: 2 +updates: + - package-ecosystem: github-actions + directory: /.github/workflows + schedule: + interval: weekly + labels: + - "type: dependencies" + commit-message: + prefix: "ci" + include: "scope" + assignees: + - "tomerfi" + - "thecode" + - "YogevBokobza" + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: daily + labels: + - "type: dependencies" + commit-message: + prefix: "build" + include: "scope" + assignees: + - "tomerfi" + - "thecode" + - "YogevBokobza" diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index fcda3de1..00000000 --- a/.github/stale.yml +++ /dev/null @@ -1,16 +0,0 @@ -# https://github.com/marketplace/stale ---- -daysUntilStale: 30 -daysUntilClose: 3 -exemptLabels: - - "status: confirmed" - - "status: on-hold" - - "type: todo" - - "type: wip" - - "type: enhancement" -staleLabel: "status: stale" -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. -closeComment: "Closing this issue." diff --git a/.github/workflows/on_call/docs.yml b/.github/workflows/on_call/docs.yml new file mode 100644 index 00000000..eaec46b9 --- /dev/null +++ b/.github/workflows/on_call/docs.yml @@ -0,0 +1,71 @@ +--- +name: Build docs + +on: + workflow_call: + inputs: + python_version: + required: true + type: string + description: Python version to run with + checkout_ref: + required: true + type: string + description: Checkout reference + deploy-pages: + required: false + default: false + type: boolean + description: Deploy to GH-pages + secrets: + github_token: + required: false + description: GitHub token required if inputs.deploy-pages is true + +jobs: + docs: + runs-on: ubuntu-latest + steps: + - name: Source checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.checkout_ref }} + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python_version }} + + - name: Cache pip repository + uses: actions/cache@v4 + with: + path: ~/.cache/pip + # yamllint disable-line rule:line-length + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ inputs.python_version }} + + - name: Prepare python environment + run: | + pip install -r requirements.txt + poetry config virtualenvs.create true + poetry config virtualenvs.in-project true + + - name: Cache poetry virtual environment + uses: actions/cache@v4 + with: + path: .venv + # yamllint disable-line rule:line-length + key: ${{ runner.os }}-poetry-docs-${{ hashFiles('**/pyproject.toml') }}-${{ inputs.python_version }} + + - name: Build documentation site + run: | + poetry install --no-interaction --no-update --without dev + poetry run poe docs_build + + - name: Deploy to GH-Pages + if: ${{ inputs.deploy-pages }} + uses: peaceiris/actions-gh-pages@v4.0.0 + with: + github_token: ${{ secrets.github_token }} + publish_dir: ./site + cname: aioswitcher.tomfi.info + commit_message: 'docs: deployed documentation site ' diff --git a/.github/workflows/on_call/test.yml b/.github/workflows/on_call/test.yml new file mode 100644 index 00000000..a4a19484 --- /dev/null +++ b/.github/workflows/on_call/test.yml @@ -0,0 +1,85 @@ +--- +name: Test project + +on: + workflow_call: + inputs: + python_version: + required: true + type: string + description: Python version to run with + push_coverage: + required: false + default: true + type: boolean + description: Create and push coverage report + report_tests: + required: false + default: false + type: boolean + description: Report test summary + secrets: + codecov_token: + required: false + description: Codecov token required if inputs.push_coverage is true + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Source checkout + uses: actions/checkout@v4 + + - name: Setup timezone + uses: zcong1993/setup-timezone@v2.0.0 + with: + timezone: Asia/Jerusalem + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python_version }} + + - name: Cache pip repository + uses: actions/cache@v4 + with: + path: ~/.cache/pip + # yamllint disable-line rule:line-length + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ inputs.python_version }} + + - name: Prepare python environment + run: | + pip install -r requirements.txt + poetry config virtualenvs.create true + poetry config virtualenvs.in-project true + + - name: Cache poetry virtual environment + uses: actions/cache@v4 + with: + path: .venv + # yamllint disable-line rule:line-length + key: ${{ runner.os }}-poetry-test-${{ hashFiles('**/pyproject.toml') }}-${{ inputs.python_version }} + + - name: Install project build dependencies + run: poetry install --no-interaction --no-update + + - name: Test the project + run: > + if [ ${{ inputs.push_coverage }} ]; + then poetry run poe test_rep; + else poetry run poe test; fi + + - name: Report test summary + uses: EnricoMi/publish-unit-test-result-action@v2 + if: ${{ inputs.report_tests && always() }} + with: + test_changes_limit: 0 + junit_files: ./junit.xml + report_individual_runs: true + + - name: Push to CodeCov + uses: codecov/codecov-action@v5 + if: ${{ inputs.push_coverage }} + with: + token: ${{ secrets.codecov_token }} + files: ./coverage.xml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 1c5b43ff..4f595dc7 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -2,52 +2,20 @@ name: Pages Deploy on: + workflow_dispatch: release: types: [published] +env: + MAIN_PY_VER: "3.10" + jobs: deploy-pages: - runs-on: ubuntu-latest - environment: github-pages name: Build documentation site and deploy to GH-Pages - steps: - - name: Checkout sources - uses: actions/checkout@v3 - with: - ref: ${{ github.ref }} - - - name: Setup Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - - name: Cache pip repository - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - - - name: Prepare python environment - run: | - pip install -r requirements.txt - poetry config virtualenvs.create true - poetry config virtualenvs.in-project true - - - name: Cache poetry virtual environment - uses: actions/cache@v3 - with: - path: .venv - key: ${{ runner.os }}-poetry-${{ hashFiles('**/pyproject.toml') }} - - - name: Build documentation site - run: | - poetry install --no-interaction --without dev - poetry run poe docs_build - - - name: Deploy to GH-Pages - uses: peaceiris/actions-gh-pages@v3.9.3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./site - cname: aioswitcher.tomfi.info - commit_message: 'docs: deployed documentation site ' + uses: ./.github/workflows/on_call/docs.yml + with: + python_version: ${{ env.MAIN_PY_VER }} + checkout_ref: ${{ github.ref }} + deploy-pages: true + secrets: + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 15d4fff7..f9696766 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -3,6 +3,8 @@ name: Pull request build on: pull_request: + branches: + - dev env: MAIN_PY_VER: "3.10" @@ -15,15 +17,15 @@ jobs: pull-requests: read steps: - name: Source checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python ${{ env.MAIN_PY_VER }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ env.MAIN_PY_VER }} - name: Cache pip repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ env.MAIN_PY_VER }} @@ -35,21 +37,17 @@ jobs: poetry config virtualenvs.in-project true - name: Cache poetry virtual environment - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .venv key: ${{ runner.os }}-poetry-${{ hashFiles('**/pyproject.toml') }}-${{ env.MAIN_PY_VER }} - - name: Install deno runtime - uses: denoland/setup-deno@v1.1.2 - - name: Lint the project run: | - poetry install --no-interaction + poetry install --no-interaction --no-update poetry run poe lint test: - runs-on: ubuntu-latest needs: [lint] strategy: matrix: @@ -58,96 +56,20 @@ jobs: permissions: checks: write pull-requests: write - steps: - - name: Source checkout - uses: actions/checkout@v3 - - - name: Setup timezone - uses: zcong1993/setup-timezone@v2.0.0 - with: - timezone: Asia/Jerusalem - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python }} - - - name: Cache pip repository - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ matrix.python }} - - - name: Prepare python environment - run: | - pip install -r requirements.txt - poetry config virtualenvs.create true - poetry config virtualenvs.in-project true - - - name: Cache poetry virtual environment - uses: actions/cache@v3 - with: - path: .venv - key: ${{ runner.os }}-poetry-${{ hashFiles('**/pyproject.toml') }}-${{ matrix.python }} - - - name: Install project build dependencies - run: poetry install --no-interaction - - - name: Test the project - run: > - if [ ${{ matrix.python }} == ${{ env.MAIN_PY_VER }} ]; - then poetry run poe test_rep; - else poetry run poe test; fi - - - name: Report test summary - uses: EnricoMi/publish-unit-test-result-action@v2 - if: ${{ matrix.python == env.MAIN_PY_VER && always() }} - with: - test_changes_limit: 0 - junit_files: ./junit.xml - report_individual_runs: true - - - name: Push to CodeCov - uses: codecov/codecov-action@v3 - if: ${{ matrix.python == env.MAIN_PY_VER }} - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./coverage.xml + uses: ./.github/workflows/on_call/test.yml + with: + python_version: ${{ matrix.python }} + push_coverage: ${{ matrix.python }} == ${{ env.MAIN_PY_VER }} + report_tests: ${{ matrix.python }} == ${{ env.MAIN_PY_VER }} + secrets: + codecov_token: ${{ secrets.CODECOV_TOKEN }} docs: - runs-on: ubuntu-latest needs: [lint] name: Verify documentation site permissions: pull-requests: read - steps: - - name: Source checkout - uses: actions/checkout@v3 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{ env.MAIN_PY_VER }} - - - name: Cache pip repository - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ env.MAIN_PY_VER }} - - - name: Prepare python environment - run: | - pip install -r requirements.txt - poetry config virtualenvs.create true - poetry config virtualenvs.in-project true - - - name: Cache poetry virtual environment - uses: actions/cache@v3 - with: - path: .venv - key: ${{ runner.os }}-poetry-${{ hashFiles('**/pyproject.toml') }}-${{ env.MAIN_PY_VER }} - - - name: Build documentation site - run: | - poetry install --no-interaction - poetry run poe docs_build + uses: ./.github/workflows/on_call/docs.yml + with: + python_version: ${{ env.MAIN_PY_VER }} + checkout_ref: ${{ github.sha }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 150fc0da..8ec49fa6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,6 +12,9 @@ on: default: "auto" required: true +env: + MAIN_PY_VER: "3.10" + jobs: release: runs-on: ubuntu-latest @@ -19,21 +22,21 @@ jobs: name: Build, publish, and release steps: - name: Checkout sources - uses: actions/checkout@v3 + uses: actions/checkout@v5 with: fetch-depth: 0 ssh-key: ${{ secrets.DEPLOY_KEY }} - - name: Setup Python 3.10 - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: ${{ env.MAIN_PY_VER }} - name: Cache pip repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ env.MAIN_PY_VER }} - name: Prepare python environment run: | @@ -42,10 +45,11 @@ jobs: poetry config virtualenvs.in-project true - name: Cache poetry virtual environment - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .venv - key: ${{ runner.os }}-poetry-${{ hashFiles('**/pyproject.toml') }} + # yamllint disable-line rule:line-length + key: ${{ runner.os }}-poetry-release-${{ hashFiles('**/pyproject.toml') }}-${{ env.MAIN_PY_VER }} - name: Configure git run: | @@ -54,7 +58,7 @@ jobs: - name: Determine version and create changelog id: bumper - uses: tomerfi/version-bumper-action@2.0.2 + uses: tomerfi/version-bumper-action@2.0.3 with: bump: '${{ github.event.inputs.bump }}' @@ -65,22 +69,18 @@ jobs: key: tool.poetry.version value: ${{ steps.bumper.outputs.new_version }} + # yamllint disable rule:line-length - name: Commit, tag, and push - # yamllint disable rule:line-length - # editorconfig-checker-disable run: | git add pyproject.toml git commit -m "build: bump version to ${{ steps.bumper.outputs.new_version }} [skip ci]" git push git tag ${{ steps.bumper.outputs.new_version }} -m "${{ steps.bumper.outputs.new_version }}" git push origin ${{ steps.bumper.outputs.new_version }} - # yamllint enable rule:line-length - # editorconfig-checker-enable + # yamllint enable rule:line-length - name: Verify documentation site build - run: | - poetry install --no-interaction --without dev - poetry run poe docs_build + run: poetry install --no-interaction --no-update --without dev --without docs - name: Publish build to PyPi run: | @@ -94,17 +94,17 @@ jobs: key: tool.poetry.version value: ${{ steps.bumper.outputs.next_dev_iteration }} + # yamllint disable rule:line-length - name: Commit and push - # yamllint disable rule:line-length run: | git add pyproject.toml git commit -m "build: bump version to ${{ steps.bumper.outputs.next_dev_iteration }} [skip ci]" git push - # yamllint enable rule:line-length + # yamllint enable rule:line-length - name: Create a release name id: release_name - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | var retval = '${{ steps.bumper.outputs.new_version }}' @@ -115,7 +115,7 @@ jobs: - name: Create a release id: gh_release - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: github-token: ${{ secrets.RELEASE_PAT }} script: | diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml index d7138517..1456e8df 100644 --- a/.github/workflows/stage.yml +++ b/.github/workflows/stage.yml @@ -6,56 +6,18 @@ on: push: branches: - dev - paths-ignore: - - ".github" - - ".vscode" + paths: + - src/** + - pyproject.toml + - requirements.txt -jobs: - stage: - runs-on: ubuntu-latest - environment: staging - name: Stage project - steps: - - name: Checkout sources - uses: actions/checkout@v3 - - - name: Setup timezone - uses: zcong1993/setup-timezone@v2.0.0 - with: - timezone: Asia/Jerusalem - - - name: Setup Python 3.10 - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - - name: Cache pip repository - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} +env: + MAIN_PY_VER: "3.10" - - name: Prepare python environment - run: | - pip install -r requirements.txt - poetry config virtualenvs.create true - poetry config virtualenvs.in-project true - - - name: Cache poetry virtual environment - uses: actions/cache@v3 - with: - path: .venv - key: ${{ runner.os }}-poetry-${{ hashFiles('**/pyproject.toml') }} - - - name: Install, test with coverage report, and build - run: | - poetry install --no-interaction - poetry run poe test_rep - poetry build - - - name: Push to CodeCov - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - fail_ci_if_error: true +jobs: + test: + uses: ./.github/workflows/on_call/test.yml + with: + python_version: ${{ env.MAIN_PY_VER }} + secrets: + codecov_token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 00000000..b71b00b5 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,21 @@ +--- +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '0 2 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + stale-issue-label: "status: stale" + stale-issue-message: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. + close-issue-message: Closing this issue. + days-before-stale: 30 + exempt-issue-labels: | + status: confirmed,status: on-hold,type: todo,type: wip,type: enhancement diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 8f7698eb..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python" -} diff --git a/README.md b/README.md index a2421570..36ef0932 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,16 @@ PyPi module integrating with various [Switcher][switcher] devices.
pip install aioswitcher ``` -Check the docs: [https://aioswitcher.tomfi.info][docs-aioswitcher] +Check the docs: [https://aioswitcher.tomfi.info][docs-aioswitcher]. -Looking for a containerized solution? Check [https://switcher-webapi.tomfi.info][switcher-webapi]. +Looking for a containerized solution? -Check [https://switcher-webapi.tomfi.info][switcher-webapi]. -## Disclaimer +> [!Note] +> This is a community-driven open-source project; the vendor does not officially support it.
+> Thanks to all the people at [Switcher][switcher] for their cooperation and general support. -This is **NOT** an official module, and it is **NOT** officially supported by the vendor.
-Thanks to all the people at [Switcher][switcher] for their cooperation and general support. +> [!Note] +> This project has a couple of ancestors; the most important one is the [Switcher-V2-Python][switcher-v2-script] project. [ci-stage]: https://github.com/TomerFi/aioswitcher/actions/workflows/stage.yml @@ -26,6 +28,7 @@ Thanks to all the people at [Switcher][switcher] for their cooperation and gener [pypi-aioswitcher]: https://pypi.org/project/aioswitcher [repo-aioswitcher]: https://github.com/TomerFi/aioswitcher [switcher]: https://www.switcher.co.il/ +[switcher-v2-script]: https://github.com/NightRang3r/Switcher-V2-Python [switcher-webapi]: https://switcher-webapi.tomfi.info [codecov-badge]: https://codecov.io/gh/TomerFi/aioswitcher/graph/badge.svg diff --git a/pyproject.toml b/pyproject.toml index 2f2b9dfa..8270fc0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,21 +27,21 @@ exclude = [ ] [tool.poetry.group.dev.dependencies] assertpy = "^1.1" -black = ">=22.8,<25.0" -flake8 = ">=5.0.4,<7.0.0" -flake8-docstrings = "^1.6.0" -Flake8-pyproject = "^1.1.0.post0" -isort = "^5.10.1" -mypy = ">=0.971,<1.5" +black = "^24.10.0" +flake8 = "^7.1.1" +flake8-docstrings = "^1.7.0" +Flake8-pyproject = "^1.2.3" +isort = "^5.13.2" +mypy = "^1.14.0" poethepoet = "^0.31.1" -pytest = "^7.1.2" -pytest-asyncio = ">=0.19,<0.22" -pytest-cov = ">=3,<5" +pytest = "^8.3.4" +pytest-asyncio = "^0.25.0" +pytest-cov = "^6.0.0" pytest-resource-path = "^1.3.0" pytest-mockservers = "^0.6.0" -pytest-sugar = "^0.9.4" -time-machine = "^2.7.0" -yamllint = "^1.26.3" +pytest-sugar = "^1.0.0" +time-machine = "^2.16.0" +yamllint = "^1.35.1" freezegun = ">=1.5.1" [tool.poetry.group.docs.dependencies] @@ -63,7 +63,6 @@ test = "poetry run pytest -v" test_cov = "poetry run pytest -v --cov --cov-report=term" test_rep = "poetry run pytest -v --cov --cov-report=xml:coverage.xml --junit-xml junit.xml" test_pub = "poetry publish --build --repository testpypi" -lic_check = "deno run --unstable --allow-read https://deno.land/x/license_checker@v3.1.3/main.ts" lint = [ "black", "flake8", "isort", "mypy", "yamllint" ] black = "poetry run black --check src/ docs/ scripts/" black_fix = "poetry run black src/ docs/ scripts/"