fast5ever 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,70 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ tags: ['v*']
7
+ pull_request:
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: dtolnay/rust-toolchain@stable
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: '3.12'
18
+ - run: pip install -e '.[dev]'
19
+ - run: pytest -q
20
+
21
+ build:
22
+ needs: test
23
+ strategy:
24
+ matrix:
25
+ os: [ubuntu-latest, macos-latest]
26
+ runs-on: ${{ matrix.os }}
27
+ steps:
28
+ - uses: actions/checkout@v4
29
+ - uses: PyO3/maturin-action@v1
30
+ with:
31
+ args: --release --out dist -i python3.10 -i python3.11 -i python3.12 -i python3.13
32
+ manylinux: auto
33
+ - uses: actions/upload-artifact@v4
34
+ with:
35
+ name: wheels-${{ matrix.os }}
36
+ path: dist
37
+
38
+ sdist:
39
+ runs-on: ubuntu-latest
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ - uses: PyO3/maturin-action@v1
43
+ with:
44
+ command: sdist
45
+ args: -o dist
46
+ - uses: actions/upload-artifact@v4
47
+ with:
48
+ name: wheels-sdist
49
+ path: dist
50
+
51
+ publish:
52
+ if: startsWith(github.ref, 'refs/tags/v')
53
+ needs: [build, sdist]
54
+ runs-on: ubuntu-latest
55
+ permissions:
56
+ id-token: write
57
+ contents: write
58
+ steps:
59
+ - uses: actions/checkout@v4
60
+ - uses: actions/download-artifact@v4
61
+ with:
62
+ path: dist
63
+ merge-multiple: true
64
+ - uses: softprops/action-gh-release@v2
65
+ with:
66
+ files: dist/*
67
+ generate_release_notes: true
68
+ - uses: pypa/gh-action-pypi-publish@release/v1
69
+ with:
70
+ packages-dir: dist/
@@ -0,0 +1,14 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.so
4
+ *.egg-info/
5
+ tags
6
+ target/
7
+ dist/
8
+ build/
9
+ .venv/
10
+ venv/
11
+ .env
12
+ .DS_Store
13
+ .ipynb_checkpoints/
14
+ Cargo.lock
@@ -0,0 +1,379 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "bitflags"
7
+ version = "2.13.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
10
+
11
+ [[package]]
12
+ name = "cfg-if"
13
+ version = "1.0.4"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
16
+
17
+ [[package]]
18
+ name = "fast5ever"
19
+ version = "0.1.0"
20
+ dependencies = [
21
+ "html5ever",
22
+ "pyo3",
23
+ ]
24
+
25
+ [[package]]
26
+ name = "fastrand"
27
+ version = "2.5.0"
28
+ source = "registry+https://github.com/rust-lang/crates.io-index"
29
+ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
30
+
31
+ [[package]]
32
+ name = "heck"
33
+ version = "0.5.0"
34
+ source = "registry+https://github.com/rust-lang/crates.io-index"
35
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
36
+
37
+ [[package]]
38
+ name = "html5ever"
39
+ version = "0.39.0"
40
+ source = "registry+https://github.com/rust-lang/crates.io-index"
41
+ checksum = "46a1761807faccc9a19e86944bbf40610014066306f96edcdedc2fb714bcb7b8"
42
+ dependencies = [
43
+ "log",
44
+ "markup5ever",
45
+ ]
46
+
47
+ [[package]]
48
+ name = "libc"
49
+ version = "0.2.189"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
52
+
53
+ [[package]]
54
+ name = "lock_api"
55
+ version = "0.4.14"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
58
+ dependencies = [
59
+ "scopeguard",
60
+ ]
61
+
62
+ [[package]]
63
+ name = "log"
64
+ version = "0.4.33"
65
+ source = "registry+https://github.com/rust-lang/crates.io-index"
66
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
67
+
68
+ [[package]]
69
+ name = "markup5ever"
70
+ version = "0.39.0"
71
+ source = "registry+https://github.com/rust-lang/crates.io-index"
72
+ checksum = "7122d987ec5f704ee56f6e5b41a7d93722e9aae27ae07cafa4036c4d3f9757de"
73
+ dependencies = [
74
+ "log",
75
+ "tendril",
76
+ "web_atoms",
77
+ ]
78
+
79
+ [[package]]
80
+ name = "new_debug_unreachable"
81
+ version = "1.0.6"
82
+ source = "registry+https://github.com/rust-lang/crates.io-index"
83
+ checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
84
+
85
+ [[package]]
86
+ name = "once_cell"
87
+ version = "1.21.4"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
90
+
91
+ [[package]]
92
+ name = "parking_lot"
93
+ version = "0.12.5"
94
+ source = "registry+https://github.com/rust-lang/crates.io-index"
95
+ checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
96
+ dependencies = [
97
+ "lock_api",
98
+ "parking_lot_core",
99
+ ]
100
+
101
+ [[package]]
102
+ name = "parking_lot_core"
103
+ version = "0.9.12"
104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
105
+ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
106
+ dependencies = [
107
+ "cfg-if",
108
+ "libc",
109
+ "redox_syscall",
110
+ "smallvec",
111
+ "windows-link",
112
+ ]
113
+
114
+ [[package]]
115
+ name = "phf"
116
+ version = "0.13.1"
117
+ source = "registry+https://github.com/rust-lang/crates.io-index"
118
+ checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf"
119
+ dependencies = [
120
+ "phf_shared",
121
+ "serde",
122
+ ]
123
+
124
+ [[package]]
125
+ name = "phf_codegen"
126
+ version = "0.13.1"
127
+ source = "registry+https://github.com/rust-lang/crates.io-index"
128
+ checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1"
129
+ dependencies = [
130
+ "phf_generator",
131
+ "phf_shared",
132
+ ]
133
+
134
+ [[package]]
135
+ name = "phf_generator"
136
+ version = "0.13.1"
137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
138
+ checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737"
139
+ dependencies = [
140
+ "fastrand",
141
+ "phf_shared",
142
+ ]
143
+
144
+ [[package]]
145
+ name = "phf_shared"
146
+ version = "0.13.1"
147
+ source = "registry+https://github.com/rust-lang/crates.io-index"
148
+ checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266"
149
+ dependencies = [
150
+ "siphasher",
151
+ ]
152
+
153
+ [[package]]
154
+ name = "portable-atomic"
155
+ version = "1.14.0"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
158
+
159
+ [[package]]
160
+ name = "precomputed-hash"
161
+ version = "0.1.1"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
164
+
165
+ [[package]]
166
+ name = "proc-macro2"
167
+ version = "1.0.107"
168
+ source = "registry+https://github.com/rust-lang/crates.io-index"
169
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
170
+ dependencies = [
171
+ "unicode-ident",
172
+ ]
173
+
174
+ [[package]]
175
+ name = "pyo3"
176
+ version = "0.29.0"
177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
178
+ checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
179
+ dependencies = [
180
+ "libc",
181
+ "once_cell",
182
+ "portable-atomic",
183
+ "pyo3-build-config",
184
+ "pyo3-ffi",
185
+ "pyo3-macros",
186
+ ]
187
+
188
+ [[package]]
189
+ name = "pyo3-build-config"
190
+ version = "0.29.0"
191
+ source = "registry+https://github.com/rust-lang/crates.io-index"
192
+ checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
193
+ dependencies = [
194
+ "target-lexicon",
195
+ ]
196
+
197
+ [[package]]
198
+ name = "pyo3-ffi"
199
+ version = "0.29.0"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
202
+ dependencies = [
203
+ "libc",
204
+ "pyo3-build-config",
205
+ ]
206
+
207
+ [[package]]
208
+ name = "pyo3-macros"
209
+ version = "0.29.0"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
212
+ dependencies = [
213
+ "proc-macro2",
214
+ "pyo3-macros-backend",
215
+ "quote",
216
+ "syn 2.0.119",
217
+ ]
218
+
219
+ [[package]]
220
+ name = "pyo3-macros-backend"
221
+ version = "0.29.0"
222
+ source = "registry+https://github.com/rust-lang/crates.io-index"
223
+ checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
224
+ dependencies = [
225
+ "heck",
226
+ "proc-macro2",
227
+ "quote",
228
+ "syn 2.0.119",
229
+ ]
230
+
231
+ [[package]]
232
+ name = "quote"
233
+ version = "1.0.47"
234
+ source = "registry+https://github.com/rust-lang/crates.io-index"
235
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
236
+ dependencies = [
237
+ "proc-macro2",
238
+ ]
239
+
240
+ [[package]]
241
+ name = "redox_syscall"
242
+ version = "0.5.18"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
245
+ dependencies = [
246
+ "bitflags",
247
+ ]
248
+
249
+ [[package]]
250
+ name = "scopeguard"
251
+ version = "1.2.0"
252
+ source = "registry+https://github.com/rust-lang/crates.io-index"
253
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
254
+
255
+ [[package]]
256
+ name = "serde"
257
+ version = "1.0.229"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
260
+ dependencies = [
261
+ "serde_core",
262
+ ]
263
+
264
+ [[package]]
265
+ name = "serde_core"
266
+ version = "1.0.229"
267
+ source = "registry+https://github.com/rust-lang/crates.io-index"
268
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
269
+ dependencies = [
270
+ "serde_derive",
271
+ ]
272
+
273
+ [[package]]
274
+ name = "serde_derive"
275
+ version = "1.0.229"
276
+ source = "registry+https://github.com/rust-lang/crates.io-index"
277
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
278
+ dependencies = [
279
+ "proc-macro2",
280
+ "quote",
281
+ "syn 3.0.3",
282
+ ]
283
+
284
+ [[package]]
285
+ name = "siphasher"
286
+ version = "1.0.3"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
289
+
290
+ [[package]]
291
+ name = "smallvec"
292
+ version = "1.15.2"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
295
+
296
+ [[package]]
297
+ name = "string_cache"
298
+ version = "0.9.0"
299
+ source = "registry+https://github.com/rust-lang/crates.io-index"
300
+ checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901"
301
+ dependencies = [
302
+ "new_debug_unreachable",
303
+ "parking_lot",
304
+ "phf_shared",
305
+ "precomputed-hash",
306
+ ]
307
+
308
+ [[package]]
309
+ name = "string_cache_codegen"
310
+ version = "0.6.1"
311
+ source = "registry+https://github.com/rust-lang/crates.io-index"
312
+ checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69"
313
+ dependencies = [
314
+ "phf_generator",
315
+ "phf_shared",
316
+ "proc-macro2",
317
+ "quote",
318
+ ]
319
+
320
+ [[package]]
321
+ name = "syn"
322
+ version = "2.0.119"
323
+ source = "registry+https://github.com/rust-lang/crates.io-index"
324
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
325
+ dependencies = [
326
+ "proc-macro2",
327
+ "quote",
328
+ "unicode-ident",
329
+ ]
330
+
331
+ [[package]]
332
+ name = "syn"
333
+ version = "3.0.3"
334
+ source = "registry+https://github.com/rust-lang/crates.io-index"
335
+ checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
336
+ dependencies = [
337
+ "proc-macro2",
338
+ "quote",
339
+ "unicode-ident",
340
+ ]
341
+
342
+ [[package]]
343
+ name = "target-lexicon"
344
+ version = "0.13.5"
345
+ source = "registry+https://github.com/rust-lang/crates.io-index"
346
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
347
+
348
+ [[package]]
349
+ name = "tendril"
350
+ version = "0.5.1"
351
+ source = "registry+https://github.com/rust-lang/crates.io-index"
352
+ checksum = "5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08"
353
+ dependencies = [
354
+ "new_debug_unreachable",
355
+ ]
356
+
357
+ [[package]]
358
+ name = "unicode-ident"
359
+ version = "1.0.24"
360
+ source = "registry+https://github.com/rust-lang/crates.io-index"
361
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
362
+
363
+ [[package]]
364
+ name = "web_atoms"
365
+ version = "0.2.5"
366
+ source = "registry+https://github.com/rust-lang/crates.io-index"
367
+ checksum = "075474b12bcb3d2e3d4546580e9de478eeeead668a1761e2a8860c836b7ef297"
368
+ dependencies = [
369
+ "phf",
370
+ "phf_codegen",
371
+ "string_cache",
372
+ "string_cache_codegen",
373
+ ]
374
+
375
+ [[package]]
376
+ name = "windows-link"
377
+ version = "0.2.1"
378
+ source = "registry+https://github.com/rust-lang/crates.io-index"
379
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
@@ -0,0 +1,22 @@
1
+ [package]
2
+ name = "fast5ever"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ license = "Apache-2.0"
6
+ description = "WHATWG-compliant HTML parsing, mutation, and serialization for Python, powered by Rust's html5ever"
7
+ readme = "README.md"
8
+
9
+ [lib]
10
+ name = "fast5ever"
11
+ crate-type = ["cdylib", "rlib"]
12
+
13
+ [dependencies]
14
+ html5ever = "0.39.0"
15
+ pyo3 = { version = ">=0.28", optional = true }
16
+
17
+ [features]
18
+ python = ["dep:pyo3"]
19
+ extension-module = ["python", "pyo3/extension-module"]
20
+
21
+ [lints.clippy]
22
+ too_many_arguments = "allow"
fast5ever-0.1.0/DEV.md ADDED
@@ -0,0 +1,21 @@
1
+ # Development
2
+
3
+ ## Commands
4
+
5
+ ```bash
6
+ maturin develop && pytest -q
7
+ ship-rs-build
8
+ ```
9
+
10
+ ## Versioning
11
+
12
+ The canonical version lives in `Cargo.toml`. `pyproject.toml` gets the Python package version from Cargo via `dynamic = ["version"]`.
13
+
14
+ ## Release
15
+
16
+ Release flow is: release first, then bump.
17
+
18
+ 1. Run `maturin develop && pytest -q`.
19
+ 2. Confirm the release version in `Cargo.toml` (`[package].version`).
20
+ 3. Run `ship-rs-release`.
21
+ 4. After pushing the release tag, run `ship-bump`, commit the `Cargo.toml` version bump, and push to `main` without a tag.