cachebox 6.2.1__tar.gz → 6.2.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 (85) hide show
  1. cachebox-6.2.4/.github/dependabot.yaml +13 -0
  2. cachebox-6.2.4/.github/workflows/CI.yml +240 -0
  3. cachebox-6.2.4/.github/workflows/docs.yml +55 -0
  4. cachebox-6.2.4/.github/workflows/python-test.yml +122 -0
  5. {cachebox-6.2.1 → cachebox-6.2.4}/Cargo.lock +47 -47
  6. {cachebox-6.2.1 → cachebox-6.2.4}/Cargo.toml +6 -6
  7. {cachebox-6.2.1 → cachebox-6.2.4}/PKG-INFO +47 -23
  8. {cachebox-6.2.1 → cachebox-6.2.4}/README.md +36 -17
  9. {cachebox-6.2.1 → cachebox-6.2.4}/cachebox/_core.pyi +42 -35
  10. {cachebox-6.2.1 → cachebox-6.2.4}/cachebox/_wrappers.py +19 -35
  11. {cachebox-6.2.1 → cachebox-6.2.4}/cachebox/utils.py +34 -9
  12. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/getting-started.md +1 -1
  13. {cachebox-6.2.1 → cachebox-6.2.4}/pyproject.toml +48 -18
  14. cachebox-6.2.4/rust-toolchain.toml +2 -0
  15. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/bitmask.rs +4 -1
  16. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/group/lsx.rs +2 -1
  17. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/group/mod.rs +4 -1
  18. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/group/neon.rs +2 -1
  19. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/group/sse2.rs +2 -1
  20. cachebox-6.2.4/src/hashbrown/control/mod.rs +9 -0
  21. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/tag.rs +2 -1
  22. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/raw.rs +1 -1
  23. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/scopeguard.rs +4 -5
  24. cachebox-6.2.4/src/internal/linked_list.rs +648 -0
  25. {cachebox-6.2.1 → cachebox-6.2.4}/src/internal/onceinit.rs +2 -2
  26. {cachebox-6.2.1 → cachebox-6.2.4}/src/internal/pickle.rs +13 -4
  27. {cachebox-6.2.1 → cachebox-6.2.4}/src/internal/utils.rs +1 -1
  28. {cachebox-6.2.1 → cachebox-6.2.4}/src/lib.rs +11 -9
  29. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/common.rs +1 -1
  30. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/fifopolicy.rs +7 -8
  31. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/lfupolicy.rs +1 -1
  32. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/lrupolicy.rs +2 -2
  33. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/mod.rs +1 -3
  34. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/nopolicy.rs +3 -3
  35. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/rrpolicy.rs +2 -2
  36. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/traits.rs +6 -6
  37. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/ttlpolicy.rs +7 -8
  38. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/vttlpolicy.rs +1 -3
  39. {cachebox-6.2.1 → cachebox-6.2.4}/src/policies/wrapped.rs +1 -1
  40. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/cache.rs +46 -28
  41. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/fifocache.rs +43 -25
  42. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/lfucache.rs +47 -26
  43. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/lrucache.rs +42 -24
  44. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/rrcache.rs +41 -23
  45. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/ttlcache.rs +52 -32
  46. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/vttlcache.rs +41 -21
  47. {cachebox-6.2.1 → cachebox-6.2.4}/tests/mixins.py +97 -0
  48. {cachebox-6.2.1 → cachebox-6.2.4}/tests/test_utils.py +123 -2
  49. cachebox-6.2.4/typos.toml +13 -0
  50. cachebox-6.2.4/uv.lock +1025 -0
  51. cachebox-6.2.1/.github/workflows/CI.yml +0 -222
  52. cachebox-6.2.1/.github/workflows/docs.yml +0 -48
  53. cachebox-6.2.1/.github/workflows/python-test.yml +0 -79
  54. cachebox-6.2.1/requirements-dev.txt +0 -7
  55. cachebox-6.2.1/src/hashbrown/control/mod.rs +0 -10
  56. cachebox-6.2.1/src/internal/linked_list.rs +0 -455
  57. {cachebox-6.2.1 → cachebox-6.2.4}/.gitignore +0 -0
  58. {cachebox-6.2.1 → cachebox-6.2.4}/LICENSE +0 -0
  59. {cachebox-6.2.1 → cachebox-6.2.4}/LICENSE-THIRD-PARTY +0 -0
  60. {cachebox-6.2.1 → cachebox-6.2.4}/build.rs +0 -0
  61. {cachebox-6.2.1 → cachebox-6.2.4}/cachebox/__init__.py +0 -0
  62. {cachebox-6.2.1 → cachebox-6.2.4}/cachebox/_cachebox.py +0 -0
  63. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/api/impls.md +0 -0
  64. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/api/index.md +0 -0
  65. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/api/utils.md +0 -0
  66. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/index.md +0 -0
  67. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/installation.md +0 -0
  68. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/migration.md +0 -0
  69. {cachebox-6.2.1 → cachebox-6.2.4}/docs/docs/tips.md +0 -0
  70. {cachebox-6.2.1 → cachebox-6.2.4}/docs/mkdocs.yml +0 -0
  71. {cachebox-6.2.1 → cachebox-6.2.4}/rustfmt.toml +0 -0
  72. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/alloc.rs +0 -0
  73. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/control/group/generic.rs +0 -0
  74. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/mod.rs +0 -0
  75. {cachebox-6.2.1 → cachebox-6.2.4}/src/hashbrown/util.rs +0 -0
  76. {cachebox-6.2.1 → cachebox-6.2.4}/src/internal/alias.rs +0 -0
  77. {cachebox-6.2.1 → cachebox-6.2.4}/src/internal/lazyheap.rs +0 -0
  78. {cachebox-6.2.1 → cachebox-6.2.4}/src/internal/mod.rs +0 -0
  79. {cachebox-6.2.1 → cachebox-6.2.4}/src/macro_rules.rs +0 -0
  80. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/base.rs +0 -0
  81. {cachebox-6.2.1 → cachebox-6.2.4}/src/pyclasses/mod.rs +0 -0
  82. {cachebox-6.2.1 → cachebox-6.2.4}/src/typeref.rs +0 -0
  83. {cachebox-6.2.1 → cachebox-6.2.4}/tests/__init__.py +0 -0
  84. {cachebox-6.2.1 → cachebox-6.2.4}/tests/conftest.py +0 -0
  85. {cachebox-6.2.1 → cachebox-6.2.4}/tests/test_impls.py +0 -0
@@ -0,0 +1,13 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions" # zizmor: ignore[dependabot-cooldown]
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ target-branch: main
8
+
9
+ - package-ecosystem: "cargo" # zizmor: ignore[dependabot-cooldown]
10
+ directory: "/"
11
+ schedule:
12
+ interval: "weekly"
13
+ target-branch: main
@@ -0,0 +1,240 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "*"
7
+
8
+ workflow_dispatch:
9
+
10
+ permissions: {}
11
+
12
+ concurrency:
13
+ group: ci-${{ github.ref }}
14
+ cancel-in-progress: ${{ github.ref_type != 'tag' }}
15
+
16
+ env:
17
+ (^_^): &interpreters "3.10 3.11 3.12 3.13 3.14 3.14t 3.15 3.15t pypy3.11"
18
+ ○_○: &interpreters_without_pypy "3.10 3.11 3.12 3.13 3.14 3.14t 3.15 3.15t"
19
+
20
+ jobs:
21
+ tools:
22
+ name: ${{ matrix.name }}
23
+ runs-on: ubuntu-latest
24
+
25
+ strategy:
26
+ matrix:
27
+ include:
28
+ - name: "zizmor"
29
+ command: zizmor .github/
30
+
31
+ - name: "typos"
32
+ command: typos --config typos.toml
33
+
34
+ steps:
35
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
36
+ with:
37
+ persist-credentials: false
38
+
39
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
40
+ with:
41
+ python-version: "3.14"
42
+
43
+ - name: "Install uv"
44
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
45
+ with:
46
+ # zizmor: ignore[cache-poisoning]
47
+ enable-cache: ${{ github.event_name == 'pull_request' }}
48
+
49
+ - name: "Install ${{ matrix.name }}"
50
+ run: uv pip install --group ${{ matrix.name }} --system
51
+
52
+ - name: "Run ${{ matrix.name }}"
53
+ run: ${{ matrix.command }}
54
+
55
+ build-linux:
56
+ runs-on: ubuntu-latest
57
+ strategy:
58
+ matrix:
59
+ platform:
60
+ - { target: x86_64, interpreter: *interpreters }
61
+ - { target: x86, interpreter: *interpreters }
62
+ - { target: aarch64, interpreter: *interpreters }
63
+ - { target: armv7, interpreter: *interpreters }
64
+ - { target: s390x, interpreter: *interpreters }
65
+ - { target: ppc64le, interpreter: *interpreters }
66
+
67
+ steps:
68
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
69
+ with:
70
+ persist-credentials: false
71
+
72
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
73
+ with:
74
+ python-version: "3.x"
75
+
76
+ - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
77
+ # zizmor: ignore[cache-poisoning]
78
+ with:
79
+ target: ${{ matrix.platform.target }}
80
+ sccache: ${{ github.ref_type != 'tag' }}
81
+ manylinux: auto
82
+ args: >-
83
+ --release
84
+ --out dist
85
+ --interpreter ${{ matrix.platform.interpreter }}
86
+ --compatibility pypi
87
+
88
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
89
+ with:
90
+ name: wheels-linux-${{ matrix.platform.target }}
91
+ path: dist
92
+
93
+ build-musllinux:
94
+ runs-on: ubuntu-latest
95
+ strategy:
96
+ matrix:
97
+ platform:
98
+ - { target: x86_64, interpreter: *interpreters }
99
+ - { target: x86, interpreter: *interpreters }
100
+ - { target: aarch64, interpreter: *interpreters }
101
+ - { target: armv7, interpreter: *interpreters }
102
+
103
+ steps:
104
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
105
+ with:
106
+ persist-credentials: false
107
+
108
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
109
+ with:
110
+ python-version: "3.x"
111
+
112
+ - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
113
+ # zizmor: ignore[cache-poisoning]
114
+ with:
115
+ target: ${{ matrix.platform.target }}
116
+ sccache: ${{ github.ref_type != 'tag' }}
117
+ manylinux: musllinux_1_2
118
+ args: >-
119
+ --release
120
+ --out dist
121
+ --interpreter ${{ matrix.platform.interpreter }}
122
+ --compatibility pypi
123
+
124
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
125
+ with:
126
+ name: wheels-musllinux-${{ matrix.platform.target }}
127
+ path: dist
128
+
129
+ build-windows:
130
+ runs-on: windows-latest
131
+ strategy:
132
+ matrix:
133
+ platform:
134
+ - { target: x64, interpreter: *interpreters }
135
+ - { target: x86, interpreter: *interpreters_without_pypy }
136
+
137
+ steps:
138
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
139
+ with:
140
+ persist-credentials: false
141
+
142
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
143
+ with:
144
+ python-version: "3.x"
145
+ architecture: ${{ matrix.platform.target }}
146
+
147
+ - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
148
+ # zizmor: ignore[cache-poisoning]
149
+ with:
150
+ target: ${{ matrix.platform.target }}
151
+ sccache: ${{ github.ref_type != 'tag' }}
152
+ args: >-
153
+ --release
154
+ --out dist
155
+ --interpreter ${{ matrix.platform.interpreter }}
156
+ --compatibility pypi
157
+
158
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
159
+ with:
160
+ name: wheels-windows-${{ matrix.platform.target }}
161
+ path: dist
162
+
163
+ build-macos:
164
+ runs-on: macos-latest
165
+ strategy:
166
+ matrix:
167
+ platform:
168
+ - { target: x86_64, interpreter: *interpreters }
169
+ - { target: aarch64, interpreter: *interpreters }
170
+
171
+ steps:
172
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
173
+ with:
174
+ persist-credentials: false
175
+
176
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
177
+ with:
178
+ python-version: "3.x"
179
+
180
+ - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
181
+ # zizmor: ignore[cache-poisoning]
182
+ with:
183
+ target: ${{ matrix.platform.target }}
184
+ sccache: ${{ github.ref_type != 'tag' }}
185
+ args: >-
186
+ --release
187
+ --out dist
188
+ --interpreter ${{ matrix.platform.interpreter }}
189
+ --compatibility pypi
190
+
191
+ - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
192
+ with:
193
+ name: wheels-macos-${{ matrix.platform.target }}
194
+ path: dist
195
+
196
+ build-sdist:
197
+ runs-on: ubuntu-latest
198
+ steps:
199
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
200
+ with:
201
+ persist-credentials: false
202
+
203
+ - name: Build sdist
204
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
205
+ with:
206
+ command: sdist
207
+ args: --out dist
208
+
209
+ - name: Upload sdist
210
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
211
+ with:
212
+ name: wheels-sdist
213
+ path: dist
214
+
215
+ release:
216
+ runs-on: ubuntu-latest
217
+ if: github.ref_type == 'tag' || github.event_name == 'workflow_dispatch'
218
+ needs:
219
+ - build-linux
220
+ - build-musllinux
221
+ - build-windows
222
+ - build-macos
223
+ - build-sdist
224
+
225
+ permissions:
226
+ id-token: write
227
+ contents: write
228
+
229
+ steps:
230
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
231
+ with:
232
+ pattern: wheels-*
233
+ merge-multiple: true
234
+ path: dist
235
+
236
+ - name: Publish to PyPI
237
+ if: github.ref_type == 'tag'
238
+ uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
239
+ with:
240
+ packages-dir: dist
@@ -0,0 +1,55 @@
1
+ name: Deploy Docs
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ build:
8
+ runs-on: ubuntu-latest
9
+ permissions:
10
+ contents: write
11
+
12
+ steps:
13
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
14
+ # zizmor: ignore[artipacked]
15
+ with:
16
+ fetch-depth: 0
17
+
18
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
19
+ with:
20
+ python-version: 3.14
21
+
22
+ - name: "Install uv"
23
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
24
+ with:
25
+ enable-cache: false
26
+
27
+ - run: uv pip install --group docs --system
28
+ - run: mkdocs gh-deploy --config-file docs/mkdocs.yml --force
29
+
30
+ deploy_mkdocs:
31
+ needs: build
32
+ permissions:
33
+ pages: write
34
+ id-token: write
35
+
36
+ environment:
37
+ name: github-pages
38
+ url: ${{ steps.deployment.outputs.page_url }}
39
+
40
+ runs-on: ubuntu-latest
41
+
42
+ steps:
43
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
44
+ with:
45
+ ref: gh-pages
46
+ persist-credentials: false
47
+
48
+ - uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
49
+
50
+ - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
51
+ with:
52
+ path: "."
53
+
54
+ - id: deployment
55
+ uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
@@ -0,0 +1,122 @@
1
+ name: Python Test
2
+
3
+ on:
4
+ pull_request:
5
+ workflow_dispatch:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ concurrency:
11
+ group: tests-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ env:
15
+ RUST_BACKTRACE: 1
16
+ UV_PYTHON_DOWNLOADS: 0
17
+
18
+ jobs:
19
+ test-python:
20
+ name: ${{ matrix.python-version }}
21
+ runs-on: ubuntu-latest
22
+ continue-on-error: ${{ endsWith(matrix.python-version, 't') }}
23
+ strategy:
24
+ fail-fast: false
25
+ matrix:
26
+ python-version: [
27
+ "3.10",
28
+ "3.11",
29
+ "3.12",
30
+ "3.13",
31
+ "3.14", "3.14t",
32
+ "3.15", "3.15t",
33
+ "pypy3.11",
34
+ ]
35
+
36
+ steps:
37
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
38
+ with:
39
+ persist-credentials: false
40
+
41
+ - uses: dtolnay/rust-toolchain@stable # zizmor: ignore[unpinned-uses]
42
+
43
+ - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
44
+ if: github.event_name == 'pull_request' && github.run_attempt == 1
45
+ with:
46
+ lookup-only: false # zizmor: ignore[cache-poisoning]
47
+ shared-key: ${{ matrix.python-version }}
48
+
49
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
50
+ with:
51
+ python-version: ${{ matrix.python-version }}
52
+ allow-prereleases: true
53
+
54
+ - name: "Install uv"
55
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
56
+ with:
57
+ enable-cache: false
58
+
59
+ - name: "Create and activate .venv"
60
+ run: |
61
+ uv venv .venv --python ${{ matrix.python-version }}
62
+ echo ".venv/bin" >> "$GITHUB_PATH"
63
+ echo "PYO3_PYTHON=.venv/bin/python3" >> "$GITHUB_ENV"
64
+
65
+ - name: "Install dependencies"
66
+ run: uv pip install --group ci
67
+
68
+ - name: "Run maturin"
69
+ run: maturin develop --features use-small-offset
70
+
71
+ - name: "Run pytest"
72
+ run: pytest -v -n auto
73
+ env:
74
+ HYPOTHESIS_PROFILE: slow
75
+
76
+ test-os:
77
+ name: ${{ matrix.os }}
78
+ runs-on: ${{ matrix.os }}-latest
79
+ strategy:
80
+ fail-fast: false
81
+ matrix:
82
+ os: [ubuntu, macos, windows]
83
+
84
+ steps:
85
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
86
+ with:
87
+ persist-credentials: false
88
+
89
+ - uses: dtolnay/rust-toolchain@stable # zizmor: ignore[unpinned-uses]
90
+
91
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
92
+ with:
93
+ python-version: "3.13"
94
+
95
+ - name: "Install uv"
96
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
97
+ with:
98
+ enable-cache: false
99
+
100
+ - name: "Create and activate .venv"
101
+ shell: bash
102
+ run: |
103
+ uv venv .venv --python 3.13
104
+ if [[ "${{ matrix.os }}" == "windows" ]]; then
105
+ echo ".venv/Scripts" >> "$GITHUB_PATH"
106
+ echo "PYO3_PYTHON=.venv/Scripts/python" >> "$GITHUB_ENV"
107
+ echo "UV_LINK_MODE=copy" >> "$GITHUB_ENV"
108
+ else
109
+ echo ".venv/bin" >> "$GITHUB_PATH"
110
+ echo "PYO3_PYTHON=.venv/bin/python3" >> "$GITHUB_ENV"
111
+ fi
112
+
113
+ - name: "Install dependencies"
114
+ run: uv pip install --group ci
115
+
116
+ - name: "Run maturin"
117
+ run: maturin develop --features use-small-offset
118
+
119
+ - name: "Run pytest"
120
+ run: pytest -v -n auto
121
+ env:
122
+ HYPOTHESIS_PROFILE: slow
@@ -25,9 +25,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
25
25
 
26
26
  [[package]]
27
27
  name = "bitflags"
28
- version = "2.13.0"
28
+ version = "2.13.1"
29
29
  source = "registry+https://github.com/rust-lang/crates.io-index"
30
- checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
30
+ checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
31
31
 
32
32
  [[package]]
33
33
  name = "bumpalo"
@@ -37,7 +37,7 @@ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
37
37
 
38
38
  [[package]]
39
39
  name = "cachebox"
40
- version = "6.2.1"
40
+ version = "6.2.4"
41
41
  dependencies = [
42
42
  "allocator-api2",
43
43
  "cfg-if",
@@ -50,9 +50,9 @@ dependencies = [
50
50
 
51
51
  [[package]]
52
52
  name = "cc"
53
- version = "1.2.64"
53
+ version = "1.4.0"
54
54
  source = "registry+https://github.com/rust-lang/crates.io-index"
55
- checksum = "dad887fd958be91b5098c0248def011f4523ab786cd411be668777e55063501f"
55
+ checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
56
56
  dependencies = [
57
57
  "find-msvc-tools",
58
58
  "shlex",
@@ -85,9 +85,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
85
85
 
86
86
  [[package]]
87
87
  name = "fastrand"
88
- version = "2.4.1"
88
+ version = "2.5.0"
89
89
  source = "registry+https://github.com/rust-lang/crates.io-index"
90
- checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
90
+ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
91
91
 
92
92
  [[package]]
93
93
  name = "find-msvc-tools"
@@ -97,21 +97,21 @@ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
97
97
 
98
98
  [[package]]
99
99
  name = "futures-core"
100
- version = "0.3.32"
100
+ version = "0.3.33"
101
101
  source = "registry+https://github.com/rust-lang/crates.io-index"
102
- checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
102
+ checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
103
103
 
104
104
  [[package]]
105
105
  name = "futures-task"
106
- version = "0.3.32"
106
+ version = "0.3.33"
107
107
  source = "registry+https://github.com/rust-lang/crates.io-index"
108
- checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
108
+ checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
109
109
 
110
110
  [[package]]
111
111
  name = "futures-util"
112
- version = "0.3.32"
112
+ version = "0.3.33"
113
113
  source = "registry+https://github.com/rust-lang/crates.io-index"
114
- checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
114
+ checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
115
115
  dependencies = [
116
116
  "futures-core",
117
117
  "futures-task",
@@ -151,9 +151,9 @@ dependencies = [
151
151
 
152
152
  [[package]]
153
153
  name = "js-sys"
154
- version = "0.3.102"
154
+ version = "0.3.103"
155
155
  source = "registry+https://github.com/rust-lang/crates.io-index"
156
- checksum = "03d04c30968dffe80775bd4d7fb676131cd04a1fb46d2686dbffbaec2d9dfd31"
156
+ checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
157
157
  dependencies = [
158
158
  "cfg-if",
159
159
  "futures-util",
@@ -162,9 +162,9 @@ dependencies = [
162
162
 
163
163
  [[package]]
164
164
  name = "libc"
165
- version = "0.2.186"
165
+ version = "0.2.189"
166
166
  source = "registry+https://github.com/rust-lang/crates.io-index"
167
- checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
167
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
168
168
 
169
169
  [[package]]
170
170
  name = "lock_api"
@@ -177,9 +177,9 @@ dependencies = [
177
177
 
178
178
  [[package]]
179
179
  name = "log"
180
- version = "0.4.32"
180
+ version = "0.4.33"
181
181
  source = "registry+https://github.com/rust-lang/crates.io-index"
182
- checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a"
182
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
183
183
 
184
184
  [[package]]
185
185
  name = "num-traits"
@@ -227,24 +227,24 @@ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
227
227
 
228
228
  [[package]]
229
229
  name = "portable-atomic"
230
- version = "1.13.1"
230
+ version = "1.14.0"
231
231
  source = "registry+https://github.com/rust-lang/crates.io-index"
232
- checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
232
+ checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
233
233
 
234
234
  [[package]]
235
235
  name = "proc-macro2"
236
- version = "1.0.106"
236
+ version = "1.0.107"
237
237
  source = "registry+https://github.com/rust-lang/crates.io-index"
238
- checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
238
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
239
239
  dependencies = [
240
240
  "unicode-ident",
241
241
  ]
242
242
 
243
243
  [[package]]
244
244
  name = "pyo3"
245
- version = "0.29.0"
245
+ version = "0.29.1"
246
246
  source = "registry+https://github.com/rust-lang/crates.io-index"
247
- checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
247
+ checksum = "fc153f5fd745cc038b5eed86622125969f8a39834a57bc96beaaf2512b1da729"
248
248
  dependencies = [
249
249
  "chrono",
250
250
  "libc",
@@ -257,18 +257,18 @@ dependencies = [
257
257
 
258
258
  [[package]]
259
259
  name = "pyo3-build-config"
260
- version = "0.29.0"
260
+ version = "0.29.1"
261
261
  source = "registry+https://github.com/rust-lang/crates.io-index"
262
- checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
262
+ checksum = "bb77d9aa6d647507b55c69ee714d266d84c526c78ff0bc6dd8757f58591e64d1"
263
263
  dependencies = [
264
264
  "target-lexicon",
265
265
  ]
266
266
 
267
267
  [[package]]
268
268
  name = "pyo3-ffi"
269
- version = "0.29.0"
269
+ version = "0.29.1"
270
270
  source = "registry+https://github.com/rust-lang/crates.io-index"
271
- checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
271
+ checksum = "3160087aa5733bce7d9a729f8c55f85a2a53b74742a09613178eeebff0722253"
272
272
  dependencies = [
273
273
  "libc",
274
274
  "pyo3-build-config",
@@ -276,9 +276,9 @@ dependencies = [
276
276
 
277
277
  [[package]]
278
278
  name = "pyo3-macros"
279
- version = "0.29.0"
279
+ version = "0.29.1"
280
280
  source = "registry+https://github.com/rust-lang/crates.io-index"
281
- checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
281
+ checksum = "91f9d455db760a9a0b0ddeaac25f1390b8a36ba73dfbda9f127cac6fc340d4d5"
282
282
  dependencies = [
283
283
  "proc-macro2",
284
284
  "pyo3-macros-backend",
@@ -288,9 +288,9 @@ dependencies = [
288
288
 
289
289
  [[package]]
290
290
  name = "pyo3-macros-backend"
291
- version = "0.29.0"
291
+ version = "0.29.1"
292
292
  source = "registry+https://github.com/rust-lang/crates.io-index"
293
- checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
293
+ checksum = "e343bcec300ff262f5806a33a4e51b6d097a8a46435f512fcb83e95592581625"
294
294
  dependencies = [
295
295
  "heck",
296
296
  "proc-macro2",
@@ -300,9 +300,9 @@ dependencies = [
300
300
 
301
301
  [[package]]
302
302
  name = "quote"
303
- version = "1.0.45"
303
+ version = "1.0.47"
304
304
  source = "registry+https://github.com/rust-lang/crates.io-index"
305
- checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
305
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
306
306
  dependencies = [
307
307
  "proc-macro2",
308
308
  ]
@@ -318,9 +318,9 @@ dependencies = [
318
318
 
319
319
  [[package]]
320
320
  name = "rustversion"
321
- version = "1.0.22"
321
+ version = "1.0.23"
322
322
  source = "registry+https://github.com/rust-lang/crates.io-index"
323
- checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
323
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
324
324
 
325
325
  [[package]]
326
326
  name = "scopeguard"
@@ -348,9 +348,9 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
348
348
 
349
349
  [[package]]
350
350
  name = "syn"
351
- version = "2.0.117"
351
+ version = "2.0.119"
352
352
  source = "registry+https://github.com/rust-lang/crates.io-index"
353
- checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
353
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
354
354
  dependencies = [
355
355
  "proc-macro2",
356
356
  "quote",
@@ -371,9 +371,9 @@ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
371
371
 
372
372
  [[package]]
373
373
  name = "wasm-bindgen"
374
- version = "0.2.125"
374
+ version = "0.2.126"
375
375
  source = "registry+https://github.com/rust-lang/crates.io-index"
376
- checksum = "8ddb3f79143bced6de84270411622a2699cee572fc0875aeaf1e7867cf9fca1a"
376
+ checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
377
377
  dependencies = [
378
378
  "cfg-if",
379
379
  "once_cell",
@@ -384,9 +384,9 @@ dependencies = [
384
384
 
385
385
  [[package]]
386
386
  name = "wasm-bindgen-macro"
387
- version = "0.2.125"
387
+ version = "0.2.126"
388
388
  source = "registry+https://github.com/rust-lang/crates.io-index"
389
- checksum = "4e21a184b13fb19e157296e2c46056aec9092264fab83e4ba59e68c61b323c3d"
389
+ checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
390
390
  dependencies = [
391
391
  "quote",
392
392
  "wasm-bindgen-macro-support",
@@ -394,9 +394,9 @@ dependencies = [
394
394
 
395
395
  [[package]]
396
396
  name = "wasm-bindgen-macro-support"
397
- version = "0.2.125"
397
+ version = "0.2.126"
398
398
  source = "registry+https://github.com/rust-lang/crates.io-index"
399
- checksum = "fecefd9c35bd935a20fc3fc344b5f29138961e4f47fb03297d88f2587afb5ebd"
399
+ checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
400
400
  dependencies = [
401
401
  "bumpalo",
402
402
  "proc-macro2",
@@ -407,9 +407,9 @@ dependencies = [
407
407
 
408
408
  [[package]]
409
409
  name = "wasm-bindgen-shared"
410
- version = "0.2.125"
410
+ version = "0.2.126"
411
411
  source = "registry+https://github.com/rust-lang/crates.io-index"
412
- checksum = "23939e44bb9a5d7576fa2b563dc2e136628f1224e88a8deed09e04858b77871f"
412
+ checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
413
413
  dependencies = [
414
414
  "unicode-ident",
415
415
  ]