python-calamine 0.7.0__tar.gz → 0.8.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 (44) hide show
  1. {python_calamine-0.7.0 → python_calamine-0.8.0}/.github/workflows/CI.yml +14 -12
  2. {python_calamine-0.7.0 → python_calamine-0.8.0}/Cargo.lock +10 -9
  3. {python_calamine-0.7.0 → python_calamine-0.8.0}/Cargo.toml +2 -2
  4. {python_calamine-0.7.0 → python_calamine-0.8.0}/PKG-INFO +1 -1
  5. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/types/workbook.rs +16 -10
  6. {python_calamine-0.7.0 → python_calamine-0.8.0}/.github/dependabot.yml +0 -0
  7. {python_calamine-0.7.0 → python_calamine-0.8.0}/.gitignore +0 -0
  8. {python_calamine-0.7.0 → python_calamine-0.8.0}/.pre-commit-config.yaml +0 -0
  9. {python_calamine-0.7.0 → python_calamine-0.8.0}/LICENSE +0 -0
  10. {python_calamine-0.7.0 → python_calamine-0.8.0}/README.md +0 -0
  11. {python_calamine-0.7.0 → python_calamine-0.8.0}/build.rs +0 -0
  12. {python_calamine-0.7.0 → python_calamine-0.8.0}/pyproject.toml +0 -0
  13. {python_calamine-0.7.0 → python_calamine-0.8.0}/python/python_calamine/__init__.py +0 -0
  14. {python_calamine-0.7.0 → python_calamine-0.8.0}/python/python_calamine/_python_calamine.pyi +0 -0
  15. {python_calamine-0.7.0 → python_calamine-0.8.0}/python/python_calamine/py.typed +0 -0
  16. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/lib.rs +0 -0
  17. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/types/cell.rs +0 -0
  18. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/types/errors.rs +0 -0
  19. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/types/mod.rs +0 -0
  20. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/types/sheet.rs +0 -0
  21. {python_calamine-0.7.0 → python_calamine-0.8.0}/src/types/table.rs +0 -0
  22. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/__init__.py +0 -0
  23. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/conftest.py +0 -0
  24. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/any_sheets.ods +0 -0
  25. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/any_sheets.xls +0 -0
  26. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/any_sheets.xlsb +0 -0
  27. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/any_sheets.xlsx +0 -0
  28. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/base.ods +0 -0
  29. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/base.xls +0 -0
  30. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/base.xlsb +0 -0
  31. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/base.xlsx +0 -0
  32. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/empty_file.ods +0 -0
  33. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/empty_file.xlsb +0 -0
  34. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/empty_file.xlsx +0 -0
  35. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/issue139.xlsx +0 -0
  36. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/password.ods +0 -0
  37. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/password.xls +0 -0
  38. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/password.xlsb +0 -0
  39. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/password.xlsx +0 -0
  40. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/data/table-multiple.xlsx +0 -0
  41. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/test_base.py +0 -0
  42. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/test_pandas.py +0 -0
  43. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/test_sheet_type.py +0 -0
  44. {python_calamine-0.7.0 → python_calamine-0.8.0}/tests/test_tables.py +0 -0
@@ -28,15 +28,17 @@ jobs:
28
28
  - "3.13"
29
29
  - "3.14"
30
30
  pandas-version:
31
- - "2.2.*"
32
31
  - "2.3.*"
32
+ - "3.0.*"
33
33
  include:
34
34
  # https://github.com/pandas-dev/pandas/issues/42509
35
35
  - python-version: "pypy3.11"
36
36
  pandas-version: "none"
37
- # https://github.com/pandas-dev/pandas/issues/60016
38
37
  - python-version: "3.14t"
39
- pandas-version: "none"
38
+ pandas-version: "3.0.*"
39
+ exclude:
40
+ - python-version: "3.10"
41
+ pandas-version: "3.0.*"
40
42
 
41
43
  runs-on: ubuntu-latest
42
44
 
@@ -44,7 +46,7 @@ jobs:
44
46
  PYTHON: ${{ matrix.python-version }}
45
47
 
46
48
  steps:
47
- - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
49
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
48
50
  with:
49
51
  persist-credentials: false
50
52
 
@@ -60,14 +62,14 @@ jobs:
60
62
  key: v3
61
63
 
62
64
  - name: set up python
63
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
65
+ uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
64
66
  with:
65
67
  python-version: ${{ matrix.python-version }}
66
68
  allow-prereleases: true
67
69
 
68
70
  - id: cache-py
69
71
  name: cache python
70
- uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
72
+ uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
71
73
  with:
72
74
  path: ${{ env.pythonLocation }}
73
75
  key: >
@@ -98,7 +100,7 @@ jobs:
98
100
  runs-on: ubuntu-latest
99
101
 
100
102
  steps:
101
- - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
103
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
102
104
  with:
103
105
  persist-credentials: false
104
106
 
@@ -110,11 +112,11 @@ jobs:
110
112
  - name: cache rust
111
113
  uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
112
114
 
113
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
115
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
114
116
  with:
115
117
  python-version: "3.14"
116
118
 
117
- - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
119
+ - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
118
120
  id: cache-py
119
121
  name: cache python
120
122
  with:
@@ -214,12 +216,12 @@ jobs:
214
216
 
215
217
  runs-on: ${{ matrix.runs-on || format('{0}-latest', (matrix.os == 'linux' && 'ubuntu') || matrix.os) }}
216
218
  steps:
217
- - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
219
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
218
220
  with:
219
221
  persist-credentials: false
220
222
 
221
223
  - name: set up python
222
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
224
+ uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
223
225
  with:
224
226
  python-version: "3.14"
225
227
 
@@ -295,7 +297,7 @@ jobs:
295
297
  merge-multiple: true
296
298
 
297
299
  - name: Upload to GitHub
298
- uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
300
+ uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
299
301
  with:
300
302
  generate_release_notes: true
301
303
  files: |
@@ -19,11 +19,12 @@ dependencies = [
19
19
 
20
20
  [[package]]
21
21
  name = "atoi_simd"
22
- version = "0.17.0"
22
+ version = "0.18.1"
23
23
  source = "registry+https://github.com/rust-lang/crates.io-index"
24
- checksum = "8ad17c7c205c2c28b527b9845eeb91cf1b4d008b438f98ce0e628227a822758e"
24
+ checksum = "f3cdb3708a128e559a30fb830e8a77a5022ee6902806925c216658652b452a44"
25
25
  dependencies = [
26
26
  "debug_unsafe",
27
+ "rustversion",
27
28
  ]
28
29
 
29
30
  [[package]]
@@ -46,9 +47,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
46
47
 
47
48
  [[package]]
48
49
  name = "calamine"
49
- version = "0.35.0"
50
+ version = "0.36.0"
50
51
  source = "registry+https://github.com/rust-lang/crates.io-index"
51
- checksum = "8822fe6253ca47aa5ad9a3be09f6fe7cd20c6a74e41b0aa42e8f4e3d523508df"
52
+ checksum = "6975084f43060e56343ffba7f9731fa52a7dcf2e1cd8e2459fd4c6bf4a1bff59"
52
53
  dependencies = [
53
54
  "atoi_simd",
54
55
  "byteorder",
@@ -372,7 +373,7 @@ dependencies = [
372
373
 
373
374
  [[package]]
374
375
  name = "python-calamine"
375
- version = "0.7.0"
376
+ version = "0.8.0"
376
377
  dependencies = [
377
378
  "calamine",
378
379
  "chrono",
@@ -383,9 +384,9 @@ dependencies = [
383
384
 
384
385
  [[package]]
385
386
  name = "quick-xml"
386
- version = "0.39.4"
387
+ version = "0.41.0"
387
388
  source = "registry+https://github.com/rust-lang/crates.io-index"
388
- checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e"
389
+ checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1"
389
390
  dependencies = [
390
391
  "encoding_rs",
391
392
  "memchr",
@@ -588,9 +589,9 @@ dependencies = [
588
589
 
589
590
  [[package]]
590
591
  name = "zip"
591
- version = "7.2.0"
592
+ version = "8.6.0"
592
593
  source = "registry+https://github.com/rust-lang/crates.io-index"
593
- checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0"
594
+ checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b"
594
595
  dependencies = [
595
596
  "crc32fast",
596
597
  "flate2",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "python-calamine"
3
- version = "0.7.0"
3
+ version = "0.8.0"
4
4
  edition = "2021"
5
5
  readme = "README.md"
6
6
 
@@ -9,7 +9,7 @@ name = "python_calamine"
9
9
  crate-type = ["cdylib"]
10
10
 
11
11
  [dependencies]
12
- calamine = { version = "0.35.0", features = ["chrono"] }
12
+ calamine = { version = "0.36.0", features = ["chrono"] }
13
13
  pyo3 = { version = "0.29.0", features = [
14
14
  "extension-module",
15
15
  "chrono",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-calamine
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -79,23 +79,29 @@ impl SheetsEnum {
79
79
  ) -> Result<Option<Vec<calamine::Dimensions>>, Error> {
80
80
  match self {
81
81
  SheetsEnum::File(f) => match f {
82
- Sheets::Xls(xls_f) => Ok(xls_f.worksheet_merge_cells(name)),
82
+ Sheets::Xls(xls_f) => xls_f
83
+ .merge_cells_by_sheet_name(name)
84
+ .map(Some)
85
+ .map_err(CalamineCrateError::Xls)
86
+ .map_err(Error::Calamine),
83
87
  Sheets::Xlsx(xlsx_f) => xlsx_f
84
- .worksheet_merge_cells(name)
85
- .transpose()
88
+ .merge_cells_by_sheet_name(name)
89
+ .map(Some)
86
90
  .map_err(CalamineCrateError::Xlsx)
87
- .map_err(Error::Calamine)
88
- .map(|inner| inner.or(Some(Vec::new()))),
91
+ .map_err(Error::Calamine),
89
92
  _ => Ok(None),
90
93
  },
91
94
  SheetsEnum::FileLike(f) => match f {
92
- Sheets::Xls(xls_f) => Ok(xls_f.worksheet_merge_cells(name)),
95
+ Sheets::Xls(xls_f) => xls_f
96
+ .merge_cells_by_sheet_name(name)
97
+ .map(Some)
98
+ .map_err(CalamineCrateError::Xls)
99
+ .map_err(Error::Calamine),
93
100
  Sheets::Xlsx(xlsx_f) => xlsx_f
94
- .worksheet_merge_cells(name)
95
- .transpose()
101
+ .merge_cells_by_sheet_name(name)
102
+ .map(Some)
96
103
  .map_err(CalamineCrateError::Xlsx)
97
- .map_err(Error::Calamine)
98
- .map(|inner| inner.or(Some(Vec::new()))),
104
+ .map_err(Error::Calamine),
99
105
  _ => Ok(None),
100
106
  },
101
107
  SheetsEnum::None => Err(Error::WorkbookClosed),
File without changes