numbers-parser 4.16.3__py3-none-any.whl → 4.17.0.post1__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.
Files changed (46) hide show
  1. numbers_parser/constants.py +3 -0
  2. numbers_parser/formula.py +1 -1
  3. numbers_parser/generated/TNArchives_pb2.py +103 -92
  4. numbers_parser/generated/TNArchives_sos_pb2.py +19 -8
  5. numbers_parser/generated/TNCommandArchives_pb2.py +99 -88
  6. numbers_parser/generated/TNCommandArchives_sos_pb2.py +21 -10
  7. numbers_parser/generated/TSAArchives_pb2.py +103 -97
  8. numbers_parser/generated/TSAArchives_sos_pb2.py +21 -10
  9. numbers_parser/generated/TSACommandArchives_sos_pb2.py +33 -22
  10. numbers_parser/generated/TSCEArchives_pb2.py +355 -344
  11. numbers_parser/generated/TSCH3DArchives_pb2.py +75 -65
  12. numbers_parser/generated/TSCHArchives_Common_pb2.py +63 -52
  13. numbers_parser/generated/TSCHArchives_GEN_pb2.py +47 -46
  14. numbers_parser/generated/TSCHArchives_pb2.py +99 -123
  15. numbers_parser/generated/TSCHArchives_sos_pb2.py +61 -50
  16. numbers_parser/generated/TSCHCommandArchives_pb2.py +131 -120
  17. numbers_parser/generated/TSCHPreUFFArchives_pb2.py +45 -34
  18. numbers_parser/generated/TSCKArchives_pb2.py +153 -143
  19. numbers_parser/generated/TSCKArchives_sos_pb2.py +23 -12
  20. numbers_parser/generated/TSDArchives_pb2.py +223 -217
  21. numbers_parser/generated/TSDArchives_sos_pb2.py +41 -30
  22. numbers_parser/generated/TSDCommandArchives_pb2.py +149 -138
  23. numbers_parser/generated/TSKArchives_pb2.py +139 -128
  24. numbers_parser/generated/TSPArchiveMessages_pb2.py +135 -124
  25. numbers_parser/generated/TSPDatabaseMessages_pb2.py +25 -14
  26. numbers_parser/generated/TSPMessages_pb2.py +119 -109
  27. numbers_parser/generated/TSSArchives_pb2.py +55 -45
  28. numbers_parser/generated/TSSArchives_sos_pb2.py +37 -26
  29. numbers_parser/generated/TSTArchives_pb2.py +417 -412
  30. numbers_parser/generated/TSTArchives_sos_pb2.py +25 -14
  31. numbers_parser/generated/TSTCommandArchives_pb2.py +241 -230
  32. numbers_parser/generated/TSTStylePropertyArchiving_pb2.py +41 -31
  33. numbers_parser/generated/TSWPArchives_pb2.py +271 -267
  34. numbers_parser/generated/TSWPArchives_sos_pb2.py +105 -94
  35. numbers_parser/generated/TSWPCommandArchives_pb2.py +119 -108
  36. numbers_parser/generated/fontmap.py +11 -18
  37. numbers_parser/generated/functionmap.py +34 -4
  38. numbers_parser/model.py +43 -17
  39. numbers_parser/xrefs.py +4 -1
  40. {numbers_parser-4.16.3.dist-info → numbers_parser-4.17.0.post1.dist-info}/METADATA +7 -8
  41. numbers_parser-4.17.0.post1.dist-info/RECORD +65 -0
  42. {numbers_parser-4.16.3.dist-info → numbers_parser-4.17.0.post1.dist-info}/WHEEL +1 -1
  43. numbers_parser-4.16.3.dist-info/RECORD +0 -65
  44. {numbers_parser-4.16.3.dist-info → numbers_parser-4.17.0.post1.dist-info}/entry_points.txt +0 -0
  45. {numbers_parser-4.16.3.dist-info → numbers_parser-4.17.0.post1.dist-info}/licenses/LICENSE.rst +0 -0
  46. {numbers_parser-4.16.3.dist-info → numbers_parser-4.17.0.post1.dist-info}/top_level.txt +0 -0
@@ -262,10 +262,6 @@ FUNCTION_MAP = {
262
262
  277: "DUR2MILLISECONDS",
263
263
  278: "STRIPDURATION",
264
264
  280: "INTERSECT.RANGES",
265
- 281: "LATITUDE",
266
- 282: "LONGITUDE",
267
- 283: "BEARING",
268
- 284: "ALTITUDE",
269
265
  285: "UNION.RANGES",
270
266
  286: "SERIESSUM",
271
267
  287: "POLYNOMIAL",
@@ -314,4 +310,38 @@ FUNCTION_MAP = {
314
310
  334: "BITRSHIFT",
315
311
  335: "ISOWEEKNUM",
316
312
  336: "SWITCH",
313
+ 338: "SEQUENCE",
314
+ 341: "ARRAYTOTEXT",
315
+ 342: "FILTER",
316
+ 343: "SORT",
317
+ 344: "SORTBY",
318
+ 345: "UNIQUE",
319
+ 346: "RANDARRAY",
320
+ 347: "TEXTSPLIT",
321
+ 348: "TOCOL",
322
+ 349: "TOROW",
323
+ 350: "TAKE",
324
+ 351: "DROP",
325
+ 352: "EXPAND",
326
+ 353: "CHOOSEROWS",
327
+ 354: "CHOOSECOLS",
328
+ 355: "HSTACK",
329
+ 356: "VSTACK",
330
+ 357: "WRAPCOLS",
331
+ 358: "WRAPROWS",
332
+ 359: "MDETERM",
333
+ 360: "MINVERSE",
334
+ 361: "MMULT",
335
+ 362: "MUNIT",
336
+ 363: "LET",
337
+ 364: "LAMBDA",
338
+ 365: "MAKEARRAY",
339
+ 366: "MAP",
340
+ 367: "REDUCE",
341
+ 368: "SCAN",
342
+ 369: "BYROW",
343
+ 370: "BYCOL",
344
+ 371: "ISOMITTED",
345
+ 372: "LAMBDA.APPLY",
346
+ 373: "ISNUMBERORDATE",
317
347
  }
numbers_parser/model.py CHANGED
@@ -855,6 +855,37 @@ class _NumbersModel(Cacheable):
855
855
  return None
856
856
  return self.objects[ce_id]
857
857
 
858
+ def add_merge_range(self, table_id, row_start, row_end, col_start, col_end) -> None:
859
+ size = (row_end - row_start + 1, col_end - col_start + 1)
860
+ for row in range(row_start, row_end + 1):
861
+ for col in range(col_start, col_end + 1):
862
+ self._merge_cells[table_id].add_reference(
863
+ row,
864
+ col,
865
+ (row_start, col_start, row_end, col_end),
866
+ )
867
+ self._merge_cells[table_id].add_anchor(row_start, col_start, size)
868
+
869
+ @cache()
870
+ def calculate_new_merge_cell_ranges(self, table_id) -> None:
871
+ table_model = self.objects[table_id]
872
+ formulas = table_model.merge_owner.formula_store.formulas
873
+ if len(formulas) == 0:
874
+ return
875
+
876
+ for formula in formulas:
877
+ node = formula.formula.AST_node_array.AST_node[0]
878
+ # COLON_TRACT_NODE=67
879
+ if node.AST_node_type != 67:
880
+ continue
881
+ self.add_merge_range(
882
+ table_id,
883
+ node.AST_colon_tract.absolute_row[0].range_begin,
884
+ node.AST_colon_tract.absolute_row[0].range_end,
885
+ node.AST_colon_tract.absolute_column[0].range_begin,
886
+ node.AST_colon_tract.absolute_column[0].range_end,
887
+ )
888
+
858
889
  @cache()
859
890
  def calculate_merge_cell_ranges(self, table_id) -> None:
860
891
  """Extract all the merge cell ranges for the Table."""
@@ -871,20 +902,13 @@ class _NumbersModel(Cacheable):
871
902
  to_owner_id = record.internal_range_reference.owner_id
872
903
  if owner_id_map[to_owner_id] == table_base_id:
873
904
  record_range = record.internal_range_reference.range
874
- row_start = record_range.top_left_row
875
- row_end = record_range.bottom_right_row
876
- col_start = record_range.top_left_column
877
- col_end = record_range.bottom_right_column
878
-
879
- size = (row_end - row_start + 1, col_end - col_start + 1)
880
- for row in range(row_start, row_end + 1):
881
- for col in range(col_start, col_end + 1):
882
- self._merge_cells[table_id].add_reference(
883
- row,
884
- col,
885
- (row_start, col_start, row_end, col_end),
886
- )
887
- self._merge_cells[table_id].add_anchor(row_start, col_start, size)
905
+ self.add_merge_range(
906
+ table_id,
907
+ record_range.top_left_row,
908
+ record_range.bottom_right_row,
909
+ record_range.top_left_column,
910
+ record_range.bottom_right_column,
911
+ )
888
912
 
889
913
  base_data_store = self.objects[table_id].base_data_store
890
914
  if base_data_store.merge_region_map.identifier == 0:
@@ -912,6 +936,7 @@ class _NumbersModel(Cacheable):
912
936
  self._merge_cells[table_id].add_anchor(row_start, col_start, (num_rows, num_columns))
913
937
 
914
938
  def merge_cells(self, table_id):
939
+ self.calculate_new_merge_cell_ranges(table_id)
915
940
  self.calculate_merge_cell_ranges(table_id)
916
941
  return self._merge_cells[table_id]
917
942
 
@@ -934,12 +959,12 @@ class _NumbersModel(Cacheable):
934
959
 
935
960
  @cache()
936
961
  def table_uuids_to_id(self, table_uuid) -> int | None:
937
- for sheet_id in self.sheet_ids(): # pragma: no branch # noqa: RET503
962
+ for sheet_id in self.sheet_ids(): # pragma: no branch
938
963
  for table_id in self.table_ids(sheet_id):
939
964
  if table_uuid == self.table_base_id(table_id):
940
965
  return table_id
941
966
 
942
- def node_to_ref(self, table_id: int, row: int, col: int, node):
967
+ def node_to_ref(self, table_id: int, row: int, col: int, node, merge_mode: bool = False):
943
968
  def resolve_range(is_absolute, absolute_list, relative_list, offset, max_val):
944
969
  if is_absolute:
945
970
  return absolute_list[0].range_begin
@@ -1005,6 +1030,7 @@ class _NumbersModel(Cacheable):
1005
1030
  col_end_is_abs=node.AST_sticky_bits.end_column_is_absolute,
1006
1031
  from_table_id=table_id,
1007
1032
  to_table_id=to_table_id,
1033
+ _do_init=not merge_mode,
1008
1034
  )
1009
1035
 
1010
1036
  row = node.AST_row.row if node.AST_row.absolute else row + node.AST_row.row
@@ -2116,7 +2142,7 @@ class _NumbersModel(Cacheable):
2116
2142
  # a string with a new bullet character
2117
2143
  bds = self.objects[table_id].base_data_store
2118
2144
  rich_text_table = self.objects[bds.rich_text_table.identifier]
2119
- for entry in rich_text_table.entries: # pragma: no branch # noqa: RET503
2145
+ for entry in rich_text_table.entries: # pragma: no branch
2120
2146
  if string_key == entry.key:
2121
2147
  payload = self.objects[entry.rich_text_payload.identifier]
2122
2148
  payload_storage = self.objects[payload.storage.identifier]
numbers_parser/xrefs.py CHANGED
@@ -63,9 +63,12 @@ class CellRange:
63
63
  from_table_id: int = None
64
64
  to_table_id: int = None
65
65
  range_type: CellRangeType = None
66
+ _do_init: bool = True
66
67
  _table_names: list[str] = field(init=False, default=None, repr=False)
67
68
 
68
69
  def __post_init__(self):
70
+ if not self._do_init:
71
+ return
69
72
  if self._table_names is None:
70
73
  self._initialize_table_data()
71
74
  self.model.name_ref_cache.refresh()
@@ -292,7 +295,7 @@ class ScopedNameRefCache:
292
295
  if (axis == TableAxis.ROW and num_header_cols == 0) or (
293
296
  axis == TableAxis.COLUMN and num_header_rows == 0
294
297
  ):
295
- return {idx: None for idx in range(range_end)}
298
+ return dict.fromkeys(range(range_end))
296
299
 
297
300
  scopes = {}
298
301
  names = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numbers-parser
3
- Version: 4.16.3
3
+ Version: 4.17.0.post1
4
4
  Summary: Read and write Apple Numbers spreadsheets
5
5
  Author-email: Jon Connell <python@figsandfudge.com>
6
6
  License-Expression: MIT
@@ -9,18 +9,17 @@ Project-URL: documentation, https://github.com/masaccio/numbers-parser/blob/main
9
9
  Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Operating System :: OS Independent
12
- Requires-Python: <4.0,>=3.9
12
+ Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE.rst
15
- Requires-Dist: compact-json<2.0.0,>=1.1.3
16
- Requires-Dist: protobuf>=6.0
15
+ Requires-Dist: compact-json>=1.1.3
16
+ Requires-Dist: protobuf>=6.32.0
17
17
  Requires-Dist: python-snappy>=0.7
18
- Requires-Dist: cramjam>=2.11.0
19
- Requires-Dist: sigfig<2.0.0,>=1.3.3
18
+ Requires-Dist: sigfig>=1.3.3
20
19
  Requires-Dist: setuptools>=70.0.0
21
20
  Requires-Dist: importlib-resources>=6.1
22
21
  Requires-Dist: enum-tools>=0.11
23
- Requires-Dist: python-dateutil<3.0.0.0,>=2.9.0.post0
22
+ Requires-Dist: python-dateutil>=2.9.0.post0
24
23
  Dynamic: license-file
25
24
 
26
25
  # numbers-parser
@@ -31,7 +30,7 @@ Dynamic: license-file
31
30
  generated by Numbers version 10.3, and up with the latest tested version being 14.1
32
31
  (current as of June 2024).
33
32
 
34
- It supports and is tested against Python versions from 3.9 onwards. It is not compatible
33
+ It supports and is tested against Python versions from 3.10 onwards. It is not compatible
35
34
  with earlier versions of Python.
36
35
 
37
36
  ## Installation
@@ -0,0 +1,65 @@
1
+ numbers_parser/__init__.py,sha256=fKvZmUi_UsY3DMwt54s7G20DCwUTuG28B7kGsQRw3wU,1481
2
+ numbers_parser/_cat_numbers.py,sha256=LQDBHLdVP8JIk0heV50T0Xz1oOMVNGILaX2mk8pVhCg,4846
3
+ numbers_parser/_csv2numbers.py,sha256=R_13gVe_RfLWLOv-DzVJ60xkqhdOA-RKna-Ce5ud4V8,14624
4
+ numbers_parser/_unpack_numbers.py,sha256=x4Od4qEruPpzkoOq_i_zOFiNbNonlSRHBT3WGwZGYo8,6685
5
+ numbers_parser/bullets.py,sha256=CKMjSYRzLM123wQNDG8B5vfodRLjW5UOc2HDPlvfNr4,2637
6
+ numbers_parser/cell.py,sha256=RSjzkYWTUN753Q6V5xIQZ0GC2gkZDmnpB6uz4GJGZ0U,72311
7
+ numbers_parser/constants.py,sha256=FPkKRrkPtiV_KX9SWjR6DLlkDw644lmMw8GOBEG6Gsc,10658
8
+ numbers_parser/containers.py,sha256=SBD99t0ABHraGA8729jPXy5VcRHT21U_WM3ijOIiwd4,4886
9
+ numbers_parser/currencies.py,sha256=8k4a3WKmDoHeurkDICymHX13N7ManHSTaka_JNXCZYA,3767
10
+ numbers_parser/document.py,sha256=6eCNbLRUmNoNEim8Wbk9DkhuhWHAtTmbexKDvld8Bp4,60866
11
+ numbers_parser/exceptions.py,sha256=51yJTYm0X2am4YK-F6sVYOHmlYrBex_e4lYtbmiQX3I,611
12
+ numbers_parser/experimental.py,sha256=WARjTa-2ePb8Ga8Q6oDP6EJCs12ofLRF2YpwzUu66ZI,374
13
+ numbers_parser/formula.py,sha256=XC6maWkkQ-LKByiBQDIhzHOwvQIu-df6MN-vh4EETH8,26459
14
+ numbers_parser/iwafile.py,sha256=nVwCcXvx8TgX-DkYqSbcJQzKyXR1Z8_y547XeY7Y-fs,11948
15
+ numbers_parser/iwork.py,sha256=Qx1Izf9cfQKnLTDiJyeCOsmL9PSsfV-XOf0Kkb2oPMo,9396
16
+ numbers_parser/model.py,sha256=VFD9CR33jKVCbsXFUrKV2elACQEnq8Ykhi5cqKvchlo,116600
17
+ numbers_parser/numbers_cache.py,sha256=uGngtJmP_AEDGZphyJpOMJ1dq8VGEeDyPdyrVy1E7lU,1100
18
+ numbers_parser/numbers_uuid.py,sha256=vVTgXgmtGx6PdbHfwyi82oRsZccmP7IW_o2q-6PGUNg,2880
19
+ numbers_parser/roman.py,sha256=CErv1uRp8eE9Bsuh_QsrBAzKFsfHSEs8CHpfFW0Gd70,725
20
+ numbers_parser/tokenizer.py,sha256=4pGdzX9zoxSYzaP7ywLwq8lOpVAm8hk96tMg9em7S6o,19804
21
+ numbers_parser/xrefs.py,sha256=Oq-EL5bSSmXvJGSX-MPtXDcX-EROX859knm9y_Zz568,30043
22
+ numbers_parser/data/empty.numbers,sha256=zQjVqcNGN-xNZh51_eAxD8Zxmxh88Sd7kpf4JygUA_E,90601
23
+ numbers_parser/generated/TNArchives_pb2.py,sha256=ACEMFxxhu7QpKJT9bhx6k2WZMs_qBin-csiAiUi0YNc,17387
24
+ numbers_parser/generated/TNArchives_sos_pb2.py,sha256=kBurQK0i7wFZ6nIh3we0n7xHbOTLJ6IYx2yZzF336G4,1534
25
+ numbers_parser/generated/TNCommandArchives_pb2.py,sha256=0ylr2KLkKmnxU3kHzm6q59ZnKG_VKtkoscyopa2KIxo,19660
26
+ numbers_parser/generated/TNCommandArchives_sos_pb2.py,sha256=15yG9C8VNi3bmiycb9d9vTPVdyjs1XRzLL6fLdUkNW0,2207
27
+ numbers_parser/generated/TSAArchives_pb2.py,sha256=kIMs2ru2VlM85lkm1Lv9DGoUDrNTfuzR67v-79JiZOQ,20686
28
+ numbers_parser/generated/TSAArchives_sos_pb2.py,sha256=nZWkvk0nDJFUIlDhIt3Cg4y69GGe6cjXTHQ9GWt63ks,2377
29
+ numbers_parser/generated/TSACommandArchives_sos_pb2.py,sha256=HMFlahr2QyqW0Ot4G_1nNTo3laILrDeMXCpxwx7QwYs,4402
30
+ numbers_parser/generated/TSCEArchives_pb2.py,sha256=jw79amf1SDKWGhASD-4CN2TvgHPperaSBTAyyoiy--o,72099
31
+ numbers_parser/generated/TSCH3DArchives_pb2.py,sha256=3pv77IRwW5kS15XYnZYCByviHZLq46c7F2NGThUaHxI,12096
32
+ numbers_parser/generated/TSCHArchives_Common_pb2.py,sha256=ZbBJ4IT1Pg6s5rsLzjPZKgeHnij1UhlsUoA6BQtq2yg,9507
33
+ numbers_parser/generated/TSCHArchives_GEN_pb2.py,sha256=cBj9tv2DTK8V04Xbd4RYBUUak-2IU5QCYguJfD7r87I,45027
34
+ numbers_parser/generated/TSCHArchives_pb2.py,sha256=X2UC8xV9MNO5j7nNcmNsngWLN7xMAZnRA_mchL58KxU,21307
35
+ numbers_parser/generated/TSCHArchives_sos_pb2.py,sha256=nJF3nzs3mtHaWac0Wc9rBDUoVjYx0o5-DRUgszjnuWk,64555
36
+ numbers_parser/generated/TSCHCommandArchives_pb2.py,sha256=fz8aZA5Ncu2sb7786u631ViD34af_viDrCuP8qG5H5A,29114
37
+ numbers_parser/generated/TSCHPreUFFArchives_pb2.py,sha256=FWRKn3QVEurR8Nc7bF6WxYIRKiNNCcITVwP5jtd1Mrg,30686
38
+ numbers_parser/generated/TSCKArchives_pb2.py,sha256=3TaNI1NjCGgPm7FCGbie3HsDZpPNFXBR8ZZ6FXMbDek,29921
39
+ numbers_parser/generated/TSCKArchives_sos_pb2.py,sha256=6gAWLBN00BeBhIAATaPJ1YxwaxokzZrg8-g9RrbXo4w,2314
40
+ numbers_parser/generated/TSDArchives_pb2.py,sha256=XEVsjWss_lcmi2C24IZ6U1VV_riJF23vVpUo5t0wDr0,41449
41
+ numbers_parser/generated/TSDArchives_sos_pb2.py,sha256=Y02Jm9nHzB9fhj-k2WyE9SplxhZ6l52LBpfYeKu0Zfs,6606
42
+ numbers_parser/generated/TSDCommandArchives_pb2.py,sha256=q5deSMdCDiYQ-O9ZM8WHXAGj6kWBqp5udbD4uCchGOA,31174
43
+ numbers_parser/generated/TSKArchives_pb2.py,sha256=d8Dz2cNgoPxxzEnvEro3GftlWUH5K22wLgTRT962tt8,28183
44
+ numbers_parser/generated/TSPArchiveMessages_pb2.py,sha256=re5hDZx-FRZV-XA7D4k3uncU_DSVRn4Ql0V0r3YgDMc,19847
45
+ numbers_parser/generated/TSPDatabaseMessages_pb2.py,sha256=Zrp6ooGRqG1ZBO_CmtuUBdlt9RVte9Ozd7FVH6GiRjM,2420
46
+ numbers_parser/generated/TSPMessages_pb2.py,sha256=w7aKB_wou5grd0JVN8wCO2AG0WBZRhAfnQd41pLH6jM,14460
47
+ numbers_parser/generated/TSSArchives_pb2.py,sha256=7EKKU3GWqA7RNEQei-l84hm06JZpqpl6PT9CRCt7OEk,10845
48
+ numbers_parser/generated/TSSArchives_sos_pb2.py,sha256=A8uj8ULXSj5gumX9UIn3WOKftu_6MBy4GVhI9IAey2Y,3378
49
+ numbers_parser/generated/TSTArchives_pb2.py,sha256=O1BZjSHfAzzXded_6ZVyBrbNIyIm6OL1H137xT02wGY,92863
50
+ numbers_parser/generated/TSTArchives_sos_pb2.py,sha256=-xCj-FmCX0IAzKJK-TTqXrqYXOoBf2b_c8Sdtewavo4,12989
51
+ numbers_parser/generated/TSTCommandArchives_pb2.py,sha256=c55CqyqNCXloytYdPBpKcOmwB8IA1g77aR_-OVw2LeI,62510
52
+ numbers_parser/generated/TSTStylePropertyArchiving_pb2.py,sha256=k5CGB_a6YOeebEWjB9p7zrAZk1iwrVyKSgP3xfzIyvE,12926
53
+ numbers_parser/generated/TSWPArchives_pb2.py,sha256=8dYjH2JvtSsKFbUTvShhO6yl7waHfoewWSAP4yNRpTc,58004
54
+ numbers_parser/generated/TSWPArchives_sos_pb2.py,sha256=BMHrkjFVFNY5Q8mWQceSXyMapmEClO_3VZYFQe3lHtw,30467
55
+ numbers_parser/generated/TSWPCommandArchives_pb2.py,sha256=6QvugAFL7HWUBDuxtJ2cW2SCYZD-Ir-tN9tRZGQx2CU,27119
56
+ numbers_parser/generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
+ numbers_parser/generated/fontmap.py,sha256=N7RelrdanYW9mK7mcl42THasVcw0uQ9XeZ3wn4rOfKo,23586
58
+ numbers_parser/generated/functionmap.py,sha256=7GzgkZfONzhI35pnByINiIGCbhMxhNz6EWiJEBX4s1g,6672
59
+ numbers_parser/generated/mapping.py,sha256=W6fEWqar3TFvx2wyWgK4NutIz9EYKtjChhSfho2FGQQ,32266
60
+ numbers_parser-4.17.0.post1.dist-info/licenses/LICENSE.rst,sha256=8vTa1-5KSdHrTpU9rlheO5005EWReEPMpjV7BjSaMc4,1050
61
+ numbers_parser-4.17.0.post1.dist-info/METADATA,sha256=NdWr7x7X9xlPL-nkHopaz_xn0FkpP5aWzBiWEdu6G-8,23099
62
+ numbers_parser-4.17.0.post1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
63
+ numbers_parser-4.17.0.post1.dist-info/entry_points.txt,sha256=_5biENfY3S-XG8BZL2AuE7Gvrw0zBwGjF6Un52u7FAk,165
64
+ numbers_parser-4.17.0.post1.dist-info/top_level.txt,sha256=EOag5_Q4xjG7gstnrNVeAF_CLUAJBR_HDvciqMQ9RQo,15
65
+ numbers_parser-4.17.0.post1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,65 +0,0 @@
1
- numbers_parser/__init__.py,sha256=fKvZmUi_UsY3DMwt54s7G20DCwUTuG28B7kGsQRw3wU,1481
2
- numbers_parser/_cat_numbers.py,sha256=LQDBHLdVP8JIk0heV50T0Xz1oOMVNGILaX2mk8pVhCg,4846
3
- numbers_parser/_csv2numbers.py,sha256=R_13gVe_RfLWLOv-DzVJ60xkqhdOA-RKna-Ce5ud4V8,14624
4
- numbers_parser/_unpack_numbers.py,sha256=x4Od4qEruPpzkoOq_i_zOFiNbNonlSRHBT3WGwZGYo8,6685
5
- numbers_parser/bullets.py,sha256=CKMjSYRzLM123wQNDG8B5vfodRLjW5UOc2HDPlvfNr4,2637
6
- numbers_parser/cell.py,sha256=RSjzkYWTUN753Q6V5xIQZ0GC2gkZDmnpB6uz4GJGZ0U,72311
7
- numbers_parser/constants.py,sha256=X6fPq6hQrvRRGp4X6fbHb15UvgLLlo-gLogdhMVQYhw,10605
8
- numbers_parser/containers.py,sha256=SBD99t0ABHraGA8729jPXy5VcRHT21U_WM3ijOIiwd4,4886
9
- numbers_parser/currencies.py,sha256=8k4a3WKmDoHeurkDICymHX13N7ManHSTaka_JNXCZYA,3767
10
- numbers_parser/document.py,sha256=6eCNbLRUmNoNEim8Wbk9DkhuhWHAtTmbexKDvld8Bp4,60866
11
- numbers_parser/exceptions.py,sha256=51yJTYm0X2am4YK-F6sVYOHmlYrBex_e4lYtbmiQX3I,611
12
- numbers_parser/experimental.py,sha256=WARjTa-2ePb8Ga8Q6oDP6EJCs12ofLRF2YpwzUu66ZI,374
13
- numbers_parser/formula.py,sha256=-OLT2D6uQF-JncXiHHm3jCVz7Y5keavTjZsGhQWuOjM,26466
14
- numbers_parser/iwafile.py,sha256=nVwCcXvx8TgX-DkYqSbcJQzKyXR1Z8_y547XeY7Y-fs,11948
15
- numbers_parser/iwork.py,sha256=Qx1Izf9cfQKnLTDiJyeCOsmL9PSsfV-XOf0Kkb2oPMo,9396
16
- numbers_parser/model.py,sha256=P4KGDpVsoBvjW-u3ToKv7Mbg8zGRkQJij2sWCyqNFIo,115680
17
- numbers_parser/numbers_cache.py,sha256=uGngtJmP_AEDGZphyJpOMJ1dq8VGEeDyPdyrVy1E7lU,1100
18
- numbers_parser/numbers_uuid.py,sha256=vVTgXgmtGx6PdbHfwyi82oRsZccmP7IW_o2q-6PGUNg,2880
19
- numbers_parser/roman.py,sha256=CErv1uRp8eE9Bsuh_QsrBAzKFsfHSEs8CHpfFW0Gd70,725
20
- numbers_parser/tokenizer.py,sha256=4pGdzX9zoxSYzaP7ywLwq8lOpVAm8hk96tMg9em7S6o,19804
21
- numbers_parser/xrefs.py,sha256=1krwlX64k_DqW0vn_CQ3WJE2-DpzsslNoYor9mBjSGs,29976
22
- numbers_parser/data/empty.numbers,sha256=zQjVqcNGN-xNZh51_eAxD8Zxmxh88Sd7kpf4JygUA_E,90601
23
- numbers_parser/generated/TNArchives_pb2.py,sha256=Tq1UC2Ml1dzAQFIrz3Om-sGI903FBZmlN3GgYQNt4a8,15931
24
- numbers_parser/generated/TNArchives_sos_pb2.py,sha256=AYI1X5t5Gb4l941jXlHEY0v97ToIze0bSYBR7KQmS0A,1215
25
- numbers_parser/generated/TNCommandArchives_pb2.py,sha256=my5CgnWmqHa5p0NFf-aUC8aqEPz3-pXXlyz4UJmZKZE,18378
26
- numbers_parser/generated/TNCommandArchives_sos_pb2.py,sha256=MhIENEtVylmebThyhglAwO6dhu23UuF2DvdxtUoEvf0,1857
27
- numbers_parser/generated/TSAArchives_pb2.py,sha256=FqNAQf5ul602CJS0tvA5p-gEbuUUw3msI4WfkRrVg5k,19907
28
- numbers_parser/generated/TSAArchives_sos_pb2.py,sha256=UlEScYhun_N-Cbr2v5RcgvJuwkloUuPJbrWxnQTOAfo,2033
29
- numbers_parser/generated/TSACommandArchives_sos_pb2.py,sha256=dyjRN08Ly1qp5m3jcOE5yClARAzg5KyOYNMWyplRq8w,3907
30
- numbers_parser/generated/TSCEArchives_pb2.py,sha256=WtHsNP4ogcoT3q6e-rT68FUU5CjvQzjCBzyBEtd0lAs,67687
31
- numbers_parser/generated/TSCH3DArchives_pb2.py,sha256=eV4GahEGv_3nGNgnN6xc3kfJ07UT3oALlLeJdh0GcQ4,11162
32
- numbers_parser/generated/TSCHArchives_Common_pb2.py,sha256=dqgymAVSSQmjp3XuuXFRfXoSXhbQqaQXWbd-JUJs7Nc,8655
33
- numbers_parser/generated/TSCHArchives_GEN_pb2.py,sha256=_v3oN76ohi0uDlzoIg6AZnGWyirjLzhBSRLunsFkSco,45616
34
- numbers_parser/generated/TSCHArchives_pb2.py,sha256=_Mu_VMDWeS7cEUNeta0UOm6v2oHYqXE-s5qT304t_Jg,23907
35
- numbers_parser/generated/TSCHArchives_sos_pb2.py,sha256=xyzFKVpIc_SriTn-z_Y7-HkDSRwVfjwE_bl5WwHd0p0,63730
36
- numbers_parser/generated/TSCHCommandArchives_pb2.py,sha256=DkJUuBn-LXiY3a5rXipzFxb2mvOthHOKXdjaxYgt0as,27446
37
- numbers_parser/generated/TSCHPreUFFArchives_pb2.py,sha256=EWhd5HcquCEYeFac1hwlHJuWu1glbTicfa2MaKK-XPY,30051
38
- numbers_parser/generated/TSCKArchives_pb2.py,sha256=VH7I8dHDyDxGdr3EefK7gp2ewHxwVW_U6xCxzJ1x_Ik,28105
39
- numbers_parser/generated/TSCKArchives_sos_pb2.py,sha256=2zK3-z-pe1xrY1qut28VQjHRtSbq63SxrO0b_bfBj24,1945
40
- numbers_parser/generated/TSDArchives_pb2.py,sha256=G5vUxZbx66eTdNgxbagUQmo6N7pvfoXwU07jBgv90cU,39093
41
- numbers_parser/generated/TSDArchives_sos_pb2.py,sha256=Q2MYAXjAW-PGE3FY8kFH89rry9PPUQv7DS956wymFwo,6022
42
- numbers_parser/generated/TSDCommandArchives_pb2.py,sha256=zMHr3_Koa9vGmkl2PMTnMptUCY2iOe1zJOWN6re2jQs,29291
43
- numbers_parser/generated/TSKArchives_pb2.py,sha256=D5EaP8aTC2VstJo7XfsGQ1VNzPPDRe34FXknSR5yUb8,26357
44
- numbers_parser/generated/TSPArchiveMessages_pb2.py,sha256=5Th08Q19AOsMEMggvM9fda1StJjV8LTDDI5x7pY6aM8,17950
45
- numbers_parser/generated/TSPDatabaseMessages_pb2.py,sha256=_jvq890xBQpSDcYOKgII30XlxukPBRZBu0kkRpbJ-z0,2024
46
- numbers_parser/generated/TSPMessages_pb2.py,sha256=LBHRhNnQdDu226sh3gK_AOjbO3LDkGCWpVi1wzf7emA,13032
47
- numbers_parser/generated/TSSArchives_pb2.py,sha256=JBW8ZncRBfT2CyL4A2yh7ZpDRPBO_o_H94AAIgEiN4s,10152
48
- numbers_parser/generated/TSSArchives_sos_pb2.py,sha256=FAhtvQ9TBg18AcIk4HwGCreNWlEu3k_kK_9jRVsh7FM,2842
49
- numbers_parser/generated/TSTArchives_pb2.py,sha256=lScldcH_bUfL0JSRFwpyhhu4bFMO404Vjm4TxKKNr1E,88185
50
- numbers_parser/generated/TSTArchives_sos_pb2.py,sha256=JxiMXSdTH5VJo-c5zDdD_tzGQCTrUDE2K0YP_x-zh84,12597
51
- numbers_parser/generated/TSTCommandArchives_pb2.py,sha256=LEyGJBOLdhxVarepxGfHprNs8vIAmSCO-iNnl3Afdkk,59523
52
- numbers_parser/generated/TSTStylePropertyArchiving_pb2.py,sha256=0ADsIwTk4GcTeQJRhYxEEjsD_SuLEOSUaGYdHnsO9CA,12415
53
- numbers_parser/generated/TSWPArchives_pb2.py,sha256=6bGFEo-lABOA8l1PbDG96GVd1vmB9PMaYFiqAiDsHdk,55432
54
- numbers_parser/generated/TSWPArchives_sos_pb2.py,sha256=poJ49WA4JjZsHpmROyv4jFl2xGpJy6pTRCaJQZ5ZGr0,29114
55
- numbers_parser/generated/TSWPCommandArchives_pb2.py,sha256=-wQpDqveA64l_V-0jXyMkycrE_L7e9zXYzw9JfirsbE,25595
56
- numbers_parser/generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- numbers_parser/generated/fontmap.py,sha256=ORrf3PtxG_gfT1t8R77yXjXBlIefRjvUCBUuG5RCTh8,23806
58
- numbers_parser/generated/functionmap.py,sha256=9OLSNlOVWxRO9xS8QZmK1HURpc11c1B5nIAAecUwA98,6082
59
- numbers_parser/generated/mapping.py,sha256=W6fEWqar3TFvx2wyWgK4NutIz9EYKtjChhSfho2FGQQ,32266
60
- numbers_parser-4.16.3.dist-info/licenses/LICENSE.rst,sha256=8vTa1-5KSdHrTpU9rlheO5005EWReEPMpjV7BjSaMc4,1050
61
- numbers_parser-4.16.3.dist-info/METADATA,sha256=GmeL2MD1qxLwRCVaKkjiH1AV9_iNZerbuR7YMGT9Ib4,23147
62
- numbers_parser-4.16.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
63
- numbers_parser-4.16.3.dist-info/entry_points.txt,sha256=_5biENfY3S-XG8BZL2AuE7Gvrw0zBwGjF6Un52u7FAk,165
64
- numbers_parser-4.16.3.dist-info/top_level.txt,sha256=EOag5_Q4xjG7gstnrNVeAF_CLUAJBR_HDvciqMQ9RQo,15
65
- numbers_parser-4.16.3.dist-info/RECORD,,