fastapi-validation-override 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. fastapi_validation_override-0.1.0/.github/dependabot.yml +45 -0
  2. fastapi_validation_override-0.1.0/.github/workflows/detect-conflicts.yml +22 -0
  3. fastapi_validation_override-0.1.0/.github/workflows/pre-commit.yml +66 -0
  4. fastapi_validation_override-0.1.0/.github/workflows/prepare-release.yml +81 -0
  5. fastapi_validation_override-0.1.0/.github/workflows/publish.yml +40 -0
  6. fastapi_validation_override-0.1.0/.github/workflows/test-redistribute.yml +91 -0
  7. fastapi_validation_override-0.1.0/.github/workflows/test.yml +174 -0
  8. fastapi_validation_override-0.1.0/.gitignore +36 -0
  9. fastapi_validation_override-0.1.0/.pre-commit-config.yaml +59 -0
  10. fastapi_validation_override-0.1.0/.python-version +1 -0
  11. fastapi_validation_override-0.1.0/LICENSE +21 -0
  12. fastapi_validation_override-0.1.0/PKG-INFO +255 -0
  13. fastapi_validation_override-0.1.0/README.md +226 -0
  14. fastapi_validation_override-0.1.0/RELEASE_NOTES.md +18 -0
  15. fastapi_validation_override-0.1.0/examples/basic.py +29 -0
  16. fastapi_validation_override-0.1.0/examples/custom_openapi.py +41 -0
  17. fastapi_validation_override-0.1.0/examples/custom_status_code.py +29 -0
  18. fastapi_validation_override-0.1.0/examples/existing_response_at_target_code.py +35 -0
  19. fastapi_validation_override-0.1.0/examples/handle_exceptions_false.py +42 -0
  20. fastapi_validation_override-0.1.0/examples/with_apirouter.py +45 -0
  21. fastapi_validation_override-0.1.0/fastapi_validation_override/__init__.py +5 -0
  22. fastapi_validation_override-0.1.0/fastapi_validation_override/overrider.py +86 -0
  23. fastapi_validation_override-0.1.0/fastapi_validation_override/py.typed +0 -0
  24. fastapi_validation_override-0.1.0/pyproject.toml +137 -0
  25. fastapi_validation_override-0.1.0/scripts/format.sh +5 -0
  26. fastapi_validation_override-0.1.0/scripts/lint.sh +9 -0
  27. fastapi_validation_override-0.1.0/scripts/prepare_release.py +189 -0
  28. fastapi_validation_override-0.1.0/scripts/test-cov-html.sh +8 -0
  29. fastapi_validation_override-0.1.0/scripts/test-cov.sh +6 -0
  30. fastapi_validation_override-0.1.0/scripts/test.sh +6 -0
  31. fastapi_validation_override-0.1.0/tests/__init__.py +0 -0
  32. fastapi_validation_override-0.1.0/tests/test_overrider.py +357 -0
  33. fastapi_validation_override-0.1.0/tests/test_prepare_release.py +211 -0
  34. fastapi_validation_override-0.1.0/uv.lock +1070 -0
@@ -0,0 +1,45 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ cooldown:
8
+ default-days: 7
9
+ commit-message:
10
+ prefix: "chore(actions)"
11
+ labels:
12
+ - "dependencies"
13
+ groups:
14
+ github-actions:
15
+ patterns:
16
+ - "*"
17
+
18
+ - package-ecosystem: "uv"
19
+ directory: "/"
20
+ schedule:
21
+ interval: "weekly"
22
+ cooldown:
23
+ default-days: 7
24
+ commit-message:
25
+ prefix: "chore(deps)"
26
+ groups:
27
+ python-dev:
28
+ dependency-type: "development"
29
+ patterns:
30
+ - "*"
31
+
32
+ - package-ecosystem: "pre-commit"
33
+ directory: "/"
34
+ schedule:
35
+ interval: "weekly"
36
+ cooldown:
37
+ default-days: 7
38
+ commit-message:
39
+ prefix: "chore(pre-commit)"
40
+ labels:
41
+ - "dependencies"
42
+ groups:
43
+ pre-commit:
44
+ patterns:
45
+ - "*"
@@ -0,0 +1,22 @@
1
+ name: "Conflict detector"
2
+ on:
3
+ push:
4
+ pull_request_target: # zizmor: ignore[dangerous-triggers]
5
+ types: [synchronize]
6
+
7
+ permissions: {}
8
+
9
+ jobs:
10
+ main:
11
+ permissions:
12
+ contents: read
13
+ pull-requests: write
14
+ runs-on: ubuntu-latest
15
+ timeout-minutes: 5
16
+ steps:
17
+ - name: Check if PRs have merge conflicts
18
+ uses: eps1lon/actions-label-merge-conflict@0273be72a0bbd58fcd71d0d6c02c209b50d1e5e1 # v3.1.0
19
+ with:
20
+ dirtyLabel: "conflicts"
21
+ repoToken: "${{ secrets.GITHUB_TOKEN }}"
22
+ commentOnDirty: "This pull request has a merge conflict that needs to be resolved."
@@ -0,0 +1,66 @@
1
+ name: pre-commit
2
+
3
+ on:
4
+ pull_request:
5
+ types:
6
+ - opened
7
+ - synchronize
8
+
9
+ permissions: {}
10
+
11
+ jobs:
12
+ pre-commit:
13
+ permissions:
14
+ contents: read
15
+ runs-on: ubuntu-latest
16
+ timeout-minutes: 5
17
+ steps:
18
+ - name: Dump GitHub context
19
+ env:
20
+ GITHUB_CONTEXT: ${{ toJson(github) }}
21
+ run: echo "$GITHUB_CONTEXT"
22
+
23
+ - name: Checkout code
24
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
25
+ with:
26
+ persist-credentials: false
27
+ # Full history required for --from-ref/--to-ref diff in prek
28
+ fetch-depth: 0
29
+
30
+ - name: Set up Python
31
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
32
+ with:
33
+ python-version-file: ".python-version"
34
+
35
+ - name: Setup uv
36
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
37
+ with:
38
+ version: "0.11.18"
39
+ cache-dependency-glob: |
40
+ pyproject.toml
41
+ uv.lock
42
+
43
+ - name: Install Dependencies
44
+ run: uv sync --locked
45
+
46
+ - name: Run prek - pre-commit
47
+ # Only lint files changed in this PR, not the entire repo
48
+ run: uv run prek run --from-ref origin/${GITHUB_BASE_REF} --to-ref HEAD --show-diff-on-failure
49
+
50
+ # Required by GitHub branch protection rules
51
+ pre-commit-alls-green:
52
+ if: always()
53
+ needs:
54
+ - pre-commit
55
+ runs-on: ubuntu-latest
56
+ timeout-minutes: 5
57
+ steps:
58
+ - name: Dump GitHub context
59
+ env:
60
+ GITHUB_CONTEXT: ${{ toJson(github) }}
61
+ run: echo "$GITHUB_CONTEXT"
62
+
63
+ - name: Decide whether the needed jobs succeeded or failed
64
+ uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
65
+ with:
66
+ jobs: ${{ toJSON(needs) }}
@@ -0,0 +1,81 @@
1
+ name: Prepare Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ bump:
7
+ description: Release bump
8
+ required: true
9
+ type: choice
10
+ options:
11
+ - patch
12
+ - minor
13
+ - major
14
+ date:
15
+ description: Release date in YYYY-MM-DD format. Defaults to today.
16
+ required: false
17
+ type: string
18
+
19
+ permissions: {}
20
+
21
+ env:
22
+ PREPARE_RELEASE_VERSION_FILE: fastapi_validation_override/__init__.py
23
+ PREPARE_RELEASE_RELEASE_NOTES_FILE: RELEASE_NOTES.md
24
+
25
+ jobs:
26
+ prepare-release:
27
+ runs-on: ubuntu-latest
28
+ timeout-minutes: 5
29
+ permissions:
30
+ contents: write
31
+ issues: write
32
+ pull-requests: write
33
+ steps:
34
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
35
+ with:
36
+ persist-credentials: true
37
+ - name: Set up Python
38
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
39
+ with:
40
+ python-version-file: ".python-version"
41
+ - name: Install uv
42
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
43
+ with:
44
+ # Before upgrading uv version, make sure astral-sh/setup-uv knows its checksum.
45
+ # See: https://github.com/astral-sh/setup-uv/issues/851#issuecomment-4282017837
46
+ version: "0.11.18"
47
+ - name: Prepare release
48
+ env:
49
+ PREPARE_RELEASE_BUMP: ${{ inputs.bump }}
50
+ PREPARE_RELEASE_DATE: ${{ inputs.date }}
51
+ run: uv run python scripts/prepare_release.py prepare
52
+ - name: Get release version
53
+ id: release-version
54
+ run: |
55
+ version="$(uv run python scripts/prepare_release.py current-version)"
56
+ echo "$version"
57
+ echo "version=$version" >> "$GITHUB_OUTPUT"
58
+ - name: Ensure release label exists
59
+ env:
60
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61
+ run: |
62
+ gh label create release --color 0075ca --description "Release PR" 2>/dev/null || true
63
+ - name: Create release pull request
64
+ env:
65
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
66
+ VERSION: ${{ steps.release-version.outputs.version }}
67
+ run: |
68
+ set -euo pipefail
69
+ branch="release-${VERSION}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
70
+ git config user.name "github-actions[bot]"
71
+ git config user.email "github-actions[bot]@users.noreply.github.com"
72
+ git switch -c "$branch"
73
+ git add $PREPARE_RELEASE_VERSION_FILE $PREPARE_RELEASE_RELEASE_NOTES_FILE
74
+ git commit -m "🔖 Release version ${VERSION}"
75
+ git push --set-upstream origin "$branch"
76
+ gh pr create \
77
+ --base main \
78
+ --head "$branch" \
79
+ --title "🔖 Release version ${VERSION}" \
80
+ --body "Prepare release ${VERSION}." \
81
+ --label release
@@ -0,0 +1,40 @@
1
+ name: Publish
2
+
3
+ on:
4
+ release:
5
+ types:
6
+ - published
7
+
8
+ permissions: {}
9
+
10
+ jobs:
11
+ publish:
12
+ runs-on: ubuntu-latest
13
+ environment: pypi
14
+ permissions:
15
+ id-token: write
16
+ contents: read
17
+ timeout-minutes: 5
18
+ steps:
19
+ - name: Dump GitHub context
20
+ env:
21
+ GITHUB_CONTEXT: ${{ toJson(github) }}
22
+ run: echo "$GITHUB_CONTEXT"
23
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
24
+ with:
25
+ persist-credentials: false
26
+ - name: Set up Python
27
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
28
+ with:
29
+ python-version-file: ".python-version"
30
+ - name: Install uv
31
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
32
+ with:
33
+ # Before upgrading uv version, make sure astral-sh/setup-uv knows its checksum.
34
+ # See: https://github.com/astral-sh/setup-uv/issues/851#issuecomment-4282017837
35
+ version: "0.11.18"
36
+ enable-cache: "false"
37
+ - name: Build distribution
38
+ run: uv build
39
+ - name: Publish
40
+ run: uv publish
@@ -0,0 +1,91 @@
1
+ name: Test Redistribute
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ types:
9
+ - opened
10
+ - synchronize
11
+
12
+ permissions: {}
13
+
14
+ jobs:
15
+ changes:
16
+ runs-on: ubuntu-latest
17
+ permissions:
18
+ pull-requests: read
19
+ timeout-minutes: 5
20
+ outputs:
21
+ src: ${{ steps.filter.outputs.src }}
22
+ steps:
23
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
24
+ with:
25
+ persist-credentials: false
26
+ - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
27
+ id: filter
28
+ with:
29
+ filters: |
30
+ src:
31
+ - .github/workflows/test-redistribute.yml
32
+ - fastapi_validation_override/**
33
+ - tests/**
34
+ - .python-version
35
+ - pyproject.toml
36
+ - uv.lock
37
+
38
+ test-redistribute:
39
+ needs:
40
+ - changes
41
+ if: needs.changes.outputs.src == 'true' || github.ref == 'refs/heads/main'
42
+ runs-on: ubuntu-latest
43
+ timeout-minutes: 5
44
+ permissions:
45
+ contents: read
46
+ steps:
47
+ - name: Dump GitHub context
48
+ env:
49
+ GITHUB_CONTEXT: ${{ toJson(github) }}
50
+ run: echo "$GITHUB_CONTEXT"
51
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
52
+ with:
53
+ persist-credentials: false
54
+ - name: Set up Python
55
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
56
+ with:
57
+ python-version-file: ".python-version"
58
+ - name: Install build dependencies
59
+ run: pip install build
60
+ - name: Build source distribution
61
+ run: python -m build --sdist
62
+ - name: Decompress source distribution
63
+ run: |
64
+ cd dist
65
+ tar xvf fastapi_validation_override*.tar.gz
66
+ - name: Install test dependencies
67
+ run: |
68
+ cd dist/fastapi_validation_override*/
69
+ pip install --group dev --editable .
70
+ - name: Run source distribution tests
71
+ run: |
72
+ cd dist/fastapi_validation_override*/
73
+ bash scripts/test.sh
74
+ - name: Build wheel distribution
75
+ run: |
76
+ cd dist
77
+ pip wheel --no-deps fastapi_validation_override*.tar.gz
78
+
79
+ # https://github.com/marketplace/actions/alls-green#why
80
+ test-redistribute-alls-green:
81
+ if: always()
82
+ needs:
83
+ - test-redistribute
84
+ runs-on: ubuntu-latest
85
+ timeout-minutes: 5
86
+ steps:
87
+ - name: Decide whether the needed jobs succeeded or failed
88
+ uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
89
+ with:
90
+ jobs: ${{ toJSON(needs) }}
91
+ allowed-skips: test-redistribute
@@ -0,0 +1,174 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ types:
9
+ - opened
10
+ - synchronize
11
+ schedule:
12
+ - cron: "0 0 * * 1"
13
+
14
+ permissions: {}
15
+
16
+ env:
17
+ UV_NO_SYNC: true
18
+
19
+ jobs:
20
+ changes:
21
+ runs-on: ubuntu-latest
22
+ permissions:
23
+ pull-requests: read
24
+ timeout-minutes: 5
25
+ outputs:
26
+ src: ${{ steps.filter.outputs.src }}
27
+ steps:
28
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
29
+ with:
30
+ persist-credentials: false
31
+ - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
32
+ id: filter
33
+ with:
34
+ filters: |
35
+ src:
36
+ - .github/workflows/test.yml
37
+ - fastapi_validation_override/**
38
+ - scripts/**
39
+ - tests/**
40
+ - .python-version
41
+ - pyproject.toml
42
+ - uv.lock
43
+
44
+ test:
45
+ needs:
46
+ - changes
47
+ if: needs.changes.outputs.src == 'true' || github.ref == 'refs/heads/main'
48
+ timeout-minutes: 15
49
+ permissions:
50
+ contents: read
51
+ strategy:
52
+ fail-fast: false
53
+ matrix:
54
+ python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
55
+ fastapi-version: [ "0.120.0", "0.136.0", "latest" ]
56
+
57
+ include:
58
+ # Designates which job collects coverage
59
+ - python-version: "3.14"
60
+ fastapi-version: "latest"
61
+ coverage: "coverage"
62
+
63
+ runs-on: ubuntu-latest
64
+ env:
65
+ UV_PYTHON: ${{ matrix.python-version }}
66
+
67
+ steps:
68
+ - name: Dump GitHub context
69
+ env:
70
+ GITHUB_CONTEXT: ${{ toJson(github) }}
71
+ run: echo "$GITHUB_CONTEXT"
72
+
73
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
74
+ with:
75
+ persist-credentials: false
76
+
77
+ - name: Set up Python
78
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
79
+ with:
80
+ python-version: ${{ matrix.python-version }}
81
+
82
+ - name: Setup uv
83
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
84
+ with:
85
+ version: "0.11.18"
86
+ enable-cache: true
87
+ cache-suffix: ${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.uv-resolution }}-fa${{ matrix.fastapi-version }}
88
+ cache-dependency-glob: |
89
+ pyproject.toml
90
+ uv.lock
91
+
92
+ - name: Install dependencies
93
+ run: uv sync
94
+
95
+ - name: Override FastAPI version
96
+ if: matrix.fastapi-version != 'latest'
97
+ run: uv pip install "fastapi==${{ matrix.fastapi-version }}"
98
+
99
+ - name: Prepare coverage dir
100
+ run: mkdir coverage
101
+
102
+ - name: Test
103
+ # GitHub Windows runners ship bash natively
104
+ run: uv run --no-sync bash scripts/test.sh
105
+ env:
106
+ COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
107
+ CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}-fa${{ matrix.fastapi-version }}
108
+
109
+ - name: Store coverage files
110
+ if: matrix.coverage == 'coverage'
111
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
112
+ with:
113
+ name: coverage-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.fastapi-version }}
114
+ path: coverage
115
+ include-hidden-files: true
116
+
117
+ coverage-combine:
118
+ needs:
119
+ - test
120
+ runs-on: ubuntu-latest
121
+ timeout-minutes: 5
122
+ permissions:
123
+ contents: read
124
+ steps:
125
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
126
+ with:
127
+ persist-credentials: false
128
+
129
+ - name: Setup uv
130
+ uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
131
+ with:
132
+ version: "0.11.18"
133
+ enable-cache: true
134
+ cache-dependency-glob: |
135
+ pyproject.toml
136
+ uv.lock
137
+
138
+ - name: Install Dependencies
139
+ run: uv sync --locked
140
+
141
+ - name: Get coverage files
142
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
143
+ with:
144
+ pattern: coverage-*
145
+ path: coverage
146
+ merge-multiple: true
147
+
148
+ - run: ls -la coverage
149
+ - run: uv run coverage combine coverage
150
+ - run: uv run coverage html --title "Coverage for ${{ github.sha }}"
151
+
152
+ - name: Store coverage HTML
153
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
154
+ with:
155
+ name: coverage-html
156
+ path: htmlcov
157
+ include-hidden-files: true
158
+
159
+ - run: uv run coverage report --fail-under=100
160
+
161
+ check:
162
+ if: always()
163
+ needs:
164
+ - test
165
+ - coverage-combine
166
+ runs-on: ubuntu-latest
167
+ timeout-minutes: 5
168
+ permissions: {}
169
+ steps:
170
+ - name: Decide whether the needed jobs succeeded or failed
171
+ uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
172
+ with:
173
+ jobs: ${{ toJSON(needs) }}
174
+ allowed-skips: test,coverage-combine
@@ -0,0 +1,36 @@
1
+ # Python
2
+ __pycache__/
3
+ .mypy_cache/
4
+ *.pyc
5
+ *.pyo
6
+ *.pyd
7
+ *.egg-info/
8
+ *.egg
9
+
10
+ # Build / dist
11
+ build/
12
+ dist/
13
+
14
+ # Coverage
15
+ .coverage
16
+ coverage/
17
+ htmlcov/
18
+
19
+ # Virtual environments
20
+ .venv/
21
+ venv/
22
+
23
+ # IDE / OS
24
+ .vscode/
25
+ .idea/
26
+ .DS_Store
27
+ Thumbs.db
28
+
29
+ # Runtime
30
+ *.pid
31
+ *.log
32
+ *.tmp
33
+
34
+ # Local environment
35
+ .env
36
+ .run/
@@ -0,0 +1,59 @@
1
+ # See https://pre-commit.com for more information
2
+ # See https://pre-commit.com/hooks.html for more hooks
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # v6.0.0
6
+ hooks:
7
+ - id: check-added-large-files
8
+ args: [ '--maxkb=750' ]
9
+ exclude: ^uv\.lock$
10
+ - id: check-toml
11
+ - id: check-yaml
12
+ args:
13
+ - --unsafe
14
+ - id: end-of-file-fixer
15
+ - id: trailing-whitespace
16
+
17
+ - repo: https://github.com/crate-ci/typos
18
+ rev: b859c0df7f391deba73030f79b957e62b4d81dc6 # varcon-core-v5.0.7
19
+ hooks:
20
+ - id: typos
21
+ args: [--force-exclude]
22
+
23
+ - repo: local
24
+ hooks:
25
+ - id: local-ruff-check
26
+ name: ruff check
27
+ entry: uv run ruff check --force-exclude --fix --exit-non-zero-on-fix
28
+ require_serial: true
29
+ language: unsupported
30
+ types: [ python ]
31
+
32
+ - id: local-ruff-format
33
+ name: ruff format
34
+ entry: uv run ruff format --force-exclude --exit-non-zero-on-format
35
+ require_serial: true
36
+ language: unsupported
37
+ types: [ python ]
38
+
39
+ - id: local-mypy
40
+ name: mypy check
41
+ entry: uv run mypy fastapi_validation_override
42
+ require_serial: true
43
+ language: unsupported
44
+ pass_filenames: false
45
+
46
+ - id: local-ty
47
+ name: ty check
48
+ entry: uv run ty check fastapi_validation_override
49
+ require_serial: true
50
+ language: unsupported
51
+ pass_filenames: false
52
+
53
+ - id: zizmor
54
+ name: zizmor
55
+ language: python
56
+ entry: uv run zizmor .
57
+ files: ^\.github/workflows/
58
+ require_serial: true
59
+ pass_filenames: false
@@ -0,0 +1 @@
1
+ 3.11
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Sebastián Ramírez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.