firre 0.1.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.
@@ -0,0 +1,249 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, master]
6
+ tags: ["*"]
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ linux-x86_64:
15
+ runs-on: ubuntu-22.04
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Build Linux x86_64 wheels
20
+ uses: PyO3/maturin-action@v1
21
+ with:
22
+ target: x86_64
23
+ manylinux: auto
24
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
25
+ args: --release --out dist --interpreter 3.10 3.11 3.12 3.13
26
+
27
+ - uses: actions/upload-artifact@v4
28
+ with:
29
+ name: dist-linux-x86_64
30
+ path: dist/*
31
+
32
+ linux-aarch64:
33
+ runs-on: ubuntu-24.04-arm
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+
37
+ - name: Build Linux aarch64 wheels
38
+ uses: PyO3/maturin-action@v1
39
+ with:
40
+ target: aarch64
41
+ manylinux: auto
42
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
43
+ args: --release --out dist --interpreter 3.10 3.11 3.12 3.13
44
+
45
+ - uses: actions/upload-artifact@v4
46
+ with:
47
+ name: dist-linux-aarch64
48
+ path: dist/*
49
+
50
+ musllinux-x86_64:
51
+ runs-on: ubuntu-22.04
52
+ steps:
53
+ - uses: actions/checkout@v4
54
+
55
+ - name: Build musllinux x86_64 wheels
56
+ uses: PyO3/maturin-action@v1
57
+ with:
58
+ target: x86_64
59
+ manylinux: musllinux_1_2
60
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
61
+ args: --release --out dist --interpreter 3.10 3.11 3.12 3.13
62
+
63
+ - uses: actions/upload-artifact@v4
64
+ with:
65
+ name: dist-musllinux-x86_64
66
+ path: dist/*
67
+
68
+ windows:
69
+ runs-on: ${{ matrix.runner }}
70
+ strategy:
71
+ matrix:
72
+ include:
73
+ - runner: windows-latest
74
+ target: x64
75
+ python_arch: x64
76
+ - runner: windows-latest
77
+ target: x86
78
+ python_arch: x86
79
+ - runner: windows-11-arm
80
+ target: aarch64
81
+ python_arch: arm64
82
+ steps:
83
+ - uses: actions/checkout@v4
84
+
85
+ - uses: actions/setup-python@v5
86
+ with:
87
+ python-version: "3.13"
88
+ architecture: ${{ matrix.python_arch }}
89
+
90
+ - name: Build Windows wheels
91
+ uses: PyO3/maturin-action@v1
92
+ with:
93
+ target: ${{ matrix.target }}
94
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
95
+ args: --release --out dist --interpreter 3.13
96
+
97
+ - uses: actions/upload-artifact@v4
98
+ with:
99
+ name: dist-windows-${{ matrix.target }}
100
+ path: dist/*
101
+
102
+ macos:
103
+ runs-on: ${{ matrix.runner }}
104
+ strategy:
105
+ matrix:
106
+ include:
107
+ - runner: macos-15-intel
108
+ target: x86_64
109
+ - runner: macos-latest
110
+ target: aarch64
111
+ steps:
112
+ - uses: actions/checkout@v4
113
+
114
+ - name: Build macOS wheels
115
+ uses: PyO3/maturin-action@v1
116
+ with:
117
+ target: ${{ matrix.target }}
118
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
119
+ args: --release --out dist --interpreter 3.10 3.11 3.12 3.13
120
+
121
+ - uses: actions/upload-artifact@v4
122
+ with:
123
+ name: dist-macos-${{ matrix.target }}
124
+ path: dist/*
125
+
126
+ sdist:
127
+ runs-on: ubuntu-latest
128
+ steps:
129
+ - uses: actions/checkout@v4
130
+
131
+ - name: Build sdist
132
+ uses: PyO3/maturin-action@v1
133
+ with:
134
+ command: sdist
135
+ args: --out dist
136
+
137
+ - uses: actions/upload-artifact@v4
138
+ with:
139
+ name: dist-sdist
140
+ path: dist/*
141
+
142
+ android-wheel:
143
+ runs-on: ubuntu-22.04
144
+ if: startsWith(github.ref, 'refs/tags/')
145
+ steps:
146
+ - uses: actions/checkout@v4
147
+
148
+ - uses: actions/setup-python@v5
149
+ with:
150
+ python-version: "3.13"
151
+
152
+ - name: Install cibuildwheel
153
+ run: python -m pip install "cibuildwheel==3.4.0"
154
+
155
+ - name: Build Android wheel
156
+ env:
157
+ CIBW_PLATFORM: android
158
+ CIBW_BUILD: cp313-android_aarch64
159
+ CIBW_BUILD_FRONTEND: build
160
+ CIBW_BUILD_VERBOSITY: 1
161
+ run: python -m cibuildwheel --output-dir android-wheelhouse
162
+
163
+ - uses: actions/upload-artifact@v4
164
+ with:
165
+ name: dist-android-wheel
166
+ path: android-wheelhouse/*.whl
167
+
168
+ release-github:
169
+ name: Upload everything to GitHub Releases
170
+ runs-on: ubuntu-latest
171
+ if: startsWith(github.ref, 'refs/tags/')
172
+ needs:
173
+ - linux-x86_64
174
+ - linux-aarch64
175
+ - musllinux-x86_64
176
+ - windows
177
+ - macos
178
+ - sdist
179
+ - android-wheel
180
+ permissions:
181
+ contents: write
182
+ steps:
183
+ - uses: actions/download-artifact@v4
184
+ with:
185
+ path: release-dist
186
+ merge-multiple: true
187
+
188
+ - name: Show files
189
+ run: ls -lah release-dist
190
+
191
+ - name: Upload assets to GitHub Release
192
+ uses: softprops/action-gh-release@v2
193
+ with:
194
+ files: release-dist/*
195
+ generate_release_notes: true
196
+
197
+ release-pypi:
198
+ name: Publish PyPI dists only
199
+ runs-on: ubuntu-latest
200
+ if: startsWith(github.ref, 'refs/tags/')
201
+ needs:
202
+ - linux-x86_64
203
+ - linux-aarch64
204
+ - musllinux-x86_64
205
+ - windows
206
+ - macos
207
+ - sdist
208
+ permissions:
209
+ contents: read
210
+ id-token: write
211
+ steps:
212
+ - uses: actions/download-artifact@v4
213
+ with:
214
+ path: dist
215
+ merge-multiple: true
216
+
217
+ - name: Keep only PyPI-valid distributions
218
+ shell: bash
219
+ run: |
220
+ shopt -s nullglob
221
+
222
+ # remove android wheels from PyPI upload set
223
+ rm -f dist/*android*.whl || true
224
+
225
+ # remove anything that isn't a wheel or sdist
226
+ for f in dist/*; do
227
+ base="$(basename "$f")"
228
+ case "$base" in
229
+ *.whl|*.tar.gz) ;;
230
+ *) rm -f "$f" ;;
231
+ esac
232
+ done
233
+
234
+ # remove raw linux wheels if any slip through
235
+ for f in dist/*.whl; do
236
+ base="$(basename "$f")"
237
+ if [[ "$base" == *-linux_* ]] && [[ "$base" != *manylinux* ]] && [[ "$base" != *musllinux* ]]; then
238
+ echo "Removing non-PyPI wheel: $base"
239
+ rm -f "$f"
240
+ fi
241
+ done
242
+
243
+ ls -lah dist
244
+
245
+ - name: Publish to PyPI
246
+ uses: pypa/gh-action-pypi-publish@release/v1
247
+ with:
248
+ packages-dir: dist
249
+ skip-existing: true
firre-0.1.4/.gitignore ADDED
@@ -0,0 +1,71 @@
1
+ /target
2
+ example.py
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
+ build/
16
+ develop-eggs/
17
+ dist/
18
+ eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ include/
25
+ man/
26
+ venv/
27
+ *.egg-info/
28
+ .installed.cfg
29
+ *.egg
30
+
31
+ # Installer logs
32
+ pip-log.txt
33
+ pip-delete-this-directory.txt
34
+ pip-selfcheck.json
35
+
36
+ # Unit test / coverage reports
37
+ htmlcov/
38
+ .tox/
39
+ .coverage
40
+ .cache
41
+ nosetests.xml
42
+ coverage.xml
43
+
44
+ # Translations
45
+ *.mo
46
+
47
+ # Mr Developer
48
+ .mr.developer.cfg
49
+ .project
50
+ .pydevproject
51
+
52
+ # Rope
53
+ .ropeproject
54
+
55
+ # Django stuff:
56
+ *.log
57
+ *.pot
58
+
59
+ .DS_Store
60
+
61
+ # Sphinx documentation
62
+ docs/_build/
63
+
64
+ # PyCharm
65
+ .idea/
66
+
67
+ # VSCode
68
+ .vscode/
69
+
70
+ # Pyenv
71
+ .python-version