yamlruff 0.0.1__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.

Potentially problematic release.


This version of yamlruff might be problematic. Click here for more details.

Files changed (108) hide show
  1. yamlruff-0.0.1/.github/workflows/ci.yml +33 -0
  2. yamlruff-0.0.1/.github/workflows/release.yml +95 -0
  3. yamlruff-0.0.1/.github/workflows/yamllint-latest.yml +54 -0
  4. yamlruff-0.0.1/.gitignore +239 -0
  5. yamlruff-0.0.1/Cargo.lock +599 -0
  6. yamlruff-0.0.1/Cargo.toml +44 -0
  7. yamlruff-0.0.1/LICENSE +674 -0
  8. yamlruff-0.0.1/PKG-INFO +78 -0
  9. yamlruff-0.0.1/PLAN.md +345 -0
  10. yamlruff-0.0.1/README.md +59 -0
  11. yamlruff-0.0.1/pyproject.toml +29 -0
  12. yamlruff-0.0.1/rust-toolchain.toml +3 -0
  13. yamlruff-0.0.1/rustfmt.toml +1 -0
  14. yamlruff-0.0.1/scripts/extract_rule_tests.py +118 -0
  15. yamlruff-0.0.1/scripts/extract_yamlfix_tests.py +79 -0
  16. yamlruff-0.0.1/scripts/gen_cli_fixtures.py +158 -0
  17. yamlruff-0.0.1/scripts/gen_config_fixtures.py +261 -0
  18. yamlruff-0.0.1/scripts/gen_event_fixtures.py +170 -0
  19. yamlruff-0.0.1/scripts/gen_lint_fixtures.py +624 -0
  20. yamlruff-0.0.1/scripts/gen_parser_fixtures.py +111 -0
  21. yamlruff-0.0.1/scripts/gen_scanner_fixtures.py +278 -0
  22. yamlruff-0.0.1/scripts/gen_yamlfix_fixtures.py +95 -0
  23. yamlruff-0.0.1/scripts/publish_local.sh +78 -0
  24. yamlruff-0.0.1/scripts/reference.py +25 -0
  25. yamlruff-0.0.1/scripts/requirements.txt +4 -0
  26. yamlruff-0.0.1/src/cli.rs +446 -0
  27. yamlruff-0.0.1/src/collate.rs +67 -0
  28. yamlruff-0.0.1/src/config/conf/default.yaml +35 -0
  29. yamlruff-0.0.1/src/config/conf/relaxed.yaml +29 -0
  30. yamlruff-0.0.1/src/config/discovery.rs +159 -0
  31. yamlruff-0.0.1/src/config/fixconf.rs +163 -0
  32. yamlruff-0.0.1/src/config/mod.rs +469 -0
  33. yamlruff-0.0.1/src/config/pathspec.rs +313 -0
  34. yamlruff-0.0.1/src/config/pyproject.rs +138 -0
  35. yamlruff-0.0.1/src/config/schema.rs +355 -0
  36. yamlruff-0.0.1/src/config/value.rs +623 -0
  37. yamlruff-0.0.1/src/diagnostic.rs +83 -0
  38. yamlruff-0.0.1/src/files.rs +207 -0
  39. yamlruff-0.0.1/src/fix.rs +175 -0
  40. yamlruff-0.0.1/src/fixer.rs +220 -0
  41. yamlruff-0.0.1/src/format.rs +747 -0
  42. yamlruff-0.0.1/src/lib.rs +18 -0
  43. yamlruff-0.0.1/src/linter.rs +458 -0
  44. yamlruff-0.0.1/src/main.rs +216 -0
  45. yamlruff-0.0.1/src/migrate.rs +416 -0
  46. yamlruff-0.0.1/src/output.rs +223 -0
  47. yamlruff-0.0.1/src/parser.rs +383 -0
  48. yamlruff-0.0.1/src/rule_docs.rs +243 -0
  49. yamlruff-0.0.1/src/rules/anchors.rs +177 -0
  50. yamlruff-0.0.1/src/rules/braces.rs +25 -0
  51. yamlruff-0.0.1/src/rules/brackets.rs +25 -0
  52. yamlruff-0.0.1/src/rules/colons.rs +54 -0
  53. yamlruff-0.0.1/src/rules/commas.rs +50 -0
  54. yamlruff-0.0.1/src/rules/comments.rs +57 -0
  55. yamlruff-0.0.1/src/rules/comments_indentation.rs +65 -0
  56. yamlruff-0.0.1/src/rules/common.rs +226 -0
  57. yamlruff-0.0.1/src/rules/document_end.rs +62 -0
  58. yamlruff-0.0.1/src/rules/document_start.rs +55 -0
  59. yamlruff-0.0.1/src/rules/empty_lines.rs +76 -0
  60. yamlruff-0.0.1/src/rules/empty_values.rs +45 -0
  61. yamlruff-0.0.1/src/rules/float_values.rs +173 -0
  62. yamlruff-0.0.1/src/rules/flow.rs +91 -0
  63. yamlruff-0.0.1/src/rules/hyphens.rs +28 -0
  64. yamlruff-0.0.1/src/rules/indentation.rs +641 -0
  65. yamlruff-0.0.1/src/rules/key_duplicates.rs +296 -0
  66. yamlruff-0.0.1/src/rules/key_ordering.rs +326 -0
  67. yamlruff-0.0.1/src/rules/line_length.rs +275 -0
  68. yamlruff-0.0.1/src/rules/mod.rs +185 -0
  69. yamlruff-0.0.1/src/rules/new_line_at_end_of_file.rs +50 -0
  70. yamlruff-0.0.1/src/rules/new_lines.rs +52 -0
  71. yamlruff-0.0.1/src/rules/octal_values.rs +76 -0
  72. yamlruff-0.0.1/src/rules/quoted_strings.rs +288 -0
  73. yamlruff-0.0.1/src/rules/trailing_spaces.rs +73 -0
  74. yamlruff-0.0.1/src/rules/truthy.rs +139 -0
  75. yamlruff-0.0.1/src/semantic.rs +337 -0
  76. yamlruff-0.0.1/src/yaml/error.rs +192 -0
  77. yamlruff-0.0.1/src/yaml/mod.rs +24 -0
  78. yamlruff-0.0.1/src/yaml/parser.rs +977 -0
  79. yamlruff-0.0.1/src/yaml/reader.rs +133 -0
  80. yamlruff-0.0.1/src/yaml/scanner.rs +1647 -0
  81. yamlruff-0.0.1/src/yaml/tokens.rs +169 -0
  82. yamlruff-0.0.1/tests/cli_parity.rs +95 -0
  83. yamlruff-0.0.1/tests/config_parity.rs +205 -0
  84. yamlruff-0.0.1/tests/event_parity.rs +145 -0
  85. yamlruff-0.0.1/tests/fix_examples.rs +466 -0
  86. yamlruff-0.0.1/tests/fix_properties.rs +400 -0
  87. yamlruff-0.0.1/tests/fixtures/README.md +10 -0
  88. yamlruff-0.0.1/tests/fixtures/cli/scenarios.jsonl +54 -0
  89. yamlruff-0.0.1/tests/fixtures/config/cases.jsonl +1434 -0
  90. yamlruff-0.0.1/tests/fixtures/config/pathspec.jsonl +71 -0
  91. yamlruff-0.0.1/tests/fixtures/fix/yamlfix_cases.jsonl +83 -0
  92. yamlruff-0.0.1/tests/fixtures/fix/yamlfix_corpus.jsonl +3348 -0
  93. yamlruff-0.0.1/tests/fixtures/fix/yamlfix_known_diffs.txt +7 -0
  94. yamlruff-0.0.1/tests/fixtures/lint/cases.jsonl +902 -0
  95. yamlruff-0.0.1/tests/fixtures/parser/cases.jsonl +405 -0
  96. yamlruff-0.0.1/tests/fixtures/parser/events.jsonl +560 -0
  97. yamlruff-0.0.1/tests/fixtures/rules/upstream.jsonl +1033 -0
  98. yamlruff-0.0.1/tests/fixtures/scanner/cases.jsonl +405 -0
  99. yamlruff-0.0.1/tests/fixtures/trailing-spaces/basic/exit_code +1 -0
  100. yamlruff-0.0.1/tests/fixtures/trailing-spaces/basic/expected.txt +2 -0
  101. yamlruff-0.0.1/tests/fixtures/trailing-spaces/basic/input.yaml +2 -0
  102. yamlruff-0.0.1/tests/lint_parity.rs +67 -0
  103. yamlruff-0.0.1/tests/no_panic.rs +193 -0
  104. yamlruff-0.0.1/tests/parser_parity.rs +108 -0
  105. yamlruff-0.0.1/tests/scanner_parity.rs +117 -0
  106. yamlruff-0.0.1/tests/upstream_parity.rs +84 -0
  107. yamlruff-0.0.1/tests/yamlfix_acceptance.rs +147 -0
  108. yamlruff-0.0.1/tests/yamlfix_corpus.rs +99 -0
@@ -0,0 +1,33 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ env:
9
+ CARGO_TERM_COLOR: always
10
+
11
+ jobs:
12
+ check:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: dtolnay/rust-toolchain@stable
17
+ with:
18
+ components: rustfmt, clippy
19
+ - uses: Swatinem/rust-cache@v2
20
+ - run: cargo fmt --all --check
21
+ - run: cargo clippy --all-targets -- -D warnings
22
+
23
+ test:
24
+ strategy:
25
+ fail-fast: false
26
+ matrix:
27
+ os: [ubuntu-latest, macos-latest, windows-latest]
28
+ runs-on: ${{ matrix.os }}
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - uses: dtolnay/rust-toolchain@stable
32
+ - uses: Swatinem/rust-cache@v2
33
+ - run: cargo test --all-targets
@@ -0,0 +1,95 @@
1
+ name: Release
2
+
3
+ # Push a tag `vX.Y.Z` that matches the version in Cargo.toml.
4
+ on:
5
+ push:
6
+ tags: ["v*"]
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ check-version:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - name: Tag matches Cargo.toml
18
+ if: startsWith(github.ref, 'refs/tags/v')
19
+ run: |
20
+ version=$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -n1)
21
+ test "v$version" = "${GITHUB_REF_NAME}" || {
22
+ echo "tag ${GITHUB_REF_NAME} != Cargo.toml version v$version"; exit 1; }
23
+
24
+ wheels:
25
+ needs: check-version
26
+ strategy:
27
+ fail-fast: false
28
+ matrix:
29
+ include:
30
+ - { os: ubuntu-latest, target: x86_64-unknown-linux-gnu, manylinux: auto }
31
+ - { os: ubuntu-latest, target: aarch64-unknown-linux-gnu, manylinux: auto }
32
+ - { os: ubuntu-latest, target: x86_64-unknown-linux-musl, manylinux: musllinux_1_2 }
33
+ - { os: ubuntu-latest, target: aarch64-unknown-linux-musl, manylinux: musllinux_1_2 }
34
+ - { os: macos-13, target: x86_64-apple-darwin, manylinux: auto }
35
+ - { os: macos-latest, target: aarch64-apple-darwin, manylinux: auto }
36
+ - { os: windows-latest, target: x86_64-pc-windows-msvc, manylinux: auto }
37
+ - { os: windows-latest, target: aarch64-pc-windows-msvc, manylinux: auto }
38
+ runs-on: ${{ matrix.os }}
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+ - uses: PyO3/maturin-action@v1
42
+ with:
43
+ target: ${{ matrix.target }}
44
+ manylinux: ${{ matrix.manylinux }}
45
+ args: --release --locked --out dist
46
+ - uses: actions/upload-artifact@v4
47
+ with:
48
+ name: wheels-${{ matrix.target }}
49
+ path: dist
50
+
51
+ sdist:
52
+ needs: check-version
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+ - uses: PyO3/maturin-action@v1
57
+ with:
58
+ command: sdist
59
+ args: --out dist
60
+ - uses: actions/upload-artifact@v4
61
+ with:
62
+ name: sdist
63
+ path: dist
64
+
65
+ publish-pypi:
66
+ if: startsWith(github.ref, 'refs/tags/v')
67
+ needs: [wheels, sdist]
68
+ runs-on: ubuntu-latest
69
+ environment: pypi
70
+ permissions:
71
+ id-token: write # PyPI trusted publishing
72
+ steps:
73
+ - uses: actions/download-artifact@v4
74
+ with:
75
+ path: dist
76
+ merge-multiple: true
77
+ - uses: pypa/gh-action-pypi-publish@release/v1
78
+
79
+ github-release:
80
+ if: startsWith(github.ref, 'refs/tags/v')
81
+ needs: [wheels, sdist]
82
+ runs-on: ubuntu-latest
83
+ permissions:
84
+ contents: write
85
+ steps:
86
+ - uses: actions/download-artifact@v4
87
+ with:
88
+ path: dist
89
+ merge-multiple: true
90
+ - name: Checksums
91
+ run: cd dist && sha256sum * > SHA256SUMS
92
+ - uses: softprops/action-gh-release@v2
93
+ with:
94
+ files: dist/*
95
+ generate_release_notes: true
@@ -0,0 +1,54 @@
1
+ name: upstream latest
2
+
3
+ # Non-blocking early warning: regenerate every fixture from the *latest*
4
+ # yamllint, PyYAML and yamlfix and replay them. The blocking baseline is the pinned
5
+ # versions in scripts/requirements.txt, whose fixtures are committed and run by
6
+ # the CI workflow. A failure here means upstream changed behaviour: decide
7
+ # whether to follow it, then bump the pin and the committed fixtures.
8
+
9
+ on:
10
+ schedule:
11
+ - cron: "17 5 * * 1"
12
+ workflow_dispatch:
13
+
14
+ env:
15
+ CARGO_TERM_COLOR: always
16
+
17
+ jobs:
18
+ parity:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ - uses: dtolnay/rust-toolchain@stable
23
+ - uses: Swatinem/rust-cache@v2
24
+ - uses: actions/setup-python@v5
25
+ with:
26
+ python-version: "3.12"
27
+ - name: Install the latest yamllint and PyYAML
28
+ run: |
29
+ python -m venv .venv
30
+ .venv/bin/pip install --upgrade yamllint pyyaml
31
+ .venv/bin/python -c "import yamllint, yaml; print('yamllint', yamllint.APP_VERSION, 'PyYAML', yaml.__version__)"
32
+ - name: Regenerate the recorded fixtures (in the working tree only)
33
+ run: |
34
+ .venv/bin/python scripts/gen_scanner_fixtures.py --count 2000
35
+ .venv/bin/python scripts/gen_event_fixtures.py --count 2000
36
+ .venv/bin/python scripts/gen_parser_fixtures.py --count 2000
37
+ .venv/bin/python scripts/gen_config_fixtures.py
38
+ .venv/bin/python scripts/gen_lint_fixtures.py --count 2000
39
+ .venv/bin/python scripts/gen_cli_fixtures.py
40
+ - name: Extract yamllint's own rule tests from the matching sdist
41
+ run: |
42
+ VERSION=$(.venv/bin/python -c "import yamllint; print(yamllint.APP_VERSION)")
43
+ mkdir sdist
44
+ .venv/bin/pip download "yamllint==$VERSION" --no-deps --no-binary :all: --no-build-isolation -d sdist
45
+ tar -xzf sdist/yamllint-*.tar.gz -C sdist
46
+ .venv/bin/python scripts/extract_rule_tests.py sdist/yamllint-$VERSION
47
+ - name: Record the latest yamlfix on its own tests and on the corpus
48
+ run: |
49
+ .venv/bin/pip install --upgrade yamlfix pytest
50
+ .venv/bin/pip download yamlfix --no-deps --no-binary :all: --no-build-isolation -d sdist-yamlfix
51
+ tar -xzf sdist-yamlfix/yamlfix-*.tar.gz -C sdist-yamlfix
52
+ .venv/bin/python scripts/extract_yamlfix_tests.py sdist-yamlfix/yamlfix-*/
53
+ PYTHONPATH=scripts .venv/bin/python scripts/gen_yamlfix_fixtures.py --count 600
54
+ - run: cargo test --all-targets
@@ -0,0 +1,239 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/macos,windows,linux,rust,direnv,dotenv,visualstudiocode,intellij
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=macos,windows,linux,rust,direnv,dotenv,visualstudiocode,intellij
3
+
4
+ ### direnv ###
5
+ .direnv
6
+ .envrc
7
+
8
+ ### dotenv ###
9
+ .env
10
+
11
+ ### Intellij ###
12
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
13
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
14
+
15
+ # User-specific stuff
16
+ .idea/**/workspace.xml
17
+ .idea/**/tasks.xml
18
+ .idea/**/usage.statistics.xml
19
+ .idea/**/dictionaries
20
+ .idea/**/shelf
21
+
22
+ # AWS User-specific
23
+ .idea/**/aws.xml
24
+
25
+ # Generated files
26
+ .idea/**/contentModel.xml
27
+
28
+ # Sensitive or high-churn files
29
+ .idea/**/dataSources/
30
+ .idea/**/dataSources.ids
31
+ .idea/**/dataSources.local.xml
32
+ .idea/**/sqlDataSources.xml
33
+ .idea/**/dynamic.xml
34
+ .idea/**/uiDesigner.xml
35
+ .idea/**/dbnavigator.xml
36
+
37
+ # Gradle
38
+ .idea/**/gradle.xml
39
+ .idea/**/libraries
40
+
41
+ # Gradle and Maven with auto-import
42
+ # When using Gradle or Maven with auto-import, you should exclude module files,
43
+ # since they will be recreated, and may cause churn. Uncomment if using
44
+ # auto-import.
45
+ # .idea/artifacts
46
+ # .idea/compiler.xml
47
+ # .idea/jarRepositories.xml
48
+ # .idea/modules.xml
49
+ # .idea/*.iml
50
+ # .idea/modules
51
+ # *.iml
52
+ # *.ipr
53
+
54
+ # CMake
55
+ cmake-build-*/
56
+
57
+ # Mongo Explorer plugin
58
+ .idea/**/mongoSettings.xml
59
+
60
+ # File-based project format
61
+ *.iws
62
+
63
+ # IntelliJ
64
+ out/
65
+
66
+ # mpeltonen/sbt-idea plugin
67
+ .idea_modules/
68
+
69
+ # JIRA plugin
70
+ atlassian-ide-plugin.xml
71
+
72
+ # Cursive Clojure plugin
73
+ .idea/replstate.xml
74
+
75
+ # SonarLint plugin
76
+ .idea/sonarlint/
77
+
78
+ # Crashlytics plugin (for Android Studio and IntelliJ)
79
+ com_crashlytics_export_strings.xml
80
+ crashlytics.properties
81
+ crashlytics-build.properties
82
+ fabric.properties
83
+
84
+ # Editor-based Rest Client
85
+ .idea/httpRequests
86
+
87
+ # Android studio 3.1+ serialized cache file
88
+ .idea/caches/build_file_checksums.ser
89
+
90
+ ### Intellij Patch ###
91
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
92
+
93
+ # *.iml
94
+ # modules.xml
95
+ # .idea/misc.xml
96
+ # *.ipr
97
+
98
+ # Sonarlint plugin
99
+ # https://plugins.jetbrains.com/plugin/7973-sonarlint
100
+ .idea/**/sonarlint/
101
+
102
+ # SonarQube Plugin
103
+ # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
104
+ .idea/**/sonarIssues.xml
105
+
106
+ # Markdown Navigator plugin
107
+ # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
108
+ .idea/**/markdown-navigator.xml
109
+ .idea/**/markdown-navigator-enh.xml
110
+ .idea/**/markdown-navigator/
111
+
112
+ # Cache file creation bug
113
+ # See https://youtrack.jetbrains.com/issue/JBR-2257
114
+ .idea/$CACHE_FILE$
115
+
116
+ # CodeStream plugin
117
+ # https://plugins.jetbrains.com/plugin/12206-codestream
118
+ .idea/codestream.xml
119
+
120
+ # Azure Toolkit for IntelliJ plugin
121
+ # https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
122
+ .idea/**/azureSettings.xml
123
+
124
+ ### Linux ###
125
+ *~
126
+
127
+ # temporary files which can be created if a process still has a handle open of a deleted file
128
+ .fuse_hidden*
129
+
130
+ # KDE directory preferences
131
+ .directory
132
+
133
+ # Linux trash folder which might appear on any partition or disk
134
+ .Trash-*
135
+
136
+ # .nfs files are created when an open file is removed but is still being accessed
137
+ .nfs*
138
+
139
+ ### macOS ###
140
+ # General
141
+ .DS_Store
142
+ .AppleDouble
143
+ .LSOverride
144
+
145
+ # Icon must end with two \r
146
+ Icon
147
+
148
+
149
+ # Thumbnails
150
+ ._*
151
+
152
+ # Files that might appear in the root of a volume
153
+ .DocumentRevisions-V100
154
+ .fseventsd
155
+ .Spotlight-V100
156
+ .TemporaryItems
157
+ .Trashes
158
+ .VolumeIcon.icns
159
+ .com.apple.timemachine.donotpresent
160
+
161
+ # Directories potentially created on remote AFP share
162
+ .AppleDB
163
+ .AppleDesktop
164
+ Network Trash Folder
165
+ Temporary Items
166
+ .apdisk
167
+
168
+ ### macOS Patch ###
169
+ # iCloud generated files
170
+ *.icloud
171
+
172
+ ### Rust ###
173
+ # Generated by Cargo
174
+ # will have compiled files and executables
175
+ debug/
176
+ target/
177
+
178
+ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
179
+ # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
180
+ Cargo.lock
181
+
182
+ # These are backup files generated by rustfmt
183
+ **/*.rs.bk
184
+
185
+ # MSVC Windows builds of rustc generate these, which store debugging information
186
+ *.pdb
187
+
188
+ ### VisualStudioCode ###
189
+ .vscode/*
190
+ !.vscode/settings.json
191
+ !.vscode/tasks.json
192
+ !.vscode/launch.json
193
+ !.vscode/extensions.json
194
+ !.vscode/*.code-snippets
195
+
196
+ # Local History for Visual Studio Code
197
+ .history/
198
+
199
+ # Built Visual Studio Code Extensions
200
+ *.vsix
201
+
202
+ ### VisualStudioCode Patch ###
203
+ # Ignore all local history of files
204
+ .history
205
+ .ionide
206
+
207
+ ### Windows ###
208
+ # Windows thumbnail cache files
209
+ Thumbs.db
210
+ Thumbs.db:encryptable
211
+ ehthumbs.db
212
+ ehthumbs_vista.db
213
+
214
+ # Dump file
215
+ *.stackdump
216
+
217
+ # Folder config file
218
+ [Dd]esktop.ini
219
+
220
+ # Recycle Bin used on file shares
221
+ $RECYCLE.BIN/
222
+
223
+ # Windows Installer files
224
+ *.cab
225
+ *.msi
226
+ *.msix
227
+ *.msm
228
+ *.msp
229
+
230
+ # Windows shortcuts
231
+ *.lnk
232
+
233
+ # End of https://www.toptal.com/developers/gitignore/api/macos,windows,linux,rust,direnv,dotenv,visualstudiocode,intellij
234
+
235
+ # yamlruff
236
+ !Cargo.lock
237
+ .venv/
238
+ __pycache__/
239
+ dist/