aws-annoying 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 (36) hide show
  1. aws_annoying-0.1.0/.devcontainer/devcontainer.json +30 -0
  2. aws_annoying-0.1.0/.devcontainer/onCreateCommand.sh +3 -0
  3. aws_annoying-0.1.0/.devcontainer/postAttachCommand.sh +6 -0
  4. aws_annoying-0.1.0/.editorconfig +25 -0
  5. aws_annoying-0.1.0/.gitattributes +124 -0
  6. aws_annoying-0.1.0/.github/dependabot.yaml +25 -0
  7. aws_annoying-0.1.0/.github/workflows/ci.yaml +85 -0
  8. aws_annoying-0.1.0/.github/workflows/release.yaml +59 -0
  9. aws_annoying-0.1.0/.gitignore +287 -0
  10. aws_annoying-0.1.0/.pre-commit-config.yaml +60 -0
  11. aws_annoying-0.1.0/.python-version +1 -0
  12. aws_annoying-0.1.0/.vscode/extensions.json +17 -0
  13. aws_annoying-0.1.0/.vscode/launch.json +13 -0
  14. aws_annoying-0.1.0/.vscode/settings.json +33 -0
  15. aws_annoying-0.1.0/LICENSE +21 -0
  16. aws_annoying-0.1.0/Makefile +64 -0
  17. aws_annoying-0.1.0/PKG-INFO +21 -0
  18. aws_annoying-0.1.0/README.md +8 -0
  19. aws_annoying-0.1.0/aws_annoying/__init__.py +0 -0
  20. aws_annoying-0.1.0/aws_annoying/app.py +9 -0
  21. aws_annoying-0.1.0/aws_annoying/ecs_task_definition_lifecycle.py +54 -0
  22. aws_annoying-0.1.0/aws_annoying/load_variables.py +244 -0
  23. aws_annoying-0.1.0/aws_annoying/main.py +20 -0
  24. aws_annoying-0.1.0/aws_annoying/utils/__init__.py +0 -0
  25. aws_annoying-0.1.0/aws_annoying/utils/debugger.py +25 -0
  26. aws_annoying-0.1.0/pyproject.toml +101 -0
  27. aws_annoying-0.1.0/tests/__init__.py +0 -0
  28. aws_annoying-0.1.0/tests/_helpers/__init__.py +4 -0
  29. aws_annoying-0.1.0/tests/_helpers/command_builder.py +6 -0
  30. aws_annoying-0.1.0/tests/_helpers/scripts/printenv.py +36 -0
  31. aws_annoying-0.1.0/tests/_helpers/string_.py +12 -0
  32. aws_annoying-0.1.0/tests/conftest.py +40 -0
  33. aws_annoying-0.1.0/tests/test_app.py +0 -0
  34. aws_annoying-0.1.0/tests/test_ecs_task_definition_lifecycle.py +141 -0
  35. aws_annoying-0.1.0/tests/test_load_variables.py +342 -0
  36. aws_annoying-0.1.0/uv.lock +1899 -0
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "lasuillard/aws-annoying",
3
+ "image": "mcr.microsoft.com/devcontainers/python:1-3.9-bookworm",
4
+ "features": {
5
+ "ghcr.io/devcontainers-contrib/features/pre-commit:2": {},
6
+ "ghcr.io/devcontainers/features/aws-cli:1": {},
7
+ "ghcr.io/lasuillard/devcontainer-features/aws-ssm-session-manager-plugin:0.1": {}
8
+ },
9
+ "onCreateCommand": "./.devcontainer/onCreateCommand.sh",
10
+ "postAttachCommand": "./.devcontainer/postAttachCommand.sh",
11
+ "customizations": {
12
+ "vscode": {
13
+ "extensions": [
14
+ "ms-python.python",
15
+ "ms-python.vscode-pylance",
16
+ "ldez.ignore-files",
17
+ "gruntfuggly.todo-tree",
18
+ "redhat.vscode-yaml",
19
+ "tamasfe.even-better-toml",
20
+ "streetsidesoftware.code-spell-checker",
21
+ "EditorConfig.EditorConfig",
22
+ "VisualStudioExptTeam.vscodeintellicode",
23
+ "charliermarsh.ruff",
24
+ "ms-python.mypy-type-checker",
25
+ "njpwerner.autodocstring",
26
+ "ms-python.debugpy"
27
+ ]
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+
3
+ pipx install uv
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+
3
+ make install
4
+
5
+ # Shortcuts for development
6
+ echo 'alias aa="uv run aws-annoying"' >> ~/.bashrc
@@ -0,0 +1,25 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ charset = utf-8
7
+ indent_style = space
8
+ indent_size = 2
9
+ end_of_line = lf
10
+ insert_final_newline = true
11
+ trim_trailing_whitespace = true
12
+
13
+ [*.md]
14
+ trim_trailing_whitespace = false
15
+ indent_size = 4
16
+
17
+ [Dockerfile]
18
+ indent_size = 4
19
+
20
+ [Makefile]
21
+ indent_style = tab
22
+ indent_size = 4
23
+
24
+ [*.py]
25
+ indent_size = 4
@@ -0,0 +1,124 @@
1
+ # https://gitattributes.io/api/common%2Cmarkdown%2Cpython%2Csql%2Cdevcontainer%2Cvisualstudiocode
2
+ # Common settings that generally should always be used with your language specific settings
3
+
4
+ # Auto detect text files and perform LF normalization
5
+ * text=auto
6
+
7
+ #
8
+ # The above will handle all files NOT found below
9
+ #
10
+
11
+ # Documents
12
+ *.bibtex text diff=bibtex
13
+ *.doc diff=astextplain
14
+ *.DOC diff=astextplain
15
+ *.docx diff=astextplain
16
+ *.DOCX diff=astextplain
17
+ *.dot diff=astextplain
18
+ *.DOT diff=astextplain
19
+ *.pdf diff=astextplain
20
+ *.PDF diff=astextplain
21
+ *.rtf diff=astextplain
22
+ *.RTF diff=astextplain
23
+ *.md text diff=markdown
24
+ *.mdx text diff=markdown
25
+ *.tex text diff=tex
26
+ *.adoc text
27
+ *.textile text
28
+ *.mustache text
29
+ *.csv text eol=crlf
30
+ *.tab text
31
+ *.tsv text
32
+ *.txt text
33
+ *.sql text
34
+ *.epub diff=astextplain
35
+
36
+ # Graphics
37
+ *.png binary
38
+ *.jpg binary
39
+ *.jpeg binary
40
+ *.gif binary
41
+ *.tif binary
42
+ *.tiff binary
43
+ *.ico binary
44
+ # SVG treated as text by default.
45
+ *.svg text
46
+ # If you want to treat it as binary,
47
+ # use the following line instead.
48
+ # *.svg binary
49
+ *.eps binary
50
+
51
+ # Scripts
52
+ *.bash text eol=lf
53
+ *.fish text eol=lf
54
+ *.sh text eol=lf
55
+ *.zsh text eol=lf
56
+ # These are explicitly windows files and should use crlf
57
+ *.bat text eol=crlf
58
+ *.cmd text eol=crlf
59
+ *.ps1 text eol=crlf
60
+
61
+ # Serialisation
62
+ *.json text
63
+ *.toml text
64
+ *.xml text
65
+ *.yaml text
66
+ *.yml text
67
+
68
+ # Archives
69
+ *.7z binary
70
+ *.gz binary
71
+ *.tar binary
72
+ *.tgz binary
73
+ *.zip binary
74
+
75
+ # Text files where line endings should be preserved
76
+ *.patch -text
77
+
78
+ #
79
+ # Exclude files from exporting
80
+ #
81
+
82
+ .gitattributes export-ignore
83
+ .gitignore export-ignore
84
+ .gitkeep export-ignore
85
+ # Fix syntax highlighting on GitHub to allow comments
86
+ .devcontainer.json linguist-language=JSON-with-Comments
87
+ devcontainer.json linguist-language=JSON-with-Comments
88
+ # Apply override to all files in the directory
89
+ *.md linguist-detectable
90
+ # Basic .gitattributes for a python repo.
91
+
92
+ # Source files
93
+ # ============
94
+ *.pxd text diff=python
95
+ *.py text diff=python
96
+ *.py3 text diff=python
97
+ *.pyw text diff=python
98
+ *.pyx text diff=python
99
+ *.pyz text diff=python
100
+ *.pyi text diff=python
101
+
102
+ # Binary files
103
+ # ============
104
+ *.db binary
105
+ *.p binary
106
+ *.pkl binary
107
+ *.pickle binary
108
+ *.pyc binary export-ignore
109
+ *.pyo binary export-ignore
110
+ *.pyd binary
111
+
112
+ # Jupyter notebook
113
+ *.ipynb text eol=lf
114
+
115
+ # Note: .db, .p, and .pkl files are associated
116
+ # with the python modules ``pickle``, ``dbm.*``,
117
+ # ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
118
+ # (among others).
119
+ # Basic .gitattributes for sql files
120
+
121
+ *.sql linguist-detectable=true
122
+ *.sql linguist-language=sql
123
+ # Fix syntax highlighting on GitHub to allow comments
124
+ .vscode/*.json linguist-language=JSON-with-Comments
@@ -0,0 +1,25 @@
1
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2
+ version: 2
3
+ enable-beta-ecosystems: true
4
+ updates:
5
+ - package-ecosystem: github-actions
6
+ directory: /
7
+ schedule:
8
+ interval: monthly
9
+
10
+ - package-ecosystem: uv
11
+ directory: /
12
+ schedule:
13
+ interval: monthly
14
+ ignore:
15
+ - dependency-name: "*"
16
+ update-types: ["version-update:semver-patch"]
17
+ groups:
18
+ dev-dependencies:
19
+ applies-to: version-updates
20
+ dependency-type: development
21
+
22
+ - package-ecosystem: "devcontainers"
23
+ directory: "/"
24
+ schedule:
25
+ interval: monthly
@@ -0,0 +1,85 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ permissions: read-all
10
+
11
+ env:
12
+ UV_FROZEN: 1
13
+
14
+ jobs:
15
+ lint:
16
+ name: Lint
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Set up uv
23
+ uses: astral-sh/setup-uv@v5
24
+ with:
25
+ version: latest
26
+ enable-cache: true
27
+
28
+ - name: Install deps
29
+ run: uv sync --all-extras
30
+
31
+ - uses: pre-commit/action@v3.0.1
32
+ env:
33
+ SKIP: pytest
34
+
35
+ - uses: pre-commit-ci/lite-action@v1.1.0
36
+ if: always()
37
+
38
+ test:
39
+ name: Test (Python ${{ matrix.python-version }})
40
+ runs-on: ubuntu-latest
41
+ permissions:
42
+ contents: read
43
+ id-token: write
44
+ strategy:
45
+ fail-fast: false
46
+ matrix:
47
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
48
+
49
+ steps:
50
+ - name: Checkout
51
+ uses: actions/checkout@v4
52
+
53
+ - name: Set up uv
54
+ uses: astral-sh/setup-uv@v5
55
+ with:
56
+ version: latest
57
+ enable-cache: true
58
+
59
+ - name: Set Python version
60
+ run: uv python pin "${{ matrix.python-version }}"
61
+
62
+ - name: Install deps
63
+ run: uv sync --all-extras
64
+
65
+ - name: Run tests
66
+ run: uv run pytest
67
+
68
+ - name: Upload test results to Codecov
69
+ uses: codecov/codecov-action@v5
70
+ with:
71
+ use_oidc: true
72
+ fail_ci_if_error: false
73
+ report_type: test_results
74
+ files: junit.xml
75
+ flags: >-
76
+ python-${{ matrix.python-version }}
77
+
78
+ - name: Upload coverage report
79
+ uses: codecov/codecov-action@v5
80
+ with:
81
+ use_oidc: true
82
+ fail_ci_if_error: false
83
+ files: coverage.xml
84
+ flags: >-
85
+ python-${{ matrix.python-version }}
@@ -0,0 +1,59 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags: [v*]
6
+
7
+ permissions: read-all
8
+
9
+ jobs:
10
+ release:
11
+ name: Release
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: write
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v4
18
+
19
+ - name: Set up uv
20
+ uses: astral-sh/setup-uv@v5
21
+ with:
22
+ version: latest
23
+ enable-cache: true
24
+
25
+ - name: Install deps
26
+ run: uv sync --frozen --all-extras
27
+
28
+ - name: Build package
29
+ run: uv build
30
+
31
+ - name: Create release
32
+ uses: softprops/action-gh-release@v2
33
+ with:
34
+ generate_release_notes: true
35
+ files: dist/*
36
+
37
+ - name: Upload release distributions
38
+ uses: actions/upload-artifact@v4
39
+ with:
40
+ name: release-dists
41
+ path: dist/
42
+
43
+ publish-pypi:
44
+ name: Publish to PyPI
45
+ runs-on: ubuntu-latest
46
+ needs:
47
+ - release
48
+ permissions:
49
+ id-token: write
50
+ environment: pypi
51
+ steps:
52
+ - name: Retrieve release distributions
53
+ uses: actions/download-artifact@v4
54
+ with:
55
+ name: release-dists
56
+ path: dist/
57
+
58
+ - name: Publish release distributions to PyPI
59
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,287 @@
1
+ *.local
2
+ junit.xml
3
+
4
+ # Created by https://www.toptal.com/developers/gitignore/api/linux,git,python,visualstudiocode,macos,windows
5
+ # Edit at https://www.toptal.com/developers/gitignore?templates=linux,git,python,visualstudiocode,macos,windows
6
+
7
+ ### Git ###
8
+ # Created by git for backups. To disable backups in Git:
9
+ # $ git config --global mergetool.keepBackup false
10
+ *.orig
11
+
12
+ # Created by git when using merge tools for conflicts
13
+ *.BACKUP.*
14
+ *.BASE.*
15
+ *.LOCAL.*
16
+ *.REMOTE.*
17
+ *_BACKUP_*.txt
18
+ *_BASE_*.txt
19
+ *_LOCAL_*.txt
20
+ *_REMOTE_*.txt
21
+
22
+ ### Linux ###
23
+ *~
24
+
25
+ # temporary files which can be created if a process still has a handle open of a deleted file
26
+ .fuse_hidden*
27
+
28
+ # KDE directory preferences
29
+ .directory
30
+
31
+ # Linux trash folder which might appear on any partition or disk
32
+ .Trash-*
33
+
34
+ # .nfs files are created when an open file is removed but is still being accessed
35
+ .nfs*
36
+
37
+ ### macOS ###
38
+ # General
39
+ .DS_Store
40
+ .AppleDouble
41
+ .LSOverride
42
+
43
+ # Icon must end with two \r
44
+ Icon
45
+
46
+
47
+ # Thumbnails
48
+ ._*
49
+
50
+ # Files that might appear in the root of a volume
51
+ .DocumentRevisions-V100
52
+ .fseventsd
53
+ .Spotlight-V100
54
+ .TemporaryItems
55
+ .Trashes
56
+ .VolumeIcon.icns
57
+ .com.apple.timemachine.donotpresent
58
+
59
+ # Directories potentially created on remote AFP share
60
+ .AppleDB
61
+ .AppleDesktop
62
+ Network Trash Folder
63
+ Temporary Items
64
+ .apdisk
65
+
66
+ ### macOS Patch ###
67
+ # iCloud generated files
68
+ *.icloud
69
+
70
+ ### Python ###
71
+ # Byte-compiled / optimized / DLL files
72
+ __pycache__/
73
+ *.py[cod]
74
+ *$py.class
75
+
76
+ # C extensions
77
+ *.so
78
+
79
+ # Distribution / packaging
80
+ .Python
81
+ build/
82
+ develop-eggs/
83
+ dist/
84
+ downloads/
85
+ eggs/
86
+ .eggs/
87
+ lib/
88
+ lib64/
89
+ parts/
90
+ sdist/
91
+ var/
92
+ wheels/
93
+ share/python-wheels/
94
+ *.egg-info/
95
+ .installed.cfg
96
+ *.egg
97
+ MANIFEST
98
+
99
+ # PyInstaller
100
+ # Usually these files are written by a python script from a template
101
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
102
+ *.manifest
103
+ *.spec
104
+
105
+ # Installer logs
106
+ pip-log.txt
107
+ pip-delete-this-directory.txt
108
+
109
+ # Unit test / coverage reports
110
+ htmlcov/
111
+ .tox/
112
+ .nox/
113
+ .coverage
114
+ .coverage.*
115
+ .cache
116
+ nosetests.xml
117
+ coverage.xml
118
+ *.cover
119
+ *.py,cover
120
+ .hypothesis/
121
+ .pytest_cache/
122
+ cover/
123
+
124
+ # Translations
125
+ *.mo
126
+ *.pot
127
+
128
+ # Django stuff:
129
+ *.log
130
+ local_settings.py
131
+ db.sqlite3
132
+ db.sqlite3-journal
133
+
134
+ # Flask stuff:
135
+ instance/
136
+ .webassets-cache
137
+
138
+ # Scrapy stuff:
139
+ .scrapy
140
+
141
+ # Sphinx documentation
142
+ docs/_build/
143
+
144
+ # PyBuilder
145
+ .pybuilder/
146
+ target/
147
+
148
+ # Jupyter Notebook
149
+ .ipynb_checkpoints
150
+
151
+ # IPython
152
+ profile_default/
153
+ ipython_config.py
154
+
155
+ # pyenv
156
+ # For a library or package, you might want to ignore these files since the code is
157
+ # intended to run in multiple environments; otherwise, check them in:
158
+ # .python-version
159
+
160
+ # pipenv
161
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
162
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
163
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
164
+ # install all needed dependencies.
165
+ #Pipfile.lock
166
+
167
+ # poetry
168
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
169
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
170
+ # commonly ignored for libraries.
171
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
172
+ #poetry.lock
173
+
174
+ # pdm
175
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
176
+ #pdm.lock
177
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
178
+ # in version control.
179
+ # https://pdm.fming.dev/#use-with-ide
180
+ .pdm.toml
181
+
182
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
183
+ __pypackages__/
184
+
185
+ # Celery stuff
186
+ celerybeat-schedule
187
+ celerybeat.pid
188
+
189
+ # SageMath parsed files
190
+ *.sage.py
191
+
192
+ # Environments
193
+ .env
194
+ .venv
195
+ env/
196
+ venv/
197
+ ENV/
198
+ env.bak/
199
+ venv.bak/
200
+
201
+ # Spyder project settings
202
+ .spyderproject
203
+ .spyproject
204
+
205
+ # Rope project settings
206
+ .ropeproject
207
+
208
+ # mkdocs documentation
209
+ /site
210
+
211
+ # mypy
212
+ .mypy_cache/
213
+ .dmypy.json
214
+ dmypy.json
215
+
216
+ # Pyre type checker
217
+ .pyre/
218
+
219
+ # pytype static type analyzer
220
+ .pytype/
221
+
222
+ # Cython debug symbols
223
+ cython_debug/
224
+
225
+ # PyCharm
226
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
227
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
228
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
229
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
230
+ #.idea/
231
+
232
+ ### Python Patch ###
233
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
234
+ #poetry.toml
235
+
236
+ # ruff
237
+ .ruff_cache/
238
+
239
+ # LSP config files
240
+ pyrightconfig.json
241
+
242
+ ### VisualStudioCode ###
243
+ .vscode/*
244
+ !.vscode/settings.json
245
+ !.vscode/tasks.json
246
+ !.vscode/launch.json
247
+ !.vscode/extensions.json
248
+ !.vscode/*.code-snippets
249
+
250
+ # Local History for Visual Studio Code
251
+ .history/
252
+
253
+ # Built Visual Studio Code Extensions
254
+ *.vsix
255
+
256
+ ### VisualStudioCode Patch ###
257
+ # Ignore all local history of files
258
+ .history
259
+ .ionide
260
+
261
+ ### Windows ###
262
+ # Windows thumbnail cache files
263
+ Thumbs.db
264
+ Thumbs.db:encryptable
265
+ ehthumbs.db
266
+ ehthumbs_vista.db
267
+
268
+ # Dump file
269
+ *.stackdump
270
+
271
+ # Folder config file
272
+ [Dd]esktop.ini
273
+
274
+ # Recycle Bin used on file shares
275
+ $RECYCLE.BIN/
276
+
277
+ # Windows Installer files
278
+ *.cab
279
+ *.msi
280
+ *.msix
281
+ *.msm
282
+ *.msp
283
+
284
+ # Windows shortcuts
285
+ *.lnk
286
+
287
+ # End of https://www.toptal.com/developers/gitignore/api/linux,git,python,visualstudiocode,macos,windows
@@ -0,0 +1,60 @@
1
+ default_stages: [pre-commit]
2
+ fail_fast: true
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v5.0.0
6
+ hooks:
7
+ - id: trailing-whitespace
8
+ - id: end-of-file-fixer
9
+
10
+ - repo: https://github.com/lasuillard/pre-commit-hooks
11
+ rev: v0.4.1
12
+ hooks:
13
+ - id: source-matching-test
14
+ args:
15
+ - --source
16
+ - aws_annoying
17
+ - --create-if-not-exists
18
+ - --extend-exclude
19
+ - utils/debugger.py
20
+ - --extend-exclude
21
+ - main.py
22
+ - id: test-matching-source
23
+ args:
24
+ - --target
25
+ - aws_annoying
26
+ - --extend-exclude
27
+ - "**/conftest.py"
28
+ - --extend-exclude
29
+ - _*/**/*.py
30
+ - id: preferred-suffix
31
+ args: [--rename]
32
+
33
+ - repo: local
34
+ hooks:
35
+ - id: ruff-check
36
+ name: Fix using Ruff
37
+ language: system
38
+ types: [python]
39
+ entry: uv run ruff check
40
+ args: [--fix]
41
+
42
+ - id: ruff-format
43
+ name: Format using Ruff
44
+ language: system
45
+ types: [python]
46
+ entry: uv run ruff format
47
+
48
+ - id: mypy
49
+ name: Type check with Mypy
50
+ language: system
51
+ types: [python]
52
+ entry: uv run mypy
53
+ args: [--show-error-codes, --pretty]
54
+
55
+ - id: pytest
56
+ name: Test with pytest
57
+ language: system
58
+ types: [python]
59
+ pass_filenames: false
60
+ entry: uv run pytest
@@ -0,0 +1 @@
1
+ 3.9