tksheet 7.2.12__py3-none-any.whl → 7.2.13__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.
- tksheet/__init__.py +1 -0
- tksheet/column_headers.py +1 -2
- tksheet/functions.py +10 -1
- tksheet/main_table.py +2 -2
- tksheet/row_index.py +45 -35
- tksheet/sheet.py +28 -14
- tksheet/sheet_options.py +2 -0
- tksheet/text_editor.py +1 -1
- {tksheet-7.2.12.dist-info → tksheet-7.2.13.dist-info}/METADATA +1 -1
- tksheet-7.2.13.dist-info/RECORD +20 -0
- {tksheet-7.2.12.dist-info → tksheet-7.2.13.dist-info}/WHEEL +1 -1
- tksheet-7.2.12.dist-info/RECORD +0 -20
- {tksheet-7.2.12.dist-info → tksheet-7.2.13.dist-info}/LICENSE.txt +0 -0
- {tksheet-7.2.12.dist-info → tksheet-7.2.13.dist-info}/top_level.txt +0 -0
tksheet/__init__.py
CHANGED
tksheet/column_headers.py
CHANGED
@@ -128,7 +128,6 @@ class ColumnHeaders(tk.Canvas):
|
|
128
128
|
self.hidd_checkbox = {}
|
129
129
|
self.hidd_boxes = set()
|
130
130
|
|
131
|
-
self.default_header = kwargs["default_header"].lower()
|
132
131
|
self.align = kwargs["header_align"]
|
133
132
|
self.basic_bindings()
|
134
133
|
|
@@ -2270,7 +2269,7 @@ class ColumnHeaders(tk.Canvas):
|
|
2270
2269
|
except Exception:
|
2271
2270
|
value = ""
|
2272
2271
|
if not value and self.PAR.ops.show_default_header_for_empty:
|
2273
|
-
value = get_n2a(datacn, self.default_header)
|
2272
|
+
value = get_n2a(datacn, self.PAR.ops.default_header)
|
2274
2273
|
return value
|
2275
2274
|
|
2276
2275
|
def get_value_for_empty_cell(self, datacn: int, c_ops: bool = True) -> object:
|
tksheet/functions.py
CHANGED
@@ -37,8 +37,17 @@ unpickle_obj = pickle.loads
|
|
37
37
|
|
38
38
|
|
39
39
|
def get_csv_str_dialect(s: str, delimiters: str) -> csv.Dialect:
|
40
|
+
if len(s) > 6000:
|
41
|
+
try:
|
42
|
+
_upto = next(
|
43
|
+
match.start() + 1 for i, match in enumerate(re.finditer("\n", s), 1) if i == 300 or match.start() > 6000
|
44
|
+
)
|
45
|
+
except Exception:
|
46
|
+
_upto = len(s)
|
47
|
+
else:
|
48
|
+
_upto = len(s)
|
40
49
|
try:
|
41
|
-
return csv.Sniffer().sniff(s[:
|
50
|
+
return csv.Sniffer().sniff(s[:_upto] if len(s) > 6000 else s, delimiters=delimiters)
|
42
51
|
except Exception:
|
43
52
|
return csv.excel_tab
|
44
53
|
|
tksheet/main_table.py
CHANGED
@@ -6345,7 +6345,7 @@ class MainTable(tk.Canvas):
|
|
6345
6345
|
for r in range(box.coords.from_r, box.coords.upto_r)
|
6346
6346
|
}
|
6347
6347
|
if get_cells_as_rows:
|
6348
|
-
return s | set(
|
6348
|
+
return s | set(map(itemgetter(0), self.gen_selected_cells()))
|
6349
6349
|
return s
|
6350
6350
|
|
6351
6351
|
def get_selected_cols(
|
@@ -6369,7 +6369,7 @@ class MainTable(tk.Canvas):
|
|
6369
6369
|
for c in range(box.coords.from_c, box.coords.upto_c)
|
6370
6370
|
}
|
6371
6371
|
if get_cells_as_cols:
|
6372
|
-
return s | set(
|
6372
|
+
return s | set(map(itemgetter(1), self.gen_selected_cells()))
|
6373
6373
|
return s
|
6374
6374
|
|
6375
6375
|
def get_selected_cells(
|
tksheet/row_index.py
CHANGED
@@ -140,7 +140,6 @@ class RowIndex(tk.Canvas):
|
|
140
140
|
self.hidd_boxes = set()
|
141
141
|
|
142
142
|
self.align = kwargs["row_index_align"]
|
143
|
-
self.default_index = kwargs["default_row_index"].lower()
|
144
143
|
|
145
144
|
self.tree_reset()
|
146
145
|
self.basic_bindings()
|
@@ -1200,11 +1199,11 @@ class RowIndex(tk.Canvas):
|
|
1200
1199
|
|
1201
1200
|
def auto_set_index_width(self, end_row: int, only_rows: list) -> bool:
|
1202
1201
|
if not isinstance(self.MT._row_index, int) and not self.MT._row_index:
|
1203
|
-
if self.
|
1202
|
+
if self.PAR.ops.default_row_index == "letters":
|
1204
1203
|
new_w = self.MT.get_txt_w(f"{num2alpha(end_row)}") + 20
|
1205
|
-
elif self.
|
1204
|
+
elif self.PAR.ops.default_row_index == "numbers":
|
1206
1205
|
new_w = self.MT.get_txt_w(f"{end_row}") + 20
|
1207
|
-
elif self.
|
1206
|
+
elif self.PAR.ops.default_row_index == "both":
|
1208
1207
|
new_w = self.MT.get_txt_w(f"{end_row + 1} {num2alpha(end_row)}") + 20
|
1209
1208
|
elif self.PAR.ops.auto_resize_row_index is True:
|
1210
1209
|
new_w = self.get_index_text_width(only_rows=only_rows)
|
@@ -1336,33 +1335,44 @@ class RowIndex(tk.Canvas):
|
|
1336
1335
|
fill: str,
|
1337
1336
|
tag: str | tuple[str],
|
1338
1337
|
indent: float,
|
1338
|
+
has_children: bool = False,
|
1339
1339
|
open_: bool = False,
|
1340
1340
|
) -> None:
|
1341
1341
|
mod = (self.MT.index_txt_height - 1) if self.MT.index_txt_height % 2 else self.MT.index_txt_height
|
1342
1342
|
small_mod = int(mod / 5)
|
1343
1343
|
mid_y = floor(self.MT.min_row_height / 2)
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
|
1352
|
-
|
1353
|
-
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1344
|
+
if has_children:
|
1345
|
+
# up arrow
|
1346
|
+
if open_:
|
1347
|
+
points = (
|
1348
|
+
# the left hand downward point
|
1349
|
+
x1 + 5 + indent,
|
1350
|
+
y1 + mid_y + small_mod,
|
1351
|
+
# the middle upward point
|
1352
|
+
x1 + 5 + indent + small_mod + small_mod,
|
1353
|
+
y1 + mid_y - small_mod,
|
1354
|
+
# the right hand downward point
|
1355
|
+
x1 + 5 + indent + small_mod + small_mod + small_mod + small_mod,
|
1356
|
+
y1 + mid_y + small_mod,
|
1357
|
+
)
|
1358
|
+
# right pointing arrow
|
1359
|
+
else:
|
1360
|
+
points = (
|
1361
|
+
# the upper point
|
1362
|
+
x1 + 5 + indent + small_mod + small_mod,
|
1363
|
+
y1 + mid_y - small_mod - small_mod,
|
1364
|
+
# the middle point
|
1365
|
+
x1 + 5 + indent + small_mod + small_mod + small_mod + small_mod,
|
1366
|
+
y1 + mid_y,
|
1367
|
+
# the bottom point
|
1368
|
+
x1 + 5 + indent + small_mod + small_mod,
|
1369
|
+
y1 + mid_y + small_mod + small_mod,
|
1370
|
+
)
|
1358
1371
|
else:
|
1359
1372
|
points = (
|
1360
1373
|
# the upper point
|
1361
1374
|
x1 + 5 + indent + small_mod + small_mod,
|
1362
1375
|
y1 + mid_y - small_mod - small_mod,
|
1363
|
-
# the middle point
|
1364
|
-
x1 + 5 + indent + small_mod + small_mod + small_mod + small_mod,
|
1365
|
-
y1 + mid_y,
|
1366
1376
|
# the bottom point
|
1367
1377
|
x1 + 5 + indent + small_mod + small_mod,
|
1368
1378
|
y1 + mid_y + small_mod + small_mod,
|
@@ -1371,14 +1381,14 @@ class RowIndex(tk.Canvas):
|
|
1371
1381
|
t, sh = self.hidd_tree_arrow.popitem()
|
1372
1382
|
self.coords(t, points)
|
1373
1383
|
if sh:
|
1374
|
-
self.itemconfig(t, fill=fill)
|
1384
|
+
self.itemconfig(t, fill=fill if has_children else self.PAR.ops.index_grid_fg)
|
1375
1385
|
else:
|
1376
|
-
self.itemconfig(t, fill=fill, tag=tag, state="normal")
|
1386
|
+
self.itemconfig(t, fill=fill if has_children else self.PAR.ops.index_grid_fg, tag=tag, state="normal")
|
1377
1387
|
self.lift(t)
|
1378
1388
|
else:
|
1379
1389
|
t = self.create_line(
|
1380
1390
|
points,
|
1381
|
-
fill=fill,
|
1391
|
+
fill=fill if has_children else self.PAR.ops.index_grid_fg,
|
1382
1392
|
tag=tag,
|
1383
1393
|
width=2,
|
1384
1394
|
capstyle=tk.ROUND,
|
@@ -1689,16 +1699,16 @@ class RowIndex(tk.Canvas):
|
|
1689
1699
|
draw_x += self.MT.index_txt_height + 3
|
1690
1700
|
indent = self.get_treeview_indent(iid)
|
1691
1701
|
draw_x += indent + 5
|
1692
|
-
|
1693
|
-
|
1694
|
-
|
1695
|
-
|
1696
|
-
|
1697
|
-
|
1698
|
-
|
1699
|
-
|
1700
|
-
|
1701
|
-
|
1702
|
+
self.redraw_tree_arrow(
|
1703
|
+
2,
|
1704
|
+
rtopgridln,
|
1705
|
+
r=r,
|
1706
|
+
fill=tree_arrow_fg,
|
1707
|
+
tag="ta",
|
1708
|
+
indent=indent,
|
1709
|
+
has_children=bool(self.tree[iid].children),
|
1710
|
+
open_=self.MT._row_index[datarn].iid in self.tree_open_ids,
|
1711
|
+
)
|
1702
1712
|
lns = self.get_valid_cell_data_as_str(datarn, fix=False)
|
1703
1713
|
if not lns:
|
1704
1714
|
continue
|
@@ -2388,7 +2398,7 @@ class RowIndex(tk.Canvas):
|
|
2388
2398
|
except Exception:
|
2389
2399
|
value = ""
|
2390
2400
|
if not value and self.PAR.ops.show_default_index_for_empty:
|
2391
|
-
value = get_n2a(datarn, self.
|
2401
|
+
value = get_n2a(datarn, self.PAR.ops.default_row_index)
|
2392
2402
|
return value
|
2393
2403
|
|
2394
2404
|
def get_value_for_empty_cell(self, datarn: int, r_ops: bool = True) -> object:
|
tksheet/sheet.py
CHANGED
@@ -339,11 +339,9 @@ class Sheet(tk.Frame):
|
|
339
339
|
row_index_align=(
|
340
340
|
convert_align(row_index_align) if row_index_align is not None else convert_align(index_align)
|
341
341
|
),
|
342
|
-
default_row_index=default_row_index,
|
343
342
|
)
|
344
343
|
self.CH = ColumnHeaders(
|
345
344
|
parent=self,
|
346
|
-
default_header=default_header,
|
347
345
|
header_align=convert_align(header_align),
|
348
346
|
)
|
349
347
|
self.MT = MainTable(
|
@@ -1502,6 +1500,8 @@ class Sheet(tk.Frame):
|
|
1502
1500
|
if displayed_rows:
|
1503
1501
|
self.MT.displayed_rows = []
|
1504
1502
|
self.MT.all_rows_displayed = True
|
1503
|
+
if selections:
|
1504
|
+
self.MT.deselect(redraw=False)
|
1505
1505
|
if row_heights:
|
1506
1506
|
self.MT.saved_row_heights = {}
|
1507
1507
|
self.MT.set_row_positions([])
|
@@ -1514,8 +1514,6 @@ class Sheet(tk.Frame):
|
|
1514
1514
|
self.MT.reset_tags()
|
1515
1515
|
if undo_stack:
|
1516
1516
|
self.reset_undos()
|
1517
|
-
if selections:
|
1518
|
-
self.MT.deselect(redraw=False)
|
1519
1517
|
if sheet_options:
|
1520
1518
|
self.ops = new_sheet_options()
|
1521
1519
|
self.change_theme(redraw=False)
|
@@ -2924,7 +2922,7 @@ class Sheet(tk.Frame):
|
|
2924
2922
|
|
2925
2923
|
def table_align(
|
2926
2924
|
self,
|
2927
|
-
align: str = None,
|
2925
|
+
align: str | None = None,
|
2928
2926
|
redraw: bool = True,
|
2929
2927
|
) -> str | Sheet:
|
2930
2928
|
if align is None:
|
@@ -2937,7 +2935,7 @@ class Sheet(tk.Frame):
|
|
2937
2935
|
|
2938
2936
|
def header_align(
|
2939
2937
|
self,
|
2940
|
-
align: str = None,
|
2938
|
+
align: str | None = None,
|
2941
2939
|
redraw: bool = True,
|
2942
2940
|
) -> str | Sheet:
|
2943
2941
|
if align is None:
|
@@ -2950,7 +2948,7 @@ class Sheet(tk.Frame):
|
|
2950
2948
|
|
2951
2949
|
def row_index_align(
|
2952
2950
|
self,
|
2953
|
-
align: str = None,
|
2951
|
+
align: str | None = None,
|
2954
2952
|
redraw: bool = True,
|
2955
2953
|
) -> str | Sheet:
|
2956
2954
|
if align is None:
|
@@ -3461,6 +3459,17 @@ class Sheet(tk.Frame):
|
|
3461
3459
|
return self.MT.row_positions
|
3462
3460
|
return self.MT.get_row_heights()
|
3463
3461
|
|
3462
|
+
def get_safe_row_heights(self) -> list[int]:
|
3463
|
+
default_h = self.MT.get_default_row_height()
|
3464
|
+
return [0 if e == default_h else e for e in self.MT.gen_row_heights()]
|
3465
|
+
|
3466
|
+
def set_safe_row_heights(self, heights: list[int]) -> Sheet:
|
3467
|
+
default_h = self.MT.get_default_row_height()
|
3468
|
+
self.MT.row_positions = list(
|
3469
|
+
accumulate(chain([0], (self.valid_row_height(e) if e else default_h for e in heights)))
|
3470
|
+
)
|
3471
|
+
return self
|
3472
|
+
|
3464
3473
|
def get_row_text_height(
|
3465
3474
|
self,
|
3466
3475
|
row: int,
|
@@ -3823,8 +3832,14 @@ class Sheet(tk.Frame):
|
|
3823
3832
|
return c if self.MT.all_columns_displayed else self.MT.displayed_columns[c]
|
3824
3833
|
|
3825
3834
|
data_c = displayed_column_to_data
|
3835
|
+
datacn = displayed_column_to_data
|
3826
3836
|
dcol = displayed_column_to_data
|
3827
3837
|
|
3838
|
+
def data_column_to_displayed(self, c: int) -> int:
|
3839
|
+
return self.MT.dispcn(c)
|
3840
|
+
|
3841
|
+
dispcn = data_column_to_displayed
|
3842
|
+
|
3828
3843
|
def display_columns(
|
3829
3844
|
self,
|
3830
3845
|
columns: None | Literal["all"] | Iterator[int] = None,
|
@@ -3951,8 +3966,14 @@ class Sheet(tk.Frame):
|
|
3951
3966
|
return r if self.MT.all_rows_displayed else self.MT.displayed_rows[r]
|
3952
3967
|
|
3953
3968
|
data_r = displayed_row_to_data
|
3969
|
+
datarn = displayed_row_to_data
|
3954
3970
|
drow = displayed_row_to_data
|
3955
3971
|
|
3972
|
+
def data_row_to_displayed(self, r: int) -> int:
|
3973
|
+
return self.MT.disprn(r)
|
3974
|
+
|
3975
|
+
disprn = data_row_to_displayed
|
3976
|
+
|
3956
3977
|
def display_rows(
|
3957
3978
|
self,
|
3958
3979
|
rows: None | Literal["all"] | Iterator[int] = None,
|
@@ -4297,10 +4318,6 @@ class Sheet(tk.Frame):
|
|
4297
4318
|
)
|
4298
4319
|
if "default_row_height" in kwargs:
|
4299
4320
|
self.default_row_height(kwargs["default_row_height"])
|
4300
|
-
if "default_header" in kwargs:
|
4301
|
-
self.CH.default_header = kwargs["default_header"].lower()
|
4302
|
-
if "default_row_index" in kwargs:
|
4303
|
-
self.RI.default_index = kwargs["default_row_index"].lower()
|
4304
4321
|
if "max_column_width" in kwargs:
|
4305
4322
|
self.MT.max_column_width = float(kwargs["max_column_width"])
|
4306
4323
|
if "max_row_height" in kwargs:
|
@@ -6675,9 +6692,6 @@ class Sheet(tk.Frame):
|
|
6675
6692
|
if self.RI.get_cell_kwargs(r, key="dropdown"):
|
6676
6693
|
return self.MT._row_index[r]
|
6677
6694
|
|
6678
|
-
def delete_all_formatting(self, clear_values: bool = False) -> None:
|
6679
|
-
self.MT.delete_all_formatting(clear_values=clear_values)
|
6680
|
-
|
6681
6695
|
def format_cell(
|
6682
6696
|
self,
|
6683
6697
|
r: int | Literal["all"],
|
tksheet/sheet_options.py
CHANGED
@@ -217,6 +217,8 @@ def new_sheet_options() -> DotDict:
|
|
217
217
|
"default_row_height": "1",
|
218
218
|
"default_column_width": 120,
|
219
219
|
"default_row_index_width": 70,
|
220
|
+
"default_row_index": "numbers",
|
221
|
+
"default_header": "letters",
|
220
222
|
"page_up_down_select_row": True,
|
221
223
|
"paste_can_expand_x": False,
|
222
224
|
"paste_can_expand_y": False,
|
tksheet/text_editor.py
CHANGED
@@ -63,7 +63,7 @@ class TextEditorTkText(tk.Text):
|
|
63
63
|
state=state,
|
64
64
|
)
|
65
65
|
self.align = align
|
66
|
-
self.rc_popup_menu.delete(0,
|
66
|
+
self.rc_popup_menu.delete(0, "end")
|
67
67
|
self.rc_popup_menu.add_command(
|
68
68
|
label=sheet_ops.select_all_label,
|
69
69
|
accelerator=sheet_ops.select_all_accelerator,
|
@@ -0,0 +1,20 @@
|
|
1
|
+
tksheet/__init__.py,sha256=hncZ8UDCiHAX84BygwoCRGInI--ZROe-b2PfOOUMRSo,2165
|
2
|
+
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
|
+
tksheet/column_headers.py,sha256=6PuhA2jHt3IT71syjEx986LsVJIQ65V3Qx0RLDjH1wI,102278
|
4
|
+
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
|
+
tksheet/functions.py,sha256=lAl7KnYn5d8hTT_RgU7TDX8FwFaZOUsbn-i9K3O6hqk,41410
|
6
|
+
tksheet/main_table.py,sha256=PBf-rjjgz1CvFZM5KVDTvbzneEtCgMty3R5e30IQYjQ,328748
|
7
|
+
tksheet/other_classes.py,sha256=HIKIDNXJRv0H5qbftcCtLVWW8NKSBAwyNXQOlmPWTDQ,15633
|
8
|
+
tksheet/row_index.py,sha256=4QyaQHr3ux8apWUfotZD2Vr8yidKdiD4DjRp8syHTTY,109686
|
9
|
+
tksheet/sheet.py,sha256=oRKPn92IclzngpvH9w1UhkPT2ZMNWXQziZAQRZduIu0,275346
|
10
|
+
tksheet/sheet_options.py,sha256=AJB7twce1DBteP7jk3GOpY1SetW-djgj2WP517FHZ9o,12349
|
11
|
+
tksheet/text_editor.py,sha256=-QOO3belB0nGH3_XkO3aJ-SR-RRPZDMApyKUa7DWwAw,6549
|
12
|
+
tksheet/themes.py,sha256=ZO4RqnAhEpApsoA5ZGUkYvb7huaNHSmrV_ug2TWWzOE,14474
|
13
|
+
tksheet/top_left_rectangle.py,sha256=ri7hb9CC5l37ynmxceprq11UuWWRpWEI_0AI42wzv0A,8444
|
14
|
+
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
|
+
tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
|
16
|
+
tksheet-7.2.13.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
+
tksheet-7.2.13.dist-info/METADATA,sha256=0vIzO__DtHFM6Jg93nr-CS0VgTuhNHopzpCvSwab3Jk,6285
|
18
|
+
tksheet-7.2.13.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
19
|
+
tksheet-7.2.13.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
+
tksheet-7.2.13.dist-info/RECORD,,
|
tksheet-7.2.12.dist-info/RECORD
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
tksheet/__init__.py,sha256=5utL7_7hWEF1rltV8vnjbzRcT0pUIFoi3BcQ7yMK6gU,2145
|
2
|
-
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
|
-
tksheet/column_headers.py,sha256=rqebiS9z6iKIsHk9yIATgqZ3gUF4uSWLsXVv5iiPxl0,102334
|
4
|
-
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
|
-
tksheet/functions.py,sha256=u-m4p7AfRnLLgtX95AJ4QoRBerBAyi2t1JXTfOQNpS8,41118
|
6
|
-
tksheet/main_table.py,sha256=XTqqmigEzTiqVArfo0CHYwVKpMkieFUXBNCKGcYRB4k,328744
|
7
|
-
tksheet/other_classes.py,sha256=HIKIDNXJRv0H5qbftcCtLVWW8NKSBAwyNXQOlmPWTDQ,15633
|
8
|
-
tksheet/row_index.py,sha256=zfBLQ5npuaun9UOQgG3B97q9yp57K3YEcit-MIZuBNc,109062
|
9
|
-
tksheet/sheet.py,sha256=9meeBpTm5WNNU5g8vYAuYpnV3Zce20o8gYFFNPcJUKk,274973
|
10
|
-
tksheet/sheet_options.py,sha256=Azo7_-H0e0ssYEoU7Mq_OWy3S-U05rp4_6Q2E2Ffuu8,12262
|
11
|
-
tksheet/text_editor.py,sha256=aRm1Y5GfORiEAJthtN1uQ30CT3VoF8mRWvR-SIXPrJU,6548
|
12
|
-
tksheet/themes.py,sha256=ZO4RqnAhEpApsoA5ZGUkYvb7huaNHSmrV_ug2TWWzOE,14474
|
13
|
-
tksheet/top_left_rectangle.py,sha256=ri7hb9CC5l37ynmxceprq11UuWWRpWEI_0AI42wzv0A,8444
|
14
|
-
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
|
-
tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
|
16
|
-
tksheet-7.2.12.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
-
tksheet-7.2.12.dist-info/METADATA,sha256=UZJSAJ17UMGSqqX32lFm0jvYDjAI4s-Z2lGHGpWRI3M,6285
|
18
|
-
tksheet-7.2.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
-
tksheet-7.2.12.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
-
tksheet-7.2.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|