splotrs 0.1.1__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,372 @@
1
+ # yamloom: generated from .yamloom.py
2
+ ---
3
+ name: Build and Release (Python)
4
+ "on":
5
+ push:
6
+ branches:
7
+ - main
8
+ tags:
9
+ - "*"
10
+ pull_request: ~
11
+ workflow_dispatch: ~
12
+ jobs:
13
+ build-test-check:
14
+ permissions:
15
+ contents: read
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - name: Checkout Repository
19
+ uses: actions/checkout@v6
20
+ - name: Setup Rust
21
+ uses: actions-rust-lang/setup-rust-toolchain@v1
22
+ with:
23
+ components: clippy
24
+ - name: Setup uv
25
+ uses: astral-sh/setup-uv@v7
26
+ with:
27
+ python-version: "3.10"
28
+ - run: cargo clippy
29
+ - run: cargo test
30
+ - run: |-
31
+ uv venv
32
+ . .venv/bin/activate
33
+ echo PATH=$PATH >> $GITHUB_ENV
34
+ uvx maturin develop --uv --generate-stubs
35
+ - run: uv pip install pytest numpy matplotlib yamloom
36
+ - run: uvx ruff check
37
+ - run: uvx ty check
38
+ - run: uv run pytest
39
+ linux:
40
+ name: Build Linux Wheels
41
+ permissions:
42
+ contents: read
43
+ needs:
44
+ - build-test-check
45
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
46
+ runs-on: ${{ matrix.platform.runner }}
47
+ strategy:
48
+ matrix:
49
+ platform:
50
+ - runner: ubuntu-22.04
51
+ target: x86_64
52
+ python_versions:
53
+ - "3.10"
54
+ - "3.11"
55
+ - "3.12"
56
+ - "3.13"
57
+ - "3.14"
58
+ - 3.14t
59
+ - pypy3.11
60
+ - runner: ubuntu-22.04
61
+ target: x86
62
+ python_versions:
63
+ - "3.10"
64
+ - "3.11"
65
+ - "3.12"
66
+ - "3.13"
67
+ - "3.14"
68
+ - 3.14t
69
+ - pypy3.11
70
+ - runner: ubuntu-22.04
71
+ target: aarch64
72
+ python_versions:
73
+ - "3.10"
74
+ - "3.11"
75
+ - "3.12"
76
+ - "3.13"
77
+ - "3.14"
78
+ - 3.14t
79
+ - pypy3.11
80
+ - runner: ubuntu-22.04
81
+ target: armv7
82
+ python_versions:
83
+ - "3.10"
84
+ - "3.11"
85
+ - "3.12"
86
+ - "3.13"
87
+ - "3.14"
88
+ - 3.14t
89
+ - pypy3.11
90
+ - runner: ubuntu-22.04
91
+ target: s390x
92
+ python_versions:
93
+ - "3.10"
94
+ - "3.11"
95
+ - "3.12"
96
+ - "3.13"
97
+ - "3.14"
98
+ - 3.14t
99
+ - pypy3.11
100
+ - runner: ubuntu-22.04
101
+ target: ppc64le
102
+ python_versions:
103
+ - "3.10"
104
+ - "3.11"
105
+ - "3.12"
106
+ - "3.13"
107
+ - "3.14"
108
+ - 3.14t
109
+ - pypy3.11
110
+ fail-fast: false
111
+ steps:
112
+ - name: Checkout Repository
113
+ uses: actions/checkout@v6
114
+ - run: printf "%s\n" ${{ join(matrix.platform.python_versions, ' ') }} > .yamloom-python-versions
115
+ - name: Setup Python
116
+ uses: actions/setup-python@v6
117
+ with:
118
+ python-version-file: ".yamloom-python-versions"
119
+ - name: Build wheels
120
+ uses: PyO3/maturin-action@v1
121
+ with:
122
+ manylinux: "2014"
123
+ target: ${{ matrix.platform.target }}
124
+ sccache: ${{ !(startsWith(github.ref, 'refs/tags/')) }}
125
+ args: --release --out dist --interpreter ${{ join(matrix.platform.python_versions, ' ') }}
126
+ - name: Upload Artifact
127
+ uses: actions/upload-artifact@v6
128
+ with:
129
+ path: dist
130
+ name: wheels-linux-${{ matrix.platform.target }}
131
+ musllinux:
132
+ name: Build musllinux Wheels
133
+ permissions:
134
+ contents: read
135
+ needs:
136
+ - build-test-check
137
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
138
+ runs-on: ${{ matrix.platform.runner }}
139
+ strategy:
140
+ matrix:
141
+ platform:
142
+ - runner: ubuntu-22.04
143
+ target: x86_64
144
+ python_versions:
145
+ - "3.10"
146
+ - "3.11"
147
+ - "3.12"
148
+ - "3.13"
149
+ - "3.14"
150
+ - 3.14t
151
+ - pypy3.11
152
+ - runner: ubuntu-22.04
153
+ target: x86
154
+ python_versions:
155
+ - "3.10"
156
+ - "3.11"
157
+ - "3.12"
158
+ - "3.13"
159
+ - "3.14"
160
+ - 3.14t
161
+ - pypy3.11
162
+ - runner: ubuntu-22.04
163
+ target: aarch64
164
+ python_versions:
165
+ - "3.10"
166
+ - "3.11"
167
+ - "3.12"
168
+ - "3.13"
169
+ - "3.14"
170
+ - 3.14t
171
+ - pypy3.11
172
+ - runner: ubuntu-22.04
173
+ target: armv7
174
+ python_versions:
175
+ - "3.10"
176
+ - "3.11"
177
+ - "3.12"
178
+ - "3.13"
179
+ - "3.14"
180
+ - 3.14t
181
+ - pypy3.11
182
+ fail-fast: false
183
+ steps:
184
+ - name: Checkout Repository
185
+ uses: actions/checkout@v6
186
+ - run: printf "%s\n" ${{ join(matrix.platform.python_versions, ' ') }} > .yamloom-python-versions
187
+ - name: Setup Python
188
+ uses: actions/setup-python@v6
189
+ with:
190
+ python-version-file: ".yamloom-python-versions"
191
+ - name: Build wheels
192
+ uses: PyO3/maturin-action@v1
193
+ with:
194
+ manylinux: musllinux_1_2
195
+ target: ${{ matrix.platform.target }}
196
+ sccache: ${{ !(startsWith(github.ref, 'refs/tags/')) }}
197
+ args: --release --out dist --interpreter ${{ join(matrix.platform.python_versions, ' ') }}
198
+ - name: Upload Artifact
199
+ uses: actions/upload-artifact@v6
200
+ with:
201
+ path: dist
202
+ name: wheels-musllinux-${{ matrix.platform.target }}
203
+ windows:
204
+ name: Build Windows Wheels
205
+ permissions:
206
+ contents: read
207
+ needs:
208
+ - build-test-check
209
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
210
+ runs-on: ${{ matrix.platform.runner }}
211
+ strategy:
212
+ matrix:
213
+ platform:
214
+ - runner: windows-latest
215
+ target: x64
216
+ python_versions:
217
+ - "3.10"
218
+ - "3.11"
219
+ - "3.12"
220
+ - "3.13"
221
+ - "3.14"
222
+ - 3.14t
223
+ - pypy3.11
224
+ python_arch: x64
225
+ - runner: windows-latest
226
+ target: x86
227
+ python_versions:
228
+ - "3.10"
229
+ - "3.11"
230
+ - "3.12"
231
+ - "3.13"
232
+ - "3.14"
233
+ - 3.14t
234
+ python_arch: x86
235
+ - runner: windows-11-arm
236
+ target: aarch64
237
+ python_versions:
238
+ - "3.12"
239
+ - "3.13"
240
+ - "3.14"
241
+ python_arch: arm64
242
+ fail-fast: false
243
+ steps:
244
+ - name: Checkout Repository
245
+ uses: actions/checkout@v6
246
+ - run: printf "%s\n" ${{ join(matrix.platform.python_versions, ' ') }} > .yamloom-python-versions
247
+ - name: Setup Python
248
+ uses: actions/setup-python@v6
249
+ with:
250
+ python-version-file: ".yamloom-python-versions"
251
+ architecture: ${{ matrix.platform.python_arch }}
252
+ - name: Build wheels
253
+ uses: PyO3/maturin-action@v1
254
+ with:
255
+ target: ${{ matrix.platform.target }}
256
+ sccache: ${{ !(startsWith(github.ref, 'refs/tags/')) }}
257
+ args: --release --out dist --interpreter ${{ join(matrix.platform.python_versions, ' ') }}
258
+ - name: Upload Artifact
259
+ uses: actions/upload-artifact@v6
260
+ with:
261
+ path: dist
262
+ name: wheels-windows-${{ matrix.platform.target }}
263
+ macos:
264
+ name: Build macOS Wheels
265
+ permissions:
266
+ contents: read
267
+ needs:
268
+ - build-test-check
269
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
270
+ runs-on: ${{ matrix.platform.runner }}
271
+ strategy:
272
+ matrix:
273
+ platform:
274
+ - runner: macos-15-intel
275
+ target: x86_64
276
+ python_versions:
277
+ - "3.10"
278
+ - "3.11"
279
+ - "3.12"
280
+ - "3.13"
281
+ - "3.14"
282
+ - 3.14t
283
+ - pypy3.11
284
+ - runner: macos-latest
285
+ target: aarch64
286
+ python_versions:
287
+ - "3.10"
288
+ - "3.11"
289
+ - "3.12"
290
+ - "3.13"
291
+ - "3.14"
292
+ - 3.14t
293
+ - pypy3.11
294
+ fail-fast: false
295
+ steps:
296
+ - name: Checkout Repository
297
+ uses: actions/checkout@v6
298
+ - run: printf "%s\n" ${{ join(matrix.platform.python_versions, ' ') }} > .yamloom-python-versions
299
+ - name: Setup Python
300
+ uses: actions/setup-python@v6
301
+ with:
302
+ python-version-file: ".yamloom-python-versions"
303
+ - name: Build wheels
304
+ uses: PyO3/maturin-action@v1
305
+ with:
306
+ target: ${{ matrix.platform.target }}
307
+ sccache: ${{ !(startsWith(github.ref, 'refs/tags/')) }}
308
+ args: --release --out dist --interpreter ${{ join(matrix.platform.python_versions, ' ') }}
309
+ - name: Upload Artifact
310
+ uses: actions/upload-artifact@v6
311
+ with:
312
+ path: dist
313
+ name: wheels-macos-${{ matrix.platform.target }}
314
+ sdist:
315
+ name: Build Source Distribution
316
+ permissions:
317
+ contents: read
318
+ needs:
319
+ - build-test-check
320
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
321
+ runs-on: ubuntu-22.04
322
+ steps:
323
+ - name: Checkout Repository
324
+ uses: actions/checkout@v6
325
+ - name: Build source distribution
326
+ uses: PyO3/maturin-action@v1
327
+ with:
328
+ command: sdist
329
+ args: "--out dist"
330
+ - name: Upload Artifact
331
+ uses: actions/upload-artifact@v6
332
+ with:
333
+ path: dist
334
+ name: wheels-sdist
335
+ release_python:
336
+ name: Release (Python)
337
+ permissions:
338
+ contents: write
339
+ id-token: write
340
+ needs:
341
+ - linux
342
+ - musllinux
343
+ - windows
344
+ - macos
345
+ - sdist
346
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
347
+ runs-on: ubuntu-22.04
348
+ environment: pypi
349
+ steps:
350
+ - name: Download Artifact
351
+ uses: actions/download-artifact@v7
352
+ - name: Setup uv
353
+ uses: astral-sh/setup-uv@v7
354
+ - run: uv publish --trusted-publishing always wheels-*/*
355
+ release_rust:
356
+ name: Release (Rust)
357
+ permissions:
358
+ contents: read
359
+ needs:
360
+ - linux
361
+ - musllinux
362
+ - windows
363
+ - macos
364
+ - sdist
365
+ if: ${{ (startsWith(github.ref, 'refs/tags/') || (github.event_name == 'workflow_dispatch')) }}
366
+ runs-on: ubuntu-22.04
367
+ steps:
368
+ - name: Checkout Repository
369
+ uses: actions/checkout@v6
370
+ - run: cargo publish
371
+ env:
372
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
@@ -0,0 +1,16 @@
1
+ # yamloom: generated from .yamloom.py
2
+ ---
3
+ name: Release Please
4
+ "on":
5
+ push:
6
+ branches:
7
+ - main
8
+ jobs:
9
+ release-please:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - name: Run release-please
13
+ uses: googleapis/release-please-action@v4
14
+ with:
15
+ token: ${{ secrets.RELEASE_PLEASE }}
16
+ id: release
@@ -0,0 +1,72 @@
1
+ /target
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ .pytest_cache/
6
+ *.py[cod]
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ .venv/
14
+ env/
15
+ bin/
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ include/
26
+ man/
27
+ venv/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # Installer logs
33
+ pip-log.txt
34
+ pip-delete-this-directory.txt
35
+ pip-selfcheck.json
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+
45
+ # Translations
46
+ *.mo
47
+
48
+ # Mr Developer
49
+ .mr.developer.cfg
50
+ .project
51
+ .pydevproject
52
+
53
+ # Rope
54
+ .ropeproject
55
+
56
+ # Django stuff:
57
+ *.log
58
+ *.pot
59
+
60
+ .DS_Store
61
+
62
+ # Sphinx documentation
63
+ docs/_build/
64
+
65
+ # PyCharm
66
+ .idea/
67
+
68
+ # VSCode
69
+ .vscode/
70
+
71
+ # Pyenv
72
+ .python-version
@@ -0,0 +1,44 @@
1
+ repos:
2
+ - repo: local
3
+ hooks:
4
+ - id: cargo-clippy
5
+ name: cargo clippy
6
+ entry: cargo clippy --all-targets --all-features -- -D warnings
7
+ language: system
8
+ pass_filenames: false
9
+ always_run: true
10
+
11
+ - id: cargo-test
12
+ name: cargo test
13
+ entry: cargo test --all-targets --all-features
14
+ language: system
15
+ pass_filenames: false
16
+ always_run: true
17
+
18
+ - id: ty-check
19
+ name: ty check
20
+ entry: ty check
21
+ language: system
22
+ pass_filenames: false
23
+ always_run: true
24
+
25
+ - id: ruff-check
26
+ name: ruff check
27
+ entry: ruff check .
28
+ language: system
29
+ pass_filenames: false
30
+ always_run: true
31
+
32
+ - id: pytest
33
+ name: pytest
34
+ entry: pytest
35
+ language: system
36
+ pass_filenames: false
37
+ always_run: true
38
+
39
+ - id: yamloom-check
40
+ name: yamloom check
41
+ entry: yamloom check --file .yamloom.py
42
+ language: system
43
+ pass_filenames: false
44
+ always_run: true
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.1"
3
+ }
@@ -0,0 +1,120 @@
1
+ from yamloom.actions.github.artifacts import DownloadArtifact
2
+ from yamloom.actions.github.release import ReleasePlease
3
+ from yamloom.actions.github.scm import Checkout
4
+ from yamloom.actions.toolchains.python import SetupUV
5
+ from yamloom.actions.toolchains.rust import SetupRust
6
+ from yamloom.expressions import context
7
+ from yamloom.workflows import MaturinBuildSuite
8
+
9
+ from yamloom import (
10
+ Environment,
11
+ Events,
12
+ Job,
13
+ Permissions,
14
+ PullRequestEvent,
15
+ PushEvent,
16
+ Workflow,
17
+ WorkflowDispatchEvent,
18
+ script,
19
+ sync,
20
+ )
21
+
22
+ build_condition = context.github.ref.startswith('refs/tags/') | (
23
+ context.github.event_name == 'workflow_dispatch'
24
+ )
25
+
26
+ build_jobs = MaturinBuildSuite(
27
+ python_profile='all',
28
+ needs=['build-test-check'],
29
+ condition=build_condition,
30
+ sccache=~context.github.ref.startswith('refs/tags/'),
31
+ minimum_python='3.10',
32
+ ).jobs()
33
+
34
+ release_workflow = Workflow(
35
+ name='Build and Release (Python)',
36
+ on=Events(
37
+ push=PushEvent(branches=['main'], tags=['*']),
38
+ pull_request=PullRequestEvent(),
39
+ workflow_dispatch=WorkflowDispatchEvent(),
40
+ ),
41
+ jobs={
42
+ 'build-test-check': Job(
43
+ runs_on='ubuntu-latest',
44
+ steps=[
45
+ Checkout(),
46
+ SetupRust(components=['clippy']),
47
+ SetupUV(python_version='3.10'),
48
+ script('cargo clippy'),
49
+ script('cargo test'),
50
+ script(
51
+ 'uv venv',
52
+ '. .venv/bin/activate',
53
+ 'echo PATH=$PATH >> $GITHUB_ENV',
54
+ 'uvx maturin develop --uv --generate-stubs',
55
+ ),
56
+ script('uv pip install pytest numpy matplotlib yamloom'),
57
+ script('uvx ruff check'),
58
+ script('uvx ty check'),
59
+ script('uv run pytest'),
60
+ ],
61
+ ),
62
+ **build_jobs,
63
+ 'release_python': Job(
64
+ name='Release (Python)',
65
+ runs_on='ubuntu-22.04',
66
+ steps=[
67
+ DownloadArtifact(),
68
+ SetupUV(),
69
+ script(
70
+ 'uv publish --trusted-publishing always wheels-*/*',
71
+ permissions=Permissions(id_token='write', contents='write'), # noqa: S106
72
+ ),
73
+ ],
74
+ condition=build_condition,
75
+ needs=list(build_jobs.keys()),
76
+ environment=Environment('pypi'),
77
+ ),
78
+ 'release_rust': Job(
79
+ name='Release (Rust)',
80
+ runs_on='ubuntu-22.04',
81
+ steps=[
82
+ Checkout(),
83
+ script(
84
+ 'cargo publish',
85
+ env={'CARGO_REGISTRY_TOKEN': context.secrets.CARGO_REGISTRY_TOKEN},
86
+ ),
87
+ ],
88
+ condition=build_condition,
89
+ needs=list(build_jobs.keys()),
90
+ ),
91
+ },
92
+ )
93
+
94
+ release_please_workflow = Workflow(
95
+ name='Release Please',
96
+ on=Events(
97
+ push=PushEvent(
98
+ branches=['main'],
99
+ ),
100
+ ),
101
+ jobs={
102
+ 'release-please': Job(
103
+ steps=[
104
+ ReleasePlease(
105
+ token=context.secrets.RELEASE_PLEASE,
106
+ id='release',
107
+ ),
108
+ ],
109
+ runs_on='ubuntu-latest',
110
+ )
111
+ },
112
+ )
113
+
114
+ if __name__ == '__main__':
115
+ sync(
116
+ {
117
+ 'release.yml': release_workflow,
118
+ 'release_please.yml': release_please_workflow,
119
+ }
120
+ )
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## [0.1.1](https://github.com/denehoffman/splotrs/compare/splotrs-v0.1.0...splotrs-v0.1.1) (2026-07-21)
4
+
5
+
6
+ ### Features
7
+
8
+ * Implement sPlot fitting library ([0b2c6e7](https://github.com/denehoffman/splotrs/commit/0b2c6e74d911cbc26825f9fe9850b2c6ba691cce))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Remove CI workflow ([17f7f04](https://github.com/denehoffman/splotrs/commit/17f7f04f20b2e2a45be01c26d46127c2cb46a5aa))