numbers-parser 4.4.6__py3-none-any.whl → 4.4.8__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: numbers-parser
3
- Version: 4.4.6
3
+ Version: 4.4.8
4
4
  Summary: Read and write Apple Numbers spreadsheets
5
5
  Home-page: https://github.com/masaccio/numbers-parser
6
6
  License: MIT
@@ -17,11 +17,12 @@ Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
19
19
  Requires-Dist: compact-json (>=1.1.3,<2.0.0)
20
- Requires-Dist: pendulum (>=2.1.2,<3.0.0)
20
+ Requires-Dist: pendulum (>=3.0,<4.0)
21
21
  Requires-Dist: protobuf (>=4.21.1,<5.0.0)
22
22
  Requires-Dist: python-snappy (>=0.6.1,<0.7.0)
23
23
  Requires-Dist: regex (>=2022.9.13,<2023.0.0)
24
24
  Requires-Dist: roman (>=3.3,<4.0)
25
+ Requires-Dist: setuptools (>=69.0.3,<70.0.0)
25
26
  Requires-Dist: sigfig (>=1.3.2,<2.0.0)
26
27
  Project-URL: Documentation, https://github.com/masaccio/numbers-parser/blob/main/README.md
27
28
  Project-URL: Repository, https://github.com/masaccio/numbers-parser
@@ -34,9 +35,9 @@ Description-Content-Type: text/markdown
34
35
  [![codecov](https://codecov.io/gh/masaccio/numbers-parser/branch/main/graph/badge.svg?token=EKIUFGT05E)](https://codecov.io/gh/masaccio/numbers-parser)
35
36
  [![PyPI version](https://badge.fury.io/py/numbers-parser.svg)](https://badge.fury.io/py/numbers-parser)
36
37
 
37
- `numbers-parser` is a Python module for parsing [Apple Numbers](https://www.apple.com/numbers/)`.numbers` files. It supports Numbers files generated by Numbers version 10.3, and up with the latest tested version being 13.1 (current as of June 2023).
38
+ `numbers-parser` is a Python module for parsing [Apple Numbers](https://www.apple.com/numbers/)`.numbers` files. It supports Numbers files generated by Numbers version 10.3, and up with the latest tested version being 13.2 (current as of September 2023).
38
39
 
39
- It supports and is tested against Python versions from 3.8 onwards. It is not compatible with earlier versions of Python.
40
+ It supports and is tested against Python versions from 3.8 onwards. It is not compatible with earlier versions of Python. Python 3.12 is not supported because of dependencies that do not currently work with 3.12. This is expected to be resolved by November 2023.
40
41
 
41
42
  ## Installation
42
43
 
@@ -78,7 +79,7 @@ C:\Users\Jon>pip install C:\Users\Jon\Downloads\python_snappy-0.6.1-cp311-cp311-
78
79
 
79
80
  To better partition cell styles, background image data which was supported in earlier versions through the methods `image_data` and `image_filename` is now part of the new `cell_style` property. Using the deprecated methods `image_data` and `image_filename` will issue a `DeprecationWarning` if used.The legacy methods will be removed in a future version of numbers-parser.
80
81
 
81
- `NumberCell` cell values are now limited to 15 significant figures to match the implementation of floating point numbers in Apple Numbers. For example, the value `1234567890123456` is rounded to `1234567890123460` in the same was as in Numbers. Previously, using native `float` with no checking resulted in rounding errors in unpacking internal numbers. Attempting to write a number with too many significant digits results in a `RuntimeWarning`.
82
+ `NumberCell` cell values are now limited to 15 significant figures to match the implementation of floating point numbers in Apple Numbers. For example, the value `1234567890123456` is rounded to `1234567890123460` in the same way as in Numbers. Previously, using native `float` with no checking resulted in rounding errors in unpacking internal numbers. Attempting to write a number with too many significant digits results in a `RuntimeWarning`.
82
83
 
83
84
  The previously deprecated methods `Document.sheets()` and `Sheet.tables()` are now only available using the properties of the same name (see examples in this README).
84
85
 
@@ -282,6 +283,8 @@ with open (cell.style.bg_image.filename, "wb") as f:
282
283
  f.write(cell.style.bg_image.data)
283
284
  ```
284
285
 
286
+ Due to a limitation in Python's [ZipFile](https://docs.python.org/3/library/zipfile.html), Python versions older than 3.11 do not support image filenames with UTF-8 characters (see [issue 69](https://github.com/masaccio/numbers-parser/issues/69)). `cell.style.bg_image` returns `None` for such files and issues a `RuntimeWarning`.
287
+
285
288
  ### Borders
286
289
 
287
290
  `numbers-parser` supports reading and writing cell borders, though the interface for each differs. Individual cells can have each of their four borders tested, but when drawing new borders, these are set for the table to allow for drawing borders across multiple cells. Setting the border of merged cells is not possible unless the edge of the cells is at the end of the merged region.
@@ -1,17 +1,17 @@
1
- numbers_parser/__init__.py,sha256=KqtUSf9eXFWxc7C57RXIumtS99dxEd4XOLpUfPuQdzM,1850
2
- numbers_parser/_cat_numbers.py,sha256=_oKafGdeK6nWWd0TaLsqAw0h8BG5ZCPhhr_R2zzCXFs,4645
3
- numbers_parser/_unpack_numbers.py,sha256=ZJ_qEiGbW5Y4FuPwHxL3PmacnsDApJHZmrGdJ8Kdp8U,5687
4
- numbers_parser/bullets.py,sha256=Udf-cUT7wcH-R3j-McL9iRRotjzXQQLlTHifQbotXiE,2616
5
- numbers_parser/cell.py,sha256=1S6PMnJawVelrKdRSgCRj1miZVt8a_Wqx-53cXEpwgE,25924
6
- numbers_parser/cell_storage.py,sha256=IWf6GnV1gOuLCP8jl4nBWszAmuHd9Xcp2Z4TQw98keg,29126
7
- numbers_parser/constants.py,sha256=MZZi0eyf_sZ_xwrAhD3xO0jmfYnrtVATMsj4uz60xfA,1900
8
- numbers_parser/containers.py,sha256=Sv3onjaCz1oKjD8BWq6WwZ2_TQMHxVB2iDm716gh5ZU,4239
1
+ numbers_parser/__init__.py,sha256=-CSdUv56gD19Pg4n-vjEelb1-9_nR7wDy2z5kGCKhf0,1862
2
+ numbers_parser/_cat_numbers.py,sha256=-HboBJT11Vjcr8sjLZl7Z6qAapnPEc_kFYq6PTqON20,4619
3
+ numbers_parser/_unpack_numbers.py,sha256=zfpBOfM92rMHSRQVR4tExf0fWI2Lbbb6WrwQPoq4gMo,5689
4
+ numbers_parser/bullets.py,sha256=OnVVMPjhTDrC-ncw52Gb00UEXNmn2Rvd3xi7lfqW3hk,2616
5
+ numbers_parser/cell.py,sha256=lWa0irSPfZqoTose-MrNiSe0WAl5kVlFKg4g3HFK_EU,26054
6
+ numbers_parser/cell_storage.py,sha256=CK_QpmjjCIIBmcj0Acq3pnNsHSO7y3j09HI8GRV39RM,29450
7
+ numbers_parser/constants.py,sha256=0xOqyrp7-T9hggKOf44OQA9TphlBEE3zrSy1hJriKmo,1893
8
+ numbers_parser/containers.py,sha256=b9sOCBd60YjMxJ-s9u-erWusA3guHU-c1RAUqM8CyKs,4191
9
9
  numbers_parser/data/empty.numbers,sha256=8JOp035V-p2ff9_Wao7mLcYvb6_if6O2cus_esjVA9k,90316
10
- numbers_parser/document.py,sha256=ab7NqC3Vl-c5n3hJIP7qMXbk5APV76twrzu1LQotREQ,20661
11
- numbers_parser/exceptions.py,sha256=2aHsiWpEC9IimMgdsnffDFh9jrTHE6Ih7rYzvIhD50s,663
10
+ numbers_parser/document.py,sha256=ac0Pa33ZEqR9FhijMn-TKBPUl0KF9kI0EjuYvGhHK4I,20865
11
+ numbers_parser/exceptions.py,sha256=G8dASUQZI8ksHYRVfdGWJzgsJD5CBpcZvmDJUZTqT-c,670
12
12
  numbers_parser/experimental.py,sha256=WARjTa-2ePb8Ga8Q6oDP6EJCs12ofLRF2YpwzUu66ZI,374
13
- numbers_parser/file.py,sha256=rbu-6V3lFXnxQsmrK5-xO_ydvnPFjEPUyn0Ssyw4NOw,3519
14
- numbers_parser/formula.py,sha256=gLL3mmyfduVvSICJA8SCcVIuHw5KjP-WLyjRA3tVRXk,10517
13
+ numbers_parser/file.py,sha256=ivcl5326TQXwj1GP9FCh-WiM_oXZumgQdByehAEw1f8,3966
14
+ numbers_parser/formula.py,sha256=nTgK1RolKCWD-xvspKjWthKKdWXFYbULiMjljSkLDpc,10644
15
15
  numbers_parser/generated/TNArchives_pb2.py,sha256=txkTtPHvdXVvv7zO1dHCxxnixaFulK7hJVLQrH3cIJc,16007
16
16
  numbers_parser/generated/TNArchives_sos_pb2.py,sha256=AYI1X5t5Gb4l941jXlHEY0v97ToIze0bSYBR7KQmS0A,1215
17
17
  numbers_parser/generated/TNCommandArchives_pb2.py,sha256=AtDBJ_r-slDRVzHxJdXXZPAhpf-jpHj27ujIa2-aPtg,18271
@@ -47,13 +47,13 @@ numbers_parser/generated/TSWPCommandArchives_pb2.py,sha256=CIb___7pyWeRF4x-HVzzg
47
47
  numbers_parser/generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  numbers_parser/generated/fontmap.py,sha256=pqc1HwwTr3UbFMmhUaHJg1dX5-3pXbyhfS2bkdZHKnI,22748
49
49
  numbers_parser/generated/functionmap.py,sha256=VdZo0ERMYONcrnJFwABcSCHb8pjA4wY2ogt8Janz57M,6082
50
- numbers_parser/iwafile.py,sha256=hu-6ZooxzqMv36hzc32FTCegPdPIUjgNQksBaEyA7AQ,11868
51
- numbers_parser/mapping.py,sha256=5yU_B_K6RECcTu8VnjC882rrnEvVI28LQvs4d9264Xg,32215
52
- numbers_parser/model.py,sha256=WVyQcNrcwhUw1KiLVMf391l4YxM0S2cq_EezZ1YQvWk,91535
53
- numbers_parser/numbers_cache.py,sha256=2VdQqoBcK_QsT2OigavR1O31ihUIs_rI1vsb2tfSNBw,1135
50
+ numbers_parser/iwafile.py,sha256=MuFIlB_hdXTTZflxoX_ZvA_68OaJkmRQ4eJ2UAiCKXQ,11833
51
+ numbers_parser/mapping.py,sha256=in8W3S8DmTcPefFaxnATLw0FQ4YnFsnAE-cl5dljzJE,32215
52
+ numbers_parser/model.py,sha256=f4jdR8-RwNvCcHFNbc1XBkfvDy0KFBmpuHpG1giVyeU,91217
53
+ numbers_parser/numbers_cache.py,sha256=1ghEBghQAYFpPiEeOtb74i016mXc039v1pOubbqvaLs,1141
54
54
  numbers_parser/numbers_uuid.py,sha256=-LeAj_ULC0va57pEmyegGY0xXqkNNjyuLukCaiQJhOk,2642
55
- numbers_parser-4.4.6.dist-info/LICENSE.rst,sha256=8vTa1-5KSdHrTpU9rlheO5005EWReEPMpjV7BjSaMc4,1050
56
- numbers_parser-4.4.6.dist-info/METADATA,sha256=svLZN2ZSMThmfJlzO8xAPP-HbrdNd9F3zCyEIfWbnR4,26277
57
- numbers_parser-4.4.6.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
58
- numbers_parser-4.4.6.dist-info/entry_points.txt,sha256=V91uB9vBPxf3eCY1h-0syv21imYCT0MJfMxf87DmwIk,115
59
- numbers_parser-4.4.6.dist-info/RECORD,,
55
+ numbers_parser-4.4.8.dist-info/LICENSE.rst,sha256=8vTa1-5KSdHrTpU9rlheO5005EWReEPMpjV7BjSaMc4,1050
56
+ numbers_parser-4.4.8.dist-info/METADATA,sha256=3nXzAhvFbk4FyvS5W_HMoWbAQwk1fgsCIiJpKfgR3GA,26797
57
+ numbers_parser-4.4.8.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
58
+ numbers_parser-4.4.8.dist-info/entry_points.txt,sha256=V91uB9vBPxf3eCY1h-0syv21imYCT0MJfMxf87DmwIk,115
59
+ numbers_parser-4.4.8.dist-info/RECORD,,