rust-pgn-reader-python-binding 4.0.0__tar.gz → 4.2.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 (39) hide show
  1. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/.github/workflows/CI.yml +41 -14
  2. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/.gitignore +9 -0
  3. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/Cargo.lock +324 -377
  4. rust_pgn_reader_python_binding-4.2.0/Cargo.toml +44 -0
  5. rust_pgn_reader_python_binding-4.2.0/PGO.md +11 -0
  6. rust_pgn_reader_python_binding-4.2.0/PKG-INFO +99 -0
  7. rust_pgn_reader_python_binding-4.2.0/PROFILING.md +14 -0
  8. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/README.md +29 -9
  9. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/pyproject.toml +10 -1
  10. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/rust_pgn_reader_python_binding.pyi +9 -0
  11. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/bench_data_access.py +2 -10
  12. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/bench_parse_games.py +6 -6
  13. rust_pgn_reader_python_binding-4.2.0/src/bench_parse_games_singlethreaded.py +16 -0
  14. rust_pgn_reader_python_binding-4.2.0/src/bench_parse_pgn.py +50 -0
  15. rust_pgn_reader_python_binding-4.2.0/src/board_serialization.rs +289 -0
  16. rust_pgn_reader_python_binding-4.2.0/src/comment_parsing.rs +169 -0
  17. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/example_rowgroup.py +4 -4
  18. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/lib.rs +32 -24
  19. rust_pgn_reader_python_binding-4.2.0/src/san_resolver.rs +503 -0
  20. rust_pgn_reader_python_binding-4.2.0/src/splitter.rs +198 -0
  21. rust_pgn_reader_python_binding-4.2.0/src/tokenizer.rs +560 -0
  22. rust_pgn_reader_python_binding-4.2.0/src/visitor.rs +1060 -0
  23. rust_pgn_reader_python_binding-4.2.0/tools/check_stubs.py +129 -0
  24. rust_pgn_reader_python_binding-4.2.0/tools/profile_digest.py +520 -0
  25. rust_pgn_reader_python_binding-4.0.0/Cargo.toml +0 -34
  26. rust_pgn_reader_python_binding-4.0.0/PKG-INFO +0 -7
  27. rust_pgn_reader_python_binding-4.0.0/src/bench_parse_game.py +0 -19
  28. rust_pgn_reader_python_binding-4.0.0/src/bench_parse_game_pgn.py +0 -28
  29. rust_pgn_reader_python_binding-4.0.0/src/bench_parse_games_from_strings.py +0 -16
  30. rust_pgn_reader_python_binding-4.0.0/src/board_serialization.rs +0 -133
  31. rust_pgn_reader_python_binding-4.0.0/src/comment_parsing.rs +0 -486
  32. rust_pgn_reader_python_binding-4.0.0/src/visitor.rs +0 -849
  33. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/benches/parquet_bench.rs +0 -0
  34. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/example_chess960.py +0 -0
  35. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/example_complex.py +0 -0
  36. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/example_parse_games.py +0 -0
  37. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/example_str.py +0 -0
  38. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/python_bindings.rs +0 -0
  39. {rust_pgn_reader_python_binding-4.0.0 → rust_pgn_reader_python_binding-4.2.0}/src/test.py +0 -0
@@ -1,4 +1,4 @@
1
- # This file is autogenerated by maturin v1.11.0
1
+ # This file is autogenerated by maturin v1.14.1
2
2
  # To update, run
3
3
  #
4
4
  # maturin generate-ci github
@@ -28,10 +28,16 @@ jobs:
28
28
  target: x86_64
29
29
  - runner: ubuntu-22.04
30
30
  target: x86
31
+ # hack
32
+ # numpy supports free-threaded Python on 32-bit targets only from 3.15.
33
+ # TODO: Remove this once Maturin can exclude
34
+ # interpreters from --find-interpreter.
35
+ interpreter: python3.9 python3.10 python3.11 python3.12 python3.13 python3.14 python3.15 python3.15t pypy3.11 pypy3.12
31
36
  - runner: ubuntu-22.04
32
37
  target: aarch64
33
38
  - runner: ubuntu-22.04
34
39
  target: armv7
40
+ interpreter: python3.9 python3.10 python3.11 python3.12 python3.13 python3.14 python3.15 python3.15t pypy3.11 pypy3.12
35
41
  - runner: ubuntu-22.04
36
42
  target: s390x
37
43
  - runner: ubuntu-22.04
@@ -40,16 +46,16 @@ jobs:
40
46
  - uses: actions/checkout@v6
41
47
  - uses: actions/setup-python@v6
42
48
  with:
43
- python-version: 3.x
49
+ python-version: "3.9"
44
50
  - name: Build wheels
45
51
  uses: PyO3/maturin-action@v1
46
52
  with:
47
53
  target: ${{ matrix.platform.target }}
48
- args: --release --out dist --find-interpreter
54
+ args: --release --out dist ${{ matrix.platform.interpreter && format('--interpreter {0}', matrix.platform.interpreter) || '--find-interpreter' }}
49
55
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
50
56
  manylinux: auto
51
57
  - name: Upload wheels
52
- uses: actions/upload-artifact@v5
58
+ uses: actions/upload-artifact@v6
53
59
  with:
54
60
  name: wheels-linux-${{ matrix.platform.target }}
55
61
  path: dist
@@ -63,24 +69,26 @@ jobs:
63
69
  target: x86_64
64
70
  - runner: ubuntu-22.04
65
71
  target: x86
72
+ interpreter: python3.9 python3.10 python3.11 python3.12 python3.13 python3.14 python3.15 python3.15t pypy3.11 pypy3.12
66
73
  - runner: ubuntu-22.04
67
74
  target: aarch64
68
75
  - runner: ubuntu-22.04
69
76
  target: armv7
77
+ interpreter: python3.9 python3.10 python3.11 python3.12 python3.13 python3.14 python3.15 python3.15t pypy3.11 pypy3.12
70
78
  steps:
71
79
  - uses: actions/checkout@v6
72
80
  - uses: actions/setup-python@v6
73
81
  with:
74
- python-version: 3.x
82
+ python-version: "3.9"
75
83
  - name: Build wheels
76
84
  uses: PyO3/maturin-action@v1
77
85
  with:
78
86
  target: ${{ matrix.platform.target }}
79
- args: --release --out dist --find-interpreter
87
+ args: --release --out dist ${{ matrix.platform.interpreter && format('--interpreter {0}', matrix.platform.interpreter) || '--find-interpreter' }}
80
88
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
81
89
  manylinux: musllinux_1_2
82
90
  - name: Upload wheels
83
- uses: actions/upload-artifact@v5
91
+ uses: actions/upload-artifact@v6
84
92
  with:
85
93
  name: wheels-musllinux-${{ matrix.platform.target }}
86
94
  path: dist
@@ -103,7 +111,7 @@ jobs:
103
111
  - uses: actions/checkout@v6
104
112
  - uses: actions/setup-python@v6
105
113
  with:
106
- python-version: 3.13
114
+ python-version: "3.13"
107
115
  architecture: ${{ matrix.platform.python_arch }}
108
116
  - name: Build wheels
109
117
  uses: PyO3/maturin-action@v1
@@ -112,7 +120,7 @@ jobs:
112
120
  args: --release --out dist --find-interpreter
113
121
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
114
122
  - name: Upload wheels
115
- uses: actions/upload-artifact@v5
123
+ uses: actions/upload-artifact@v6
116
124
  with:
117
125
  name: wheels-windows-${{ matrix.platform.target }}
118
126
  path: dist
@@ -130,7 +138,7 @@ jobs:
130
138
  - uses: actions/checkout@v6
131
139
  - uses: actions/setup-python@v6
132
140
  with:
133
- python-version: 3.x
141
+ python-version: "3.9"
134
142
  - name: Build wheels
135
143
  uses: PyO3/maturin-action@v1
136
144
  with:
@@ -138,11 +146,30 @@ jobs:
138
146
  args: --release --out dist --find-interpreter
139
147
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
140
148
  - name: Upload wheels
141
- uses: actions/upload-artifact@v5
149
+ uses: actions/upload-artifact@v6
142
150
  with:
143
151
  name: wheels-macos-${{ matrix.platform.target }}
144
152
  path: dist
145
153
 
154
+ # Custom job (not from `maturin generate-ci`): keeps the hand-maintained
155
+ # .pyi stub in sync with the Rust bindings by comparing its symbol surface
156
+ # against PyO3's auto-generated stub.
157
+ stubs:
158
+ runs-on: ubuntu-latest
159
+ steps:
160
+ - uses: actions/checkout@v6
161
+ - uses: actions/setup-python@v6
162
+ with:
163
+ python-version: "3.13"
164
+ - name: Generate stubs
165
+ uses: PyO3/maturin-action@v1
166
+ with:
167
+ command: generate-stubs
168
+ args: --out stubs --features stubgen --find-interpreter
169
+ - name: Check for stub drift
170
+ # maturin >= 1.15 writes stubs in package layout: <out>/<module>/__init__.pyi
171
+ run: python tools/check_stubs.py --generated stubs/rust_pgn_reader_python_binding/__init__.pyi
172
+
146
173
  sdist:
147
174
  runs-on: ubuntu-latest
148
175
  steps:
@@ -153,7 +180,7 @@ jobs:
153
180
  command: sdist
154
181
  args: --out dist
155
182
  - name: Upload sdist
156
- uses: actions/upload-artifact@v5
183
+ uses: actions/upload-artifact@v6
157
184
  with:
158
185
  name: wheels-sdist
159
186
  path: dist
@@ -171,7 +198,7 @@ jobs:
171
198
  # Used to generate artifact attestation
172
199
  attestations: write
173
200
  steps:
174
- - uses: actions/download-artifact@v6
201
+ - uses: actions/download-artifact@v7
175
202
  - name: Generate artifact attestation
176
203
  uses: actions/attest-build-provenance@v3
177
204
  with:
@@ -181,4 +208,4 @@ jobs:
181
208
  uses: astral-sh/setup-uv@v7
182
209
  - name: Publish to PyPI
183
210
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
184
- run: uv publish 'wheels-*/*'
211
+ run: uv publish 'wheels-*/*'
@@ -70,3 +70,12 @@ docs/_build/
70
70
 
71
71
  # Pyenv
72
72
  .python-version
73
+
74
+ # Local benchmark data and derived reference dumps
75
+ *.parquet
76
+ *.pgn
77
+
78
+ # Profiling artifacts (samply profile + tools/profile_digest.py output)
79
+ /profile.json
80
+ /profile.json.gz
81
+ /profile_out/