python-calamine 0.8.0__tar.gz → 0.8.2__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.
- python_calamine-0.8.2/.github/pyodide/pylock.314.toml +57 -0
- python_calamine-0.8.2/.github/pyodide/requirements.in +7 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/.github/workflows/CI.yml +99 -6
- {python_calamine-0.8.0 → python_calamine-0.8.2}/Cargo.lock +1 -1
- {python_calamine-0.8.0 → python_calamine-0.8.2}/Cargo.toml +1 -1
- {python_calamine-0.8.0 → python_calamine-0.8.2}/PKG-INFO +1 -1
- {python_calamine-0.8.0 → python_calamine-0.8.2}/pyproject.toml +1 -0
- python_calamine-0.8.2/uv.lock +1821 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/.github/dependabot.yml +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/.gitignore +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/.pre-commit-config.yaml +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/LICENSE +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/README.md +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/build.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/python/python_calamine/__init__.py +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/python/python_calamine/_python_calamine.pyi +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/python/python_calamine/py.typed +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/lib.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/types/cell.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/types/errors.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/types/mod.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/types/sheet.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/types/table.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/src/types/workbook.rs +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/__init__.py +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/conftest.py +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/any_sheets.ods +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/any_sheets.xls +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/any_sheets.xlsb +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/any_sheets.xlsx +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/base.ods +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/base.xls +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/base.xlsb +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/base.xlsx +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/empty_file.ods +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/empty_file.xlsb +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/empty_file.xlsx +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/issue139.xlsx +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/password.ods +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/password.xls +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/password.xlsb +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/password.xlsx +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/data/table-multiple.xlsx +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/test_base.py +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/test_pandas.py +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/test_sheet_type.py +0 -0
- {python_calamine-0.8.0 → python_calamine-0.8.2}/tests/test_tables.py +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
lock-version = "1.0"
|
|
2
|
+
created-by = "pip"
|
|
3
|
+
|
|
4
|
+
[[packages]]
|
|
5
|
+
name = "iniconfig"
|
|
6
|
+
version = "2.3.0"
|
|
7
|
+
|
|
8
|
+
[[packages.wheels]]
|
|
9
|
+
name = "iniconfig-2.3.0-py3-none-any.whl"
|
|
10
|
+
url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl"
|
|
11
|
+
|
|
12
|
+
[packages.wheels.hashes]
|
|
13
|
+
sha256 = "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"
|
|
14
|
+
|
|
15
|
+
[[packages]]
|
|
16
|
+
name = "packaging"
|
|
17
|
+
version = "26.2"
|
|
18
|
+
|
|
19
|
+
[[packages.wheels]]
|
|
20
|
+
name = "packaging-26.2-py3-none-any.whl"
|
|
21
|
+
url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"
|
|
22
|
+
|
|
23
|
+
[packages.wheels.hashes]
|
|
24
|
+
sha256 = "5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e"
|
|
25
|
+
|
|
26
|
+
[[packages]]
|
|
27
|
+
name = "pluggy"
|
|
28
|
+
version = "1.6.0"
|
|
29
|
+
|
|
30
|
+
[[packages.wheels]]
|
|
31
|
+
name = "pluggy-1.6.0-py3-none-any.whl"
|
|
32
|
+
url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"
|
|
33
|
+
|
|
34
|
+
[packages.wheels.hashes]
|
|
35
|
+
sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"
|
|
36
|
+
|
|
37
|
+
[[packages]]
|
|
38
|
+
name = "pygments"
|
|
39
|
+
version = "2.20.0"
|
|
40
|
+
|
|
41
|
+
[[packages.wheels]]
|
|
42
|
+
name = "pygments-2.20.0-py3-none-any.whl"
|
|
43
|
+
url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"
|
|
44
|
+
|
|
45
|
+
[packages.wheels.hashes]
|
|
46
|
+
sha256 = "81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176"
|
|
47
|
+
|
|
48
|
+
[[packages]]
|
|
49
|
+
name = "pytest"
|
|
50
|
+
version = "9.1.1"
|
|
51
|
+
|
|
52
|
+
[[packages.wheels]]
|
|
53
|
+
name = "pytest-9.1.1-py3-none-any.whl"
|
|
54
|
+
url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl"
|
|
55
|
+
|
|
56
|
+
[packages.wheels.hashes]
|
|
57
|
+
sha256 = "37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Selected dependencies (including dev ones) to run the test suite with Pyodide.
|
|
2
|
+
# Dependencies should be installed from the derived `pylock.toml` file.
|
|
3
|
+
# To generate the lockfile, run `python -m pip lock -r requirements.in -o pylock.31x.toml`,
|
|
4
|
+
# in a Pyodide venv matching the target Python version. Such a venv can be created using
|
|
5
|
+
# `pyodide venv .venv-pyodide` (and this must be done from a Python venv matching the target
|
|
6
|
+
# Python version).
|
|
7
|
+
pytest~=9.0
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# some code from https://github.com/pydantic/pydantic-core/blob/d6e7890b36ef21cb28180a7f5b1479da2319012d/.github/workflows/ci.yml
|
|
2
|
+
# and https://github.com/pydantic/pydantic/blob/f59e929c999e8b2efc7b12fd0bc1685c1a186be3/.github/workflows/ci.yml
|
|
2
3
|
# MIT License, see author list by link
|
|
3
4
|
|
|
4
5
|
name: CI
|
|
@@ -11,6 +12,9 @@ on:
|
|
|
11
12
|
- "**"
|
|
12
13
|
pull_request: {}
|
|
13
14
|
|
|
15
|
+
env:
|
|
16
|
+
UV_FROZEN: true
|
|
17
|
+
|
|
14
18
|
permissions: {}
|
|
15
19
|
|
|
16
20
|
jobs:
|
|
@@ -94,6 +98,43 @@ jobs:
|
|
|
94
98
|
|
|
95
99
|
- run: pytest
|
|
96
100
|
|
|
101
|
+
test-pyemscripten:
|
|
102
|
+
name: test ${{ matrix.python-version }} PyEmscripten
|
|
103
|
+
needs: [build-pyemscripten]
|
|
104
|
+
runs-on: ubuntu-latest
|
|
105
|
+
strategy:
|
|
106
|
+
fail-fast: false
|
|
107
|
+
matrix:
|
|
108
|
+
include:
|
|
109
|
+
- python-version: "3.14"
|
|
110
|
+
pylock-suffix: "314"
|
|
111
|
+
|
|
112
|
+
steps:
|
|
113
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
114
|
+
with:
|
|
115
|
+
persist-credentials: false
|
|
116
|
+
|
|
117
|
+
- name: install uv
|
|
118
|
+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
119
|
+
with:
|
|
120
|
+
python-version: ${{ matrix.python-version }}
|
|
121
|
+
enable-cache: true # zizmor: ignore[cache-poisoning] -- Job does not produce release artifacts and does not have sensitive permissions
|
|
122
|
+
|
|
123
|
+
- name: get dist artifacts
|
|
124
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
125
|
+
with:
|
|
126
|
+
name: python_calamine_pypi_files_pyemscripten_${{ matrix.python-version }}
|
|
127
|
+
path: dist
|
|
128
|
+
|
|
129
|
+
- run: |
|
|
130
|
+
uv sync --only-group pyodide-build
|
|
131
|
+
uv run pyodide venv .venv-pyodide
|
|
132
|
+
source .venv-pyodide/bin/activate
|
|
133
|
+
python -m pip install --upgrade pip>=26.1.1
|
|
134
|
+
python -m pip install -r .github/pyodide/pylock.${{ matrix.pylock-suffix }}.toml
|
|
135
|
+
python -m pip install python-calamine --no-index --no-deps --find-links dist
|
|
136
|
+
python -m pytest
|
|
137
|
+
|
|
97
138
|
lint:
|
|
98
139
|
permissions:
|
|
99
140
|
contents: read
|
|
@@ -138,7 +179,7 @@ jobs:
|
|
|
138
179
|
# https://github.com/marketplace/actions/alls-green#why used for branch protection checks
|
|
139
180
|
check:
|
|
140
181
|
if: always()
|
|
141
|
-
needs: [test, lint]
|
|
182
|
+
needs: [test, test-pyemscripten, lint]
|
|
142
183
|
runs-on: ubuntu-latest
|
|
143
184
|
steps:
|
|
144
185
|
- name: Decide whether the needed jobs succeeded or failed
|
|
@@ -252,11 +293,63 @@ jobs:
|
|
|
252
293
|
|
|
253
294
|
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
254
295
|
with:
|
|
255
|
-
name:
|
|
296
|
+
name: python_calamine_pypi_files_${{ matrix.os }}_${{ matrix.target }}_${{ matrix.manylinux || 'auto' }}
|
|
297
|
+
path: dist
|
|
298
|
+
|
|
299
|
+
build-pyemscripten:
|
|
300
|
+
name: build PyEmscripten (${{ matrix.python-version }})
|
|
301
|
+
runs-on: ubuntu-latest
|
|
302
|
+
strategy:
|
|
303
|
+
fail-fast: false
|
|
304
|
+
matrix:
|
|
305
|
+
include:
|
|
306
|
+
- python-version: "3.14"
|
|
307
|
+
steps:
|
|
308
|
+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
309
|
+
with:
|
|
310
|
+
persist-credentials: false
|
|
311
|
+
|
|
312
|
+
- uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
|
|
313
|
+
with:
|
|
314
|
+
python-version: ${{ matrix.python-version }}
|
|
315
|
+
enable-cache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
|
|
316
|
+
|
|
317
|
+
- run: uv sync --only-group pyodide-build
|
|
318
|
+
|
|
319
|
+
- name: Get pyodide config
|
|
320
|
+
id: pyodide-config
|
|
321
|
+
run: |
|
|
322
|
+
echo "rust-toolchain=$(uv run pyodide config get rust_toolchain)" >> "$GITHUB_OUTPUT"
|
|
323
|
+
echo "emscripten-version=$(uv run pyodide config get emscripten_version)" >> "$GITHUB_OUTPUT"
|
|
324
|
+
echo "pyodide-abi-version=$(uv run pyodide config get pyodide_abi_version)" >> "$GITHUB_OUTPUT"
|
|
325
|
+
echo "rustflags=$(uv run pyodide config get rustflags)" >> "$GITHUB_OUTPUT"
|
|
326
|
+
|
|
327
|
+
- uses: emscripten-core/setup-emsdk@4528d102f7230f0e7b276855c01ea1159be0e984 # v16
|
|
328
|
+
with:
|
|
329
|
+
version: ${{ steps.pyodide-config.outputs.emscripten-version }}
|
|
330
|
+
no-cache: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
331
|
+
|
|
332
|
+
- name: Build wheels
|
|
333
|
+
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
|
|
334
|
+
# Unclear how to avoid manually specifying this yet (https://github.com/PyO3/maturin/issues/3189):
|
|
335
|
+
env:
|
|
336
|
+
CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUSTFLAGS: ${{ steps.pyodide-config.outputs.rustflags }}
|
|
337
|
+
MATURIN_PYEMSCRIPTEN_PLATFORM_VERSION: ${{ steps.pyodide-config.outputs.pyodide-abi-version }}
|
|
338
|
+
with:
|
|
339
|
+
target: wasm32-unknown-emscripten
|
|
340
|
+
args: --release --out dist --interpreter ${{ matrix.python-version }}
|
|
341
|
+
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
|
|
342
|
+
rust-toolchain: ${{ steps.pyodide-config.outputs.rust-toolchain }}
|
|
343
|
+
|
|
344
|
+
- run: ls -lh dist/
|
|
345
|
+
|
|
346
|
+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
347
|
+
with:
|
|
348
|
+
name: python_calamine_pypi_files_pyemscripten_${{ matrix.python-version }}
|
|
256
349
|
path: dist
|
|
257
350
|
|
|
258
351
|
release:
|
|
259
|
-
needs: [build, check]
|
|
352
|
+
needs: [build, build-pyemscripten, check]
|
|
260
353
|
if: success() && startsWith(github.ref, 'refs/tags/')
|
|
261
354
|
|
|
262
355
|
runs-on: ubuntu-latest
|
|
@@ -273,14 +366,14 @@ jobs:
|
|
|
273
366
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
274
367
|
with:
|
|
275
368
|
path: dist
|
|
276
|
-
pattern:
|
|
369
|
+
pattern: python_calamine_pypi_files_*
|
|
277
370
|
merge-multiple: true
|
|
278
371
|
|
|
279
372
|
- name: Publish package distributions to PyPI
|
|
280
373
|
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1.14
|
|
281
374
|
|
|
282
375
|
gh-release:
|
|
283
|
-
needs: [build, check]
|
|
376
|
+
needs: [build, build-pyemscripten, check]
|
|
284
377
|
if: success() && startsWith(github.ref, 'refs/tags/')
|
|
285
378
|
|
|
286
379
|
runs-on: ubuntu-latest
|
|
@@ -293,7 +386,7 @@ jobs:
|
|
|
293
386
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
294
387
|
with:
|
|
295
388
|
path: dist
|
|
296
|
-
pattern:
|
|
389
|
+
pattern: python_calamine_pypi_files_*
|
|
297
390
|
merge-multiple: true
|
|
298
391
|
|
|
299
392
|
- name: Upload to GitHub
|