unicode-segmentation-rs 0.2.2__tar.gz → 0.3.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. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.editorconfig +9 -0
  2. unicode_segmentation_rs-0.3.0/.github/actions/pre-commit-setup/action.yml +25 -0
  3. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/workflows/ci.yml +53 -73
  4. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/workflows/dependency-review.yml +2 -2
  5. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/workflows/pre-commit.yml +5 -18
  6. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/workflows/pull_requests.yaml +5 -9
  7. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.pre-commit-config.yaml +9 -14
  8. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/Cargo.lock +26 -52
  9. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/Cargo.toml +5 -4
  10. unicode_segmentation_rs-0.3.0/LICENSE +201 -0
  11. unicode_segmentation_rs-0.3.0/LICENSES/Apache-2.0.txt +201 -0
  12. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/PKG-INFO +37 -4
  13. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/README.md +35 -2
  14. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/REUSE.toml +2 -2
  15. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/pyproject.toml +19 -5
  16. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/src/lib.rs +33 -2
  17. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/tests/test_gettext_wrap.py +1 -1
  18. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/tests/test_readme_examples.py +32 -1
  19. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/tests/test_unicode_segmentation.py +88 -1
  20. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/unicode_segmentation_rs.pyi +3 -1
  21. unicode_segmentation_rs-0.2.2/.markdownlint.yml +0 -18
  22. unicode_segmentation_rs-0.2.2/LICENSE +0 -21
  23. unicode_segmentation_rs-0.2.2/LICENSES/MIT.txt +0 -18
  24. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/FUNDING.yml +0 -0
  25. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  26. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  27. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  28. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  29. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/PULL_REQUEST_TEMPLATE.md.license +0 -0
  30. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/release.yml +0 -0
  31. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/renovate.json +0 -0
  32. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.github/renovate.json.license +0 -0
  33. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.gitignore +0 -0
  34. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/.yamllint.yml +0 -0
  35. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/LICENSES/CC0-1.0.txt +0 -0
  36. {unicode_segmentation_rs-0.2.2 → unicode_segmentation_rs-0.3.0}/SECURITY.md +0 -0
@@ -41,3 +41,12 @@ simplify = true
41
41
 
42
42
  [*.{kt,kts}]
43
43
  indent_size = 4
44
+
45
+ # ktlint configuration
46
+ ktlint_code_style = android_studio
47
+ ktlint_function_naming_ignore_when_annotated_with = Composable
48
+ ktlint_standard_class-signature = disabled
49
+ ktlint_standard_function-expression-body = disabled
50
+ ktlint_standard_mixed-condition-operators = disabled
51
+ ktlint_standard_package-name = disabled
52
+ ktlint_standard_property-naming = disabled
@@ -0,0 +1,25 @@
1
+ # Copyright © Michal Čihař <michal@weblate.org>
2
+ #
3
+ # SPDX-License-Identifier: CC0-1.0
4
+
5
+ name: pre-commit setup
6
+ description: Prepare pre-commit environment
7
+
8
+ runs:
9
+ using: composite
10
+ steps:
11
+ - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
12
+ with:
13
+ path: |
14
+ ~/.cache/prek
15
+ ~/.cache/kingfisher
16
+ key: ${{ runner.os }}-${{ runner.arch }}-prek-${{ hashFiles('.pre-commit-config.yaml') }}
17
+ restore-keys: |
18
+ ${{ runner.os }}-${{ runner.arch }}-prek-
19
+ - name: Setup Python
20
+ uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
21
+ with:
22
+ python-version: '3.14'
23
+ - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
24
+ with:
25
+ version: 0.11.28
@@ -1,6 +1,6 @@
1
1
  # Copyright © Michal Čihař <michal@weblate.org>
2
2
  #
3
- # SPDX-License-Identifier: MIT
3
+ # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
  name: CI
6
6
 
@@ -38,20 +38,20 @@ jobs:
38
38
  python-version: '3.14'
39
39
  name: Tests, Python ${{ matrix.python-version }}, ${{ matrix.os }}
40
40
  steps:
41
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
41
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
42
42
  with:
43
43
  persist-credentials: false
44
44
  - name: Set up Python ${{ matrix.python-version }}
45
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
45
+ uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
46
46
  id: setup_python
47
47
  with:
48
48
  python-version: ${{ matrix.python-version }}
49
- - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0 # zizmor: ignore[cache-poisoning]
49
+ - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 # zizmor: ignore[cache-poisoning]
50
50
  # The cache is stored only on main branch and not used for publishing
51
51
  with:
52
52
  save-cache: ${{ github.ref == 'refs/heads/main' }}
53
53
  cache-suffix: ${{ steps.setup_python.outputs.python-version }}
54
- version: 0.11.2
54
+ version: 0.11.28
55
55
  activate-environment: 'true'
56
56
  - run: uv sync
57
57
  - name: Run tests
@@ -77,35 +77,26 @@ jobs:
77
77
  - runner: ubuntu-latest
78
78
  target: ppc64le
79
79
  steps:
80
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
80
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
81
81
  with:
82
82
  persist-credentials: false
83
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
84
- with:
85
- python-version: 3.x
86
83
  - name: Build wheels
87
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
84
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
88
85
  with:
89
86
  target: ${{ matrix.platform.target }}
90
- args: --release --out dist
87
+ # Build the stable-ABI wheel against CPython 3.10 so it is tagged cp310-abi3 everywhere.
88
+ args: --release --out dist -i python3.10
91
89
  sccache: false
92
90
  manylinux: auto
93
91
  - name: Build free-threaded wheels
94
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
92
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
95
93
  with:
96
94
  target: ${{ matrix.platform.target }}
97
95
  args: --release --out dist -i python3.14t
98
96
  sccache: false
99
97
  manylinux: auto
100
- - name: Build free-threaded wheels
101
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
102
- with:
103
- target: ${{ matrix.platform.target }}
104
- args: --release --out dist -i python3.13t
105
- sccache: false
106
- manylinux: auto
107
98
  - name: Upload wheels
108
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
99
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
109
100
  with:
110
101
  name: wheels-linux-${{ matrix.platform.target }}
111
102
  path: dist
@@ -125,29 +116,18 @@ jobs:
125
116
  - runner: ubuntu-latest
126
117
  target: armv7
127
118
  steps:
128
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
119
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
129
120
  with:
130
121
  persist-credentials: false
131
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
132
- with:
133
- python-version: 3.x
134
122
  - name: Build wheels
135
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
123
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
136
124
  with:
137
125
  target: ${{ matrix.platform.target }}
138
- args: --release --out dist
126
+ args: --release --out dist -i python3.10
139
127
  sccache: false
140
128
  manylinux: musllinux_1_2
141
129
  - name: Build free-threaded wheels
142
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
143
- with:
144
- target: ${{ matrix.platform.target }}
145
- args: --release --out dist -i python3.13t
146
-
147
- sccache: false
148
- manylinux: musllinux_1_2
149
- - name: Build free-threaded wheels
150
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
130
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
151
131
  with:
152
132
  target: ${{ matrix.platform.target }}
153
133
  args: --release --out dist -i python3.14t
@@ -155,7 +135,7 @@ jobs:
155
135
  sccache: false
156
136
  manylinux: musllinux_1_2
157
137
  - name: Upload wheels
158
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
138
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
159
139
  with:
160
140
  name: wheels-musllinux-${{ matrix.platform.target }}
161
141
  path: dist
@@ -171,37 +151,31 @@ jobs:
171
151
  - runner: windows-latest
172
152
  target: x86
173
153
  steps:
174
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
154
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
175
155
  with:
176
156
  persist-credentials: false
177
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
157
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
178
158
  with:
179
- python-version: 3.x
159
+ python-version: '3.14'
180
160
  architecture: ${{ matrix.platform.target }}
181
161
  - name: Build wheels
182
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
162
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
183
163
  with:
184
164
  target: ${{ matrix.platform.target }}
185
- args: --release --out dist
165
+ args: --release --out dist -i python
186
166
  sccache: false
187
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
167
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
188
168
  with:
189
- python-version: 3.13t
169
+ python-version: 3.14t
190
170
  architecture: ${{ matrix.platform.target }}
191
171
  - name: Build free-threaded wheels
192
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
193
- with:
194
- target: ${{ matrix.platform.target }}
195
- args: --release --out dist -i python3.13t
196
- sccache: false
197
- - name: Build free-threaded wheels
198
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
172
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
199
173
  with:
200
174
  target: ${{ matrix.platform.target }}
201
175
  args: --release --out dist -i python3.14t
202
176
  sccache: false
203
177
  - name: Upload wheels
204
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
178
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
205
179
  with:
206
180
  name: wheels-windows-${{ matrix.platform.target }}
207
181
  path: dist
@@ -217,34 +191,27 @@ jobs:
217
191
  - runner: macos-15
218
192
  target: aarch64
219
193
  steps:
220
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
194
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
221
195
  with:
222
196
  persist-credentials: false
223
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
197
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
224
198
  with:
225
- python-version: 3.x
199
+ python-version: '3.14'
226
200
  - name: Build wheels
227
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
201
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
228
202
  with:
229
203
  target: ${{ matrix.platform.target }}
230
- args: --release --out dist
204
+ args: --release --out dist -i python
231
205
  sccache: false
232
206
  - name: Build free-threaded wheels
233
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
234
- with:
235
- target: ${{ matrix.platform.target }}
236
- args: --release --out dist -i python3.13t
237
-
238
- sccache: false
239
- - name: Build free-threaded wheels
240
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
207
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
241
208
  with:
242
209
  target: ${{ matrix.platform.target }}
243
210
  args: --release --out dist -i python3.14t
244
211
 
245
212
  sccache: false
246
213
  - name: Upload wheels
247
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
214
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
248
215
  with:
249
216
  name: wheels-macos-${{ matrix.platform.target }}
250
217
  path: dist
@@ -253,21 +220,22 @@ jobs:
253
220
  runs-on: ubuntu-24.04
254
221
  name: Package sdist
255
222
  steps:
256
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
223
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
257
224
  with:
258
225
  persist-credentials: false
259
226
  - name: Build sdist
260
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
227
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
261
228
  with:
262
229
  command: sdist
263
230
  args: --out dist
264
231
  - name: Upload sdist
265
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
232
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
266
233
  with:
267
234
  name: wheels-sdist
268
235
  path: dist
269
236
 
270
237
  all-tests:
238
+ if: ${{ always() }}
271
239
  needs:
272
240
  - test
273
241
  - linux
@@ -278,7 +246,19 @@ jobs:
278
246
  name: CI passed
279
247
  runs-on: ubuntu-slim
280
248
  steps:
281
- - run: echo
249
+ - name: Verify dependent jobs
250
+ env:
251
+ RESULTS: ${{ join(needs.*.result, ' ') }}
252
+ run: |
253
+ count=0
254
+ for result in $RESULTS; do
255
+ count=$((count + 1))
256
+ if test "$result" != success; then
257
+ echo "Dependent job result: $result"
258
+ exit 1
259
+ fi
260
+ done
261
+ test "$count" -eq 6
282
262
 
283
263
  release:
284
264
  name: Release
@@ -293,17 +273,17 @@ jobs:
293
273
  # Used to generate artifact attestation
294
274
  attestations: write
295
275
  steps:
296
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
276
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
297
277
  with:
298
278
  persist-credentials: false
299
279
  - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
300
280
  - name: Generate artifact attestation
301
- uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
281
+ uses: actions/attest-build-provenance@0f67c3f4856b2e3261c31976d6725780e5e4c373 # v4.1.1
302
282
  with:
303
283
  subject-path: wheels-*/*
304
284
  - name: Publish to PyPI
305
285
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
306
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
286
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
307
287
  with:
308
288
  command: upload
309
289
  args: --non-interactive --skip-existing wheels-*/*
@@ -316,7 +296,7 @@ jobs:
316
296
  needs: all-tests
317
297
  if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
318
298
  steps:
319
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
299
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
320
300
  with:
321
301
  persist-credentials: false
322
302
  - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
@@ -15,8 +15,8 @@ jobs:
15
15
  runs-on: ubuntu-slim
16
16
  steps:
17
17
  - name: Checkout Repository
18
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
18
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
19
19
  with:
20
20
  persist-credentials: false
21
21
  - name: Dependency Review
22
- uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0
22
+ uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
@@ -8,6 +8,8 @@ name: Pre-commit check
8
8
  on:
9
9
  push:
10
10
  branches-ignore:
11
+ - copilot/**
12
+ - codex/**
11
13
  - renovate/**
12
14
  - weblate
13
15
  - dependabot/**
@@ -18,28 +20,13 @@ permissions:
18
20
 
19
21
  jobs:
20
22
  pre-commit:
21
- runs-on: ubuntu-24.04
23
+ runs-on: ubuntu-24.04-arm
22
24
 
23
25
  steps:
24
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
26
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
25
27
  with:
26
28
  persist-credentials: false
27
- - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
28
- with:
29
- path: |
30
- ~/.cache/prek
31
- ~/.cache/kingfisher
32
- key: ${{ runner.os }}-prek-${{ hashFiles('.pre-commit-config.yaml') }}
33
- restore-keys: |
34
- ${{ runner.os }}-prek-
35
- - name: Setup Python
36
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
37
- with:
38
- python-version: '3.14'
39
- - uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
40
- with:
41
- version: 0.11.2
42
- enable-cache: false
29
+ - uses: ./.github/actions/pre-commit-setup
43
30
  - name: detect method
44
31
  id: detect
45
32
  run: |
@@ -3,26 +3,22 @@
3
3
  # SPDX-License-Identifier: CC0-1.0
4
4
 
5
5
  # This file is maintained in https://github.com/WeblateOrg/meta/
6
-
7
6
  name: Pull request automation
8
7
 
9
8
  on: # zizmor: ignore[dangerous-triggers]
10
9
  pull_request_target:
11
10
  types: opened
12
11
 
13
- permissions:
14
- contents: read
12
+ permissions: {}
15
13
 
16
14
  jobs:
17
- weblate_automerge:
15
+ weblate-automerge:
18
16
  runs-on: ubuntu-slim
19
17
  name: Weblate automerge
20
- if: github.actor == 'weblate'
18
+ if: github.event.pull_request.user.login == 'weblate' || github.event.pull_request.user.login == 'hosted-weblate[bot]'
21
19
  steps:
22
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23
- with:
24
- persist-credentials: false
25
20
  - name: Enable Pull Request Automerge
26
- run: gh pr merge --rebase --auto "${{ github.event.pull_request.number }}"
21
+ run: gh pr merge --repo "$GITHUB_REPOSITORY" --rebase --auto "$PR_NUMBER"
27
22
  env:
28
23
  GH_TOKEN: ${{ secrets.WEBLATE_CI_TOKEN }} # zizmor: ignore[secrets-outside-env]
24
+ PR_NUMBER: ${{ github.event.pull_request.number }}
@@ -19,7 +19,7 @@ repos:
19
19
  hooks:
20
20
  - id: yamllint
21
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
22
- rev: v0.15.8
22
+ rev: v0.15.21
23
23
  hooks:
24
24
  - id: ruff-check
25
25
  args:
@@ -37,32 +37,27 @@ repos:
37
37
  args: [--autofix, --indent, '2']
38
38
  - id: pretty-format-toml
39
39
  args: [--autofix]
40
- - repo: https://github.com/executablebooks/mdformat
41
- rev: 1.0.0
42
- hooks:
43
- - id: mdformat
44
- additional_dependencies:
45
- - mdformat-gfm==1.0.0
46
- - repo: https://github.com/igorshubovych/markdownlint-cli
47
- rev: v0.48.0
48
- hooks:
49
- - id: markdownlint
50
40
  - repo: https://github.com/fsfe/reuse-tool
51
41
  rev: v6.2.0
52
42
  hooks:
53
43
  - id: reuse
54
44
  - repo: https://github.com/rhysd/actionlint
55
- rev: v1.7.11
45
+ rev: v1.7.12
56
46
  hooks:
57
47
  - id: actionlint
58
48
  - repo: https://github.com/zizmorcore/zizmor-pre-commit
59
- rev: v1.23.1
49
+ rev: v1.27.0
60
50
  hooks:
61
51
  - id: zizmor
62
52
  - repo: https://github.com/mongodb/kingfisher
63
- rev: v1.90.0
53
+ rev: v1.106.0
64
54
  hooks:
65
55
  - id: kingfisher-auto
56
+ - repo: https://github.com/rvben/rumdl-pre-commit
57
+ rev: v0.2.33
58
+ hooks:
59
+ - id: rumdl
60
+ - id: rumdl-fmt
66
61
  ci:
67
62
  autoupdate_schedule: quarterly
68
63
  skip:
@@ -2,22 +2,6 @@
2
2
  # It is not intended for manual editing.
3
3
  version = 4
4
4
 
5
- [[package]]
6
- name = "cc"
7
- version = "1.2.57"
8
- source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423"
10
- dependencies = [
11
- "find-msvc-tools",
12
- "shlex",
13
- ]
14
-
15
- [[package]]
16
- name = "find-msvc-tools"
17
- version = "0.1.9"
18
- source = "registry+https://github.com/rust-lang/crates.io-index"
19
- checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
20
-
21
5
  [[package]]
22
6
  name = "heck"
23
7
  version = "0.5.0"
@@ -26,9 +10,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
26
10
 
27
11
  [[package]]
28
12
  name = "libc"
29
- version = "0.2.183"
13
+ version = "0.2.186"
30
14
  source = "registry+https://github.com/rust-lang/crates.io-index"
31
- checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
15
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
32
16
 
33
17
  [[package]]
34
18
  name = "once_cell"
@@ -53,9 +37,9 @@ dependencies = [
53
37
 
54
38
  [[package]]
55
39
  name = "pyo3"
56
- version = "0.28.2"
40
+ version = "0.29.0"
57
41
  source = "registry+https://github.com/rust-lang/crates.io-index"
58
- checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1"
42
+ checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
59
43
  dependencies = [
60
44
  "libc",
61
45
  "once_cell",
@@ -67,19 +51,18 @@ dependencies = [
67
51
 
68
52
  [[package]]
69
53
  name = "pyo3-build-config"
70
- version = "0.28.2"
54
+ version = "0.29.0"
71
55
  source = "registry+https://github.com/rust-lang/crates.io-index"
72
- checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7"
56
+ checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
73
57
  dependencies = [
74
- "python3-dll-a",
75
58
  "target-lexicon",
76
59
  ]
77
60
 
78
61
  [[package]]
79
62
  name = "pyo3-ffi"
80
- version = "0.28.2"
63
+ version = "0.29.0"
81
64
  source = "registry+https://github.com/rust-lang/crates.io-index"
82
- checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc"
65
+ checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
83
66
  dependencies = [
84
67
  "libc",
85
68
  "pyo3-build-config",
@@ -87,9 +70,9 @@ dependencies = [
87
70
 
88
71
  [[package]]
89
72
  name = "pyo3-macros"
90
- version = "0.28.2"
73
+ version = "0.29.0"
91
74
  source = "registry+https://github.com/rust-lang/crates.io-index"
92
- checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e"
75
+ checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
93
76
  dependencies = [
94
77
  "proc-macro2",
95
78
  "pyo3-macros-backend",
@@ -99,46 +82,30 @@ dependencies = [
99
82
 
100
83
  [[package]]
101
84
  name = "pyo3-macros-backend"
102
- version = "0.28.2"
85
+ version = "0.29.0"
103
86
  source = "registry+https://github.com/rust-lang/crates.io-index"
104
- checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a"
87
+ checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
105
88
  dependencies = [
106
89
  "heck",
107
90
  "proc-macro2",
108
- "pyo3-build-config",
109
91
  "quote",
110
92
  "syn",
111
93
  ]
112
94
 
113
- [[package]]
114
- name = "python3-dll-a"
115
- version = "0.2.14"
116
- source = "registry+https://github.com/rust-lang/crates.io-index"
117
- checksum = "d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8"
118
- dependencies = [
119
- "cc",
120
- ]
121
-
122
95
  [[package]]
123
96
  name = "quote"
124
- version = "1.0.45"
97
+ version = "1.0.46"
125
98
  source = "registry+https://github.com/rust-lang/crates.io-index"
126
- checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
99
+ checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
127
100
  dependencies = [
128
101
  "proc-macro2",
129
102
  ]
130
103
 
131
- [[package]]
132
- name = "shlex"
133
- version = "1.3.0"
134
- source = "registry+https://github.com/rust-lang/crates.io-index"
135
- checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
136
-
137
104
  [[package]]
138
105
  name = "syn"
139
- version = "2.0.117"
106
+ version = "2.0.119"
140
107
  source = "registry+https://github.com/rust-lang/crates.io-index"
141
- checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
108
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
142
109
  dependencies = [
143
110
  "proc-macro2",
144
111
  "quote",
@@ -157,17 +124,24 @@ version = "1.0.24"
157
124
  source = "registry+https://github.com/rust-lang/crates.io-index"
158
125
  checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
159
126
 
127
+ [[package]]
128
+ name = "unicode-linebreak"
129
+ version = "0.1.5"
130
+ source = "registry+https://github.com/rust-lang/crates.io-index"
131
+ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
132
+
160
133
  [[package]]
161
134
  name = "unicode-segmentation"
162
- version = "1.13.2"
135
+ version = "1.13.3"
163
136
  source = "registry+https://github.com/rust-lang/crates.io-index"
164
- checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c"
137
+ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
165
138
 
166
139
  [[package]]
167
140
  name = "unicode-segmentation-rs"
168
- version = "0.2.2"
141
+ version = "0.3.0"
169
142
  dependencies = [
170
143
  "pyo3",
144
+ "unicode-linebreak",
171
145
  "unicode-segmentation",
172
146
  "unicode-width",
173
147
  ]
@@ -1,6 +1,7 @@
1
1
  [dependencies]
2
- pyo3 = {version = "0.28.2", features = ["extension-module", "abi3-py310", "generate-import-lib"]}
3
- unicode-segmentation = "1.13.2"
2
+ pyo3 = {version = "0.29.0", features = ["extension-module", "abi3-py310"]}
3
+ unicode-linebreak = "0.1.5"
4
+ unicode-segmentation = "1.13.3"
4
5
  unicode-width = "0.2.2"
5
6
 
6
7
  [lib]
@@ -11,8 +12,8 @@ name = "unicode_segmentation_rs"
11
12
  authors = ["Michal Čihař <michal@weblate.org>"]
12
13
  description = "Unicode segmentation and width for Python using Rust"
13
14
  edition = "2024"
14
- license = "MIT"
15
+ license = "Apache-2.0"
15
16
  name = "unicode-segmentation-rs"
16
17
  readme = "README.md"
17
18
  repository = "https://github.com/WeblateOrg/unicode-segmentation-rs"
18
- version = "0.2.2"
19
+ version = "0.3.0"