multiregex 2.0.3__tar.gz → 2.0.4__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 (46) hide show
  1. multiregex-2.0.4/.copier-answers.yml +13 -0
  2. multiregex-2.0.4/.gitattributes +1 -0
  3. {multiregex-2.0.3 → multiregex-2.0.4}/.github/CODEOWNERS +0 -1
  4. multiregex-2.0.4/.github/dependabot.yml +14 -0
  5. {multiregex-2.0.3 → multiregex-2.0.4}/.github/workflows/build.yml +10 -11
  6. multiregex-2.0.4/.github/workflows/ci.yml +58 -0
  7. multiregex-2.0.4/.github/workflows/scorecard.yml +79 -0
  8. multiregex-2.0.4/.gitignore +383 -0
  9. {multiregex-2.0.3 → multiregex-2.0.4}/.pre-commit-config.yaml +22 -18
  10. multiregex-2.0.4/.prettierrc +7 -0
  11. {multiregex-2.0.3 → multiregex-2.0.4}/CHANGELOG.rst +2 -0
  12. {multiregex-2.0.3 → multiregex-2.0.4}/PKG-INFO +12 -10
  13. {multiregex-2.0.3 → multiregex-2.0.4}/README.md +5 -5
  14. multiregex-2.0.4/SECURITY.md +7 -0
  15. {multiregex-2.0.3 → multiregex-2.0.4}/docs/conf.py +1 -1
  16. {multiregex-2.0.3 → multiregex-2.0.4}/docs/make.bat +35 -35
  17. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex/__init__.py +10 -15
  18. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex.egg-info/PKG-INFO +12 -10
  19. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex.egg-info/SOURCES.txt +4 -0
  20. multiregex-2.0.4/pixi.lock +6900 -0
  21. {multiregex-2.0.3 → multiregex-2.0.4}/pixi.toml +23 -15
  22. {multiregex-2.0.3 → multiregex-2.0.4}/pyproject.toml +29 -29
  23. {multiregex-2.0.3 → multiregex-2.0.4}/stubs/ahocorasick.pyi +2 -1
  24. multiregex-2.0.3/.gitattributes +0 -8
  25. multiregex-2.0.3/.github/dependabot.yml +0 -8
  26. multiregex-2.0.3/.github/workflows/ci.yml +0 -60
  27. multiregex-2.0.3/.gitignore +0 -127
  28. multiregex-2.0.3/pixi.lock +0 -4161
  29. {multiregex-2.0.3 → multiregex-2.0.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  30. {multiregex-2.0.3 → multiregex-2.0.4}/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
  31. {multiregex-2.0.3 → multiregex-2.0.4}/.github/pull_request_template.md +0 -0
  32. {multiregex-2.0.3 → multiregex-2.0.4}/LICENSE +0 -0
  33. {multiregex-2.0.3 → multiregex-2.0.4}/docs/Makefile +0 -0
  34. {multiregex-2.0.3 → multiregex-2.0.4}/docs/changelog.rst +0 -0
  35. {multiregex-2.0.3 → multiregex-2.0.4}/docs/index.rst +0 -0
  36. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex/py.typed +0 -0
  37. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex.egg-info/dependency_links.txt +0 -0
  38. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex.egg-info/requires.txt +0 -0
  39. {multiregex-2.0.3 → multiregex-2.0.4}/multiregex.egg-info/top_level.txt +0 -0
  40. {multiregex-2.0.3 → multiregex-2.0.4}/setup.cfg +0 -0
  41. {multiregex-2.0.3 → multiregex-2.0.4}/test_utils/__init__.py +0 -0
  42. {multiregex-2.0.3 → multiregex-2.0.4}/test_utils/cpython_test_re.py +0 -0
  43. {multiregex-2.0.3 → multiregex-2.0.4}/tests/conftest.py +0 -0
  44. {multiregex-2.0.3 → multiregex-2.0.4}/tests/test_bench.py +0 -0
  45. {multiregex-2.0.3 → multiregex-2.0.4}/tests/test_cpython_tests.py +0 -0
  46. {multiregex-2.0.3 → multiregex-2.0.4}/tests/test_multiregex.py +0 -0
@@ -0,0 +1,13 @@
1
+ # This file is managed by Copier; DO NOT EDIT OR REMOVE.
2
+ _commit: v0.4.1
3
+ _src_path: https://github.com/quantco/copier-template-python-open-source
4
+ add_autobump_workflow: false
5
+ author_email: noreply@quantco.com
6
+ author_name: QuantCo, Inc.
7
+ github_url: https://github.com/quantco/multiregex
8
+ github_user: pavelzw
9
+ minimal_python_version: py39
10
+ project_short_description: Quickly match many regexes against a string. Provides 2-10x
11
+ speedups over naïve regex matching.
12
+ project_slug: multiregex
13
+ use_devcontainer: false
@@ -0,0 +1 @@
1
+ pixi.lock merge=binary linguist-language=YAML linguist-generated=true
@@ -1,2 +1 @@
1
- * @0xbe7a
2
1
  * @pavelzw
@@ -0,0 +1,14 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: github-actions
4
+ directory: /
5
+ schedule:
6
+ interval: monthly
7
+ reviewers:
8
+ - "quantco/ci"
9
+ groups:
10
+ gh-actions:
11
+ patterns:
12
+ - "*"
13
+ cooldown:
14
+ default-days: 7
@@ -3,26 +3,29 @@ on:
3
3
  pull_request:
4
4
  push:
5
5
  branches:
6
- - "main"
6
+ - main
7
7
  tags:
8
8
  - "*"
9
9
 
10
10
  jobs:
11
11
  build:
12
12
  runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: read
13
15
  steps:
14
- - uses: actions/checkout@v4
16
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
15
17
  with:
16
- ref: ${{ github.ref }}
17
18
  fetch-depth: 0
18
19
  - name: Set up pixi
19
- uses: prefix-dev/setup-pixi@v0.8.0
20
+ uses: prefix-dev/setup-pixi@1b2de7f3351f171c8b4dfeb558c639cb58ed4ec0 # v0.9.5
20
21
  with:
21
22
  environments: build
22
23
  - name: Build project
23
24
  run: pixi run -e build build-wheel
25
+ - name: Check package
26
+ run: pixi run -e build check-wheel
24
27
  - name: Upload package
25
- uses: actions/upload-artifact@v4
28
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
26
29
  with:
27
30
  name: artifact
28
31
  path: dist/*
@@ -36,13 +39,9 @@ jobs:
36
39
  id-token: write
37
40
  environment: pypi
38
41
  steps:
39
- - uses: actions/download-artifact@v4
42
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
40
43
  with:
41
44
  name: artifact
42
45
  path: dist
43
- - name: Publish package on TestPyPi
44
- uses: pypa/gh-action-pypi-publish@81e9d935c883d0b210363ab89cf05f3894778450
45
- with:
46
- repository-url: https://test.pypi.org/legacy/
47
46
  - name: Publish package on PyPi
48
- uses: pypa/gh-action-pypi-publish@81e9d935c883d0b210363ab89cf05f3894778450
47
+ uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
@@ -0,0 +1,58 @@
1
+ name: CI
2
+ on:
3
+ pull_request:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ # Automatically stop old builds on the same branch/PR
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ pre-commit:
18
+ timeout-minutes: 30
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - name: Checkout branch
22
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23
+ - name: Set up pixi
24
+ uses: prefix-dev/setup-pixi@1b2de7f3351f171c8b4dfeb558c639cb58ed4ec0 # v0.9.5
25
+ with:
26
+ environments: default lint
27
+ - name: pre-commit
28
+ run: pixi run pre-commit-run --color=always --show-diff-on-failure
29
+
30
+ pytest:
31
+ timeout-minutes: 30
32
+ runs-on: ${{ matrix.os }}
33
+ strategy:
34
+ fail-fast: false
35
+ matrix:
36
+ environment:
37
+ - py39
38
+ - py310
39
+ - py311
40
+ - py312
41
+ - py313
42
+ os:
43
+ - ubuntu-latest
44
+ - macos-latest
45
+ - windows-latest
46
+ steps:
47
+ - name: Checkout branch
48
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
49
+ with:
50
+ fetch-depth: 0
51
+ - name: Set up pixi
52
+ uses: prefix-dev/setup-pixi@1b2de7f3351f171c8b4dfeb558c639cb58ed4ec0 # v0.9.5
53
+ with:
54
+ environments: ${{ matrix.environment }}
55
+ - name: Install repository
56
+ run: pixi run -e ${{ matrix.environment }} postinstall
57
+ - name: Run pytest
58
+ run: pixi run -e ${{ matrix.environment }} test-coverage --color=yes
@@ -0,0 +1,79 @@
1
+ # This workflow uses actions that are not certified by GitHub. They are provided
2
+ # by a third-party and are governed by separate terms of service, privacy
3
+ # policy, and support documentation.
4
+
5
+ name: Scorecard supply-chain security
6
+ on:
7
+ # For Branch-Protection check. Only the default branch is supported. See
8
+ # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
9
+ branch_protection_rule:
10
+ # To guarantee Maintained check is occasionally updated. See
11
+ # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
12
+ schedule:
13
+ - cron: "34 5 * * 0"
14
+ workflow_dispatch:
15
+ push:
16
+ branches: ["main"]
17
+
18
+ # Declare default permissions as read only.
19
+ permissions: read-all
20
+
21
+ jobs:
22
+ analysis:
23
+ name: Scorecard analysis
24
+ runs-on: ubuntu-latest
25
+ # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled.
26
+ if: (github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request') && github.repository == 'Quantco/multiregex'
27
+ permissions:
28
+ # Needed to upload the results to code-scanning dashboard.
29
+ security-events: write
30
+ # Needed to publish results and get a badge (see publish_results below).
31
+ id-token: write
32
+ # Uncomment the permissions below if installing in a private repository.
33
+ # contents: read
34
+ # actions: read
35
+
36
+ steps:
37
+ - name: "Checkout code"
38
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39
+ with:
40
+ persist-credentials: false
41
+
42
+ - name: "Run analysis"
43
+ uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
44
+ with:
45
+ results_file: results.sarif
46
+ results_format: sarif
47
+ # (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
48
+ # - you want to enable the Branch-Protection check on a *public* repository, or
49
+ # - you are installing Scorecard on a *private* repository
50
+ # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
51
+ # repo_token: ${{ secrets.SCORECARD_TOKEN }}
52
+
53
+ # Public repositories:
54
+ # - Publish results to OpenSSF REST API for easy access by consumers
55
+ # - Allows the repository to include the Scorecard badge.
56
+ # - See https://github.com/ossf/scorecard-action#publishing-results.
57
+ # For private repositories:
58
+ # - `publish_results` will always be set to `false`, regardless
59
+ # of the value entered here.
60
+ publish_results: true
61
+
62
+ # (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore
63
+ # file_mode: git
64
+
65
+ # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
66
+ # format to the repository Actions tab.
67
+ - name: "Upload artifact"
68
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
69
+ with:
70
+ name: SARIF file
71
+ path: results.sarif
72
+ retention-days: 5
73
+
74
+ # Upload the results to GitHub's code scanning dashboard (optional).
75
+ # Commenting out will disable upload of results to your repo's Code Scanning dashboard
76
+ - name: "Upload to code-scanning"
77
+ uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
78
+ with:
79
+ sarif_file: results.sarif
@@ -0,0 +1,383 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
3
+
4
+ ### direnv ###
5
+ .direnv
6
+ .envrc
7
+
8
+ ### Linux ###
9
+ *~
10
+
11
+ # temporary files which can be created if a process still has a handle open of a deleted file
12
+ .fuse_hidden*
13
+
14
+ # KDE directory preferences
15
+ .directory
16
+
17
+ # Linux trash folder which might appear on any partition or disk
18
+ .Trash-*
19
+
20
+ # .nfs files are created when an open file is removed but is still being accessed
21
+ .nfs*
22
+
23
+ ### macOS ###
24
+ # General
25
+ .DS_Store
26
+ .AppleDouble
27
+ .LSOverride
28
+
29
+ # Icon must end with two \r
30
+ Icon
31
+
32
+
33
+ # Thumbnails
34
+ ._*
35
+
36
+ # Files that might appear in the root of a volume
37
+ .DocumentRevisions-V100
38
+ .fseventsd
39
+ .Spotlight-V100
40
+ .TemporaryItems
41
+ .Trashes
42
+ .VolumeIcon.icns
43
+ .com.apple.timemachine.donotpresent
44
+
45
+ # Directories potentially created on remote AFP share
46
+ .AppleDB
47
+ .AppleDesktop
48
+ Network Trash Folder
49
+ Temporary Items
50
+ .apdisk
51
+
52
+ ### macOS Patch ###
53
+ # iCloud generated files
54
+ *.icloud
55
+
56
+ ### PyCharm+all ###
57
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
58
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
59
+
60
+ # User-specific stuff
61
+ .idea/**/workspace.xml
62
+ .idea/**/tasks.xml
63
+ .idea/**/usage.statistics.xml
64
+ .idea/**/dictionaries
65
+ .idea/**/shelf
66
+
67
+ # AWS User-specific
68
+ .idea/**/aws.xml
69
+
70
+ # Generated files
71
+ .idea/**/contentModel.xml
72
+
73
+ # Sensitive or high-churn files
74
+ .idea/**/dataSources/
75
+ .idea/**/dataSources.ids
76
+ .idea/**/dataSources.local.xml
77
+ .idea/**/sqlDataSources.xml
78
+ .idea/**/dynamic.xml
79
+ .idea/**/uiDesigner.xml
80
+ .idea/**/dbnavigator.xml
81
+
82
+ # Gradle
83
+ .idea/**/gradle.xml
84
+ .idea/**/libraries
85
+
86
+ # Gradle and Maven with auto-import
87
+ # When using Gradle or Maven with auto-import, you should exclude module files,
88
+ # since they will be recreated, and may cause churn. Uncomment if using
89
+ # auto-import.
90
+ # .idea/artifacts
91
+ # .idea/compiler.xml
92
+ # .idea/jarRepositories.xml
93
+ # .idea/modules.xml
94
+ # .idea/*.iml
95
+ # .idea/modules
96
+ # *.iml
97
+ # *.ipr
98
+
99
+ # CMake
100
+ cmake-build-*/
101
+
102
+ # Mongo Explorer plugin
103
+ .idea/**/mongoSettings.xml
104
+
105
+ # File-based project format
106
+ *.iws
107
+
108
+ # IntelliJ
109
+ out/
110
+
111
+ # mpeltonen/sbt-idea plugin
112
+ .idea_modules/
113
+
114
+ # JIRA plugin
115
+ atlassian-ide-plugin.xml
116
+
117
+ # Cursive Clojure plugin
118
+ .idea/replstate.xml
119
+
120
+ # SonarLint plugin
121
+ .idea/sonarlint/
122
+
123
+ # Crashlytics plugin (for Android Studio and IntelliJ)
124
+ com_crashlytics_export_strings.xml
125
+ crashlytics.properties
126
+ crashlytics-build.properties
127
+ fabric.properties
128
+
129
+ # Editor-based Rest Client
130
+ .idea/httpRequests
131
+
132
+ # Android studio 3.1+ serialized cache file
133
+ .idea/caches/build_file_checksums.ser
134
+
135
+ ### PyCharm+all Patch ###
136
+ # Ignore everything but code style settings and run configurations
137
+ # that are supposed to be shared within teams.
138
+
139
+ .idea/*
140
+
141
+ !.idea/codeStyles
142
+ !.idea/runConfigurations
143
+
144
+ ### Python ###
145
+ # Byte-compiled / optimized / DLL files
146
+ __pycache__/
147
+ *.py[cod]
148
+ *$py.class
149
+
150
+ # C extensions
151
+ *.so
152
+
153
+ # Distribution / packaging
154
+ .Python
155
+ build/
156
+ develop-eggs/
157
+ dist/
158
+ downloads/
159
+ eggs/
160
+ .eggs/
161
+ lib/
162
+ lib64/
163
+ parts/
164
+ sdist/
165
+ var/
166
+ wheels/
167
+ share/python-wheels/
168
+ *.egg-info/
169
+ .installed.cfg
170
+ *.egg
171
+ MANIFEST
172
+
173
+ # PyInstaller
174
+ # Usually these files are written by a python script from a template
175
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
176
+ *.manifest
177
+ *.spec
178
+
179
+ # Installer logs
180
+ pip-log.txt
181
+ pip-delete-this-directory.txt
182
+
183
+ # Unit test / coverage reports
184
+ htmlcov/
185
+ .tox/
186
+ .nox/
187
+ .coverage
188
+ .coverage.*
189
+ .cache
190
+ nosetests.xml
191
+ coverage.xml
192
+ *.cover
193
+ *.py,cover
194
+ .hypothesis/
195
+ .pytest_cache/
196
+ cover/
197
+
198
+ # Translations
199
+ *.mo
200
+ *.pot
201
+
202
+ # Django stuff:
203
+ *.log
204
+ local_settings.py
205
+ db.sqlite3
206
+ db.sqlite3-journal
207
+
208
+ # Flask stuff:
209
+ instance/
210
+ .webassets-cache
211
+
212
+ # Scrapy stuff:
213
+ .scrapy
214
+
215
+ # Sphinx documentation
216
+ docs/_build/
217
+
218
+ # PyBuilder
219
+ .pybuilder/
220
+ target/
221
+
222
+ # Jupyter Notebook
223
+ .ipynb_checkpoints
224
+
225
+ # IPython
226
+ profile_default/
227
+ ipython_config.py
228
+
229
+ # pyenv
230
+ # For a library or package, you might want to ignore these files since the code is
231
+ # intended to run in multiple environments; otherwise, check them in:
232
+ # .python-version
233
+
234
+ # pipenv
235
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
236
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
237
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
238
+ # install all needed dependencies.
239
+ #Pipfile.lock
240
+
241
+ # poetry
242
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
243
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
244
+ # commonly ignored for libraries.
245
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
246
+ #poetry.lock
247
+
248
+ # pdm
249
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
250
+ #pdm.lock
251
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
252
+ # in version control.
253
+ # https://pdm.fming.dev/#use-with-ide
254
+ .pdm.toml
255
+
256
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
257
+ __pypackages__/
258
+
259
+ # Celery stuff
260
+ celerybeat-schedule
261
+ celerybeat.pid
262
+
263
+ # SageMath parsed files
264
+ *.sage.py
265
+
266
+ # Environments
267
+ .env
268
+ .venv
269
+ env/
270
+ venv/
271
+ ENV/
272
+ env.bak/
273
+ venv.bak/
274
+
275
+ # Spyder project settings
276
+ .spyderproject
277
+ .spyproject
278
+
279
+ # Rope project settings
280
+ .ropeproject
281
+
282
+ # mkdocs documentation
283
+ /site
284
+
285
+ # mypy
286
+ .mypy_cache/
287
+ .dmypy.json
288
+ dmypy.json
289
+
290
+ # Pyre type checker
291
+ .pyre/
292
+
293
+ # pytype static type analyzer
294
+ .pytype/
295
+
296
+ # Cython debug symbols
297
+ cython_debug/
298
+
299
+ # PyCharm
300
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
301
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
302
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
303
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
304
+ #.idea/
305
+
306
+ ### Python Patch ###
307
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
308
+ poetry.toml
309
+
310
+ # ruff
311
+ .ruff_cache/
312
+
313
+ # LSP config files
314
+ pyrightconfig.json
315
+
316
+ ### Vim ###
317
+ # Swap
318
+ [._]*.s[a-v][a-z]
319
+ !*.svg # comment out if you don't need vector files
320
+ [._]*.sw[a-p]
321
+ [._]s[a-rt-v][a-z]
322
+ [._]ss[a-gi-z]
323
+ [._]sw[a-p]
324
+
325
+ # Session
326
+ Session.vim
327
+ Sessionx.vim
328
+
329
+ # Temporary
330
+ .netrwhist
331
+ # Auto-generated tag files
332
+ tags
333
+ # Persistent undo
334
+ [._]*.un~
335
+
336
+ ### VisualStudioCode ###
337
+ .vscode/*
338
+ !.vscode/settings.json
339
+ !.vscode/tasks.json
340
+ !.vscode/launch.json
341
+ !.vscode/extensions.json
342
+ !.vscode/*.code-snippets
343
+
344
+ # Local History for Visual Studio Code
345
+ .history/
346
+
347
+ # Built Visual Studio Code Extensions
348
+ *.vsix
349
+
350
+ ### VisualStudioCode Patch ###
351
+ # Ignore all local history of files
352
+ .history
353
+ .ionide
354
+
355
+ ### Windows ###
356
+ # Windows thumbnail cache files
357
+ Thumbs.db
358
+ Thumbs.db:encryptable
359
+ ehthumbs.db
360
+ ehthumbs_vista.db
361
+
362
+ # Dump file
363
+ *.stackdump
364
+
365
+ # Folder config file
366
+ [Dd]esktop.ini
367
+
368
+ # Recycle Bin used on file shares
369
+ $RECYCLE.BIN/
370
+
371
+ # Windows Installer files
372
+ *.cab
373
+ *.msi
374
+ *.msix
375
+ *.msm
376
+ *.msp
377
+
378
+ # Windows shortcuts
379
+ *.lnk
380
+
381
+ # End of https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
382
+
383
+ .pixi
@@ -1,12 +1,16 @@
1
+ exclude: ^(\.copier-answers\.yml)|.pixi$
1
2
  repos:
2
3
  - repo: local
3
4
  hooks:
4
- # docformatter
5
- - id: docformatter
6
- name: docformatter
7
- entry: pixi run -e lint docformatter -i
5
+ # ensure pixi environments are up to date
6
+ # workaround for https://github.com/prefix-dev/pixi/issues/1482
7
+ - id: pixi-install
8
+ name: pixi-install
9
+ entry: pixi install -e default -e lint
8
10
  language: system
9
- types: [python]
11
+ always_run: true
12
+ require_serial: true
13
+ pass_filenames: false
10
14
  # ruff
11
15
  - id: ruff
12
16
  name: ruff
@@ -20,6 +24,13 @@ repos:
20
24
  language: system
21
25
  types_or: [python, pyi]
22
26
  require_serial: true
27
+ # mypy
28
+ - id: mypy
29
+ name: mypy
30
+ entry: pixi run -e default mypy
31
+ language: system
32
+ types: [python]
33
+ require_serial: true
23
34
  # prettier
24
35
  - id: prettier
25
36
  name: prettier
@@ -27,6 +38,12 @@ repos:
27
38
  language: system
28
39
  types: [text]
29
40
  files: \.(md|yml|yaml)$
41
+ # taplo
42
+ - id: taplo
43
+ name: taplo
44
+ entry: pixi run -e lint taplo format
45
+ language: system
46
+ types: [toml]
30
47
  # pre-commit-hooks
31
48
  - id: trailing-whitespace-fixer
32
49
  name: trailing-whitespace-fixer
@@ -50,16 +67,3 @@ repos:
50
67
  language: system
51
68
  types: [text]
52
69
  require_serial: true
53
- # mypy
54
- - id: mypy
55
- name: mypy
56
- entry: pixi run -e default mypy
57
- language: system
58
- types: [python]
59
- require_serial: true
60
- # taplo
61
- - id: taplo
62
- name: taplo
63
- entry: pixi run -e lint taplo format
64
- language: system
65
- types: [toml]
@@ -0,0 +1,7 @@
1
+ {
2
+ "singleQuote": false,
3
+ "bracketSpacing": true,
4
+ "printWidth": 200,
5
+ "endOfLine": "auto",
6
+ "tabWidth": 2
7
+ }
@@ -7,6 +7,8 @@
7
7
  Changelog
8
8
  =========
9
9
 
10
+ - Add license to package metadata.
11
+
10
12
  2.0.2 (2024-05-23)
11
13
  ------------------
12
14
  - Included a py.typed file to indicate that the package is fully typed.