orcsv 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,5 @@
1
+ # Local development: enables SSE4.2 + POPCNT for x86_64.
2
+ # CI builds should set RUSTFLAGS via maturin or GitHub Actions.
3
+ # These only apply to the native host target.
4
+ [target.'cfg(all(target_arch = "x86_64"))']
5
+ rustflags = ["-C", "target-feature=+sse4.2,+popcnt"]
@@ -0,0 +1,230 @@
1
+ # This file is autogenerated by maturin v1.14.1
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci github
5
+ #
6
+ name: CI
7
+
8
+ on:
9
+ push:
10
+ branches:
11
+ - main
12
+ - master
13
+ tags:
14
+ - '*'
15
+ pull_request:
16
+ workflow_dispatch:
17
+
18
+ permissions:
19
+ contents: read
20
+
21
+ jobs:
22
+ linux:
23
+ runs-on: ${{ matrix.platform.runner }}
24
+ strategy:
25
+ matrix:
26
+ platform:
27
+ - runner: ubuntu-22.04
28
+ target: x86_64
29
+ - runner: ubuntu-22.04
30
+ target: x86
31
+ - runner: ubuntu-22.04
32
+ target: aarch64
33
+ - runner: ubuntu-22.04
34
+ target: armv7
35
+ - runner: ubuntu-22.04
36
+ target: s390x
37
+ - runner: ubuntu-22.04
38
+ target: ppc64le
39
+ steps:
40
+ - uses: actions/checkout@v6
41
+ - uses: actions/setup-python@v6
42
+ with:
43
+ python-version: "3.x"
44
+ - name: Build wheels
45
+ uses: PyO3/maturin-action@v1
46
+ with:
47
+ target: ${{ matrix.platform.target }}
48
+ args: --release --out dist --find-interpreter
49
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
50
+ manylinux: auto
51
+ - name: Smoke test wheel
52
+ if: matrix.platform.target == 'x86_64'
53
+ run: |
54
+ python -m pip install --upgrade pip
55
+ python -m pip install orcsv --no-index --find-links dist
56
+ python - <<'PY'
57
+ import orcsv
58
+ assert orcsv.loads("a,b\n1,2") == [["a", "b"], ["1", "2"]]
59
+ PY
60
+ - name: Upload wheels
61
+ uses: actions/upload-artifact@v6
62
+ with:
63
+ name: wheels-linux-${{ matrix.platform.target }}
64
+ path: dist
65
+
66
+ musllinux:
67
+ runs-on: ${{ matrix.platform.runner }}
68
+ strategy:
69
+ matrix:
70
+ platform:
71
+ - runner: ubuntu-22.04
72
+ target: x86_64
73
+ - runner: ubuntu-22.04
74
+ target: x86
75
+ - runner: ubuntu-22.04
76
+ target: aarch64
77
+ - runner: ubuntu-22.04
78
+ target: armv7
79
+ steps:
80
+ - uses: actions/checkout@v6
81
+ - uses: actions/setup-python@v6
82
+ with:
83
+ python-version: "3.x"
84
+ - name: Build wheels
85
+ uses: PyO3/maturin-action@v1
86
+ with:
87
+ target: ${{ matrix.platform.target }}
88
+ args: --release --out dist --find-interpreter
89
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
90
+ manylinux: musllinux_1_2
91
+ - name: Smoke test wheel
92
+ if: false
93
+ run: |
94
+ python -m pip install --upgrade pip
95
+ python -m pip install orcsv --no-index --find-links dist
96
+ python - <<'PY'
97
+ import orcsv
98
+ assert orcsv.loads("a,b\n1,2") == [["a", "b"], ["1", "2"]]
99
+ PY
100
+ - name: Upload wheels
101
+ uses: actions/upload-artifact@v6
102
+ with:
103
+ name: wheels-musllinux-${{ matrix.platform.target }}
104
+ path: dist
105
+
106
+ windows:
107
+ runs-on: ${{ matrix.platform.runner }}
108
+ strategy:
109
+ matrix:
110
+ platform:
111
+ - runner: windows-latest
112
+ target: x64
113
+ python_arch: x64
114
+ - runner: windows-latest
115
+ target: x86
116
+ python_arch: x86
117
+ - runner: windows-11-arm
118
+ target: aarch64
119
+ python_arch: arm64
120
+ steps:
121
+ - uses: actions/checkout@v6
122
+ - uses: actions/setup-python@v6
123
+ with:
124
+ python-version: "3.13"
125
+ architecture: ${{ matrix.platform.python_arch }}
126
+ - name: Build wheels
127
+ uses: PyO3/maturin-action@v1
128
+ with:
129
+ target: ${{ matrix.platform.target }}
130
+ args: --release --out dist --find-interpreter
131
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
132
+ - name: Smoke test wheel
133
+ if: matrix.platform.target != 'aarch64'
134
+ shell: bash
135
+ run: |
136
+ python -m pip install --upgrade pip
137
+ python -m pip install orcsv --no-index --find-links dist
138
+ python - <<'PY'
139
+ import orcsv
140
+ assert orcsv.loads("a,b\n1,2") == [["a", "b"], ["1", "2"]]
141
+ PY
142
+ - name: Upload wheels
143
+ uses: actions/upload-artifact@v6
144
+ with:
145
+ name: wheels-windows-${{ matrix.platform.target }}
146
+ path: dist
147
+
148
+ macos:
149
+ runs-on: ${{ matrix.platform.runner }}
150
+ strategy:
151
+ matrix:
152
+ platform:
153
+ - runner: macos-15-intel
154
+ target: x86_64
155
+ - runner: macos-latest
156
+ target: aarch64
157
+ steps:
158
+ - uses: actions/checkout@v6
159
+ - uses: actions/setup-python@v6
160
+ with:
161
+ python-version: "3.x"
162
+ - name: Build wheels
163
+ uses: PyO3/maturin-action@v1
164
+ with:
165
+ target: ${{ matrix.platform.target }}
166
+ args: --release --out dist --find-interpreter
167
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
168
+ - name: Smoke test wheel
169
+ run: |
170
+ python -m pip install --upgrade pip
171
+ python -m pip install orcsv --no-index --find-links dist
172
+ python - <<'PY'
173
+ import orcsv
174
+ assert orcsv.loads("a,b\n1,2") == [["a", "b"], ["1", "2"]]
175
+ PY
176
+ - name: Upload wheels
177
+ uses: actions/upload-artifact@v6
178
+ with:
179
+ name: wheels-macos-${{ matrix.platform.target }}
180
+ path: dist
181
+
182
+ sdist:
183
+ runs-on: ubuntu-latest
184
+ steps:
185
+ - uses: actions/checkout@v6
186
+ - name: Build sdist
187
+ uses: PyO3/maturin-action@v1
188
+ with:
189
+ command: sdist
190
+ args: --out dist
191
+ - name: Smoke test sdist
192
+ run: |
193
+ python -m pip install --upgrade pip
194
+ python -m pip install dist/*.tar.gz
195
+ python - <<'PY'
196
+ import orcsv
197
+ assert orcsv.loads("a,b\n1,2") == [["a", "b"], ["1", "2"]]
198
+ PY
199
+ - name: Upload sdist
200
+ uses: actions/upload-artifact@v6
201
+ with:
202
+ name: wheels-sdist
203
+ path: dist
204
+
205
+ release:
206
+ name: Release
207
+ runs-on: ubuntu-latest
208
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
209
+ needs: [linux, musllinux, windows, macos, sdist]
210
+ permissions:
211
+ # Use to sign the release artifacts
212
+ id-token: write
213
+ # Used to upload release artifacts
214
+ contents: write
215
+ # Used to generate artifact attestation
216
+ attestations: write
217
+ steps:
218
+ - uses: actions/download-artifact@v7
219
+ - name: Generate artifact attestation
220
+ uses: actions/attest@v4
221
+ with:
222
+ subject-path: 'wheels-*/*'
223
+ - name: Install uv
224
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
225
+ uses: astral-sh/setup-uv@v7
226
+ - name: Publish to PyPI
227
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
228
+ run: uv publish 'wheels-*/*'
229
+ env:
230
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
orcsv-0.1.0/.gitignore ADDED
@@ -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