tksheet 7.2.1__py3-none-any.whl → 7.2.3__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 -1
- tksheet/column_headers.py +247 -201
- tksheet/main_table.py +135 -116
- tksheet/row_index.py +234 -196
- tksheet/sheet.py +86 -47
- tksheet/top_left_rectangle.py +7 -2
- {tksheet-7.2.1.dist-info → tksheet-7.2.3.dist-info}/METADATA +6 -4
- tksheet-7.2.3.dist-info/RECORD +20 -0
- tksheet-7.2.1.dist-info/RECORD +0 -20
- {tksheet-7.2.1.dist-info → tksheet-7.2.3.dist-info}/LICENSE.txt +0 -0
- {tksheet-7.2.1.dist-info → tksheet-7.2.3.dist-info}/WHEEL +0 -0
- {tksheet-7.2.1.dist-info → tksheet-7.2.3.dist-info}/top_level.txt +0 -0
tksheet/sheet.py
CHANGED
@@ -4,7 +4,7 @@ import tkinter as tk
|
|
4
4
|
from bisect import bisect_left
|
5
5
|
from collections import defaultdict, deque
|
6
6
|
from collections.abc import Callable, Generator, Iterator, Sequence
|
7
|
-
from itertools import accumulate, chain, islice, product
|
7
|
+
from itertools import accumulate, chain, islice, product, repeat
|
8
8
|
from timeit import default_timer
|
9
9
|
from tkinter import ttk
|
10
10
|
from typing import Literal
|
@@ -592,7 +592,7 @@ class Sheet(tk.Frame):
|
|
592
592
|
self.MT.enable_bindings(bindings)
|
593
593
|
return self
|
594
594
|
|
595
|
-
def disable_bindings(self, *bindings) -> Sheet:
|
595
|
+
def disable_bindings(self, *bindings: str) -> Sheet:
|
596
596
|
self.MT.disable_bindings(bindings)
|
597
597
|
return self
|
598
598
|
|
@@ -1081,8 +1081,11 @@ class Sheet(tk.Frame):
|
|
1081
1081
|
Includes child widgets such as scroll bars
|
1082
1082
|
Returns bool
|
1083
1083
|
"""
|
1084
|
-
|
1085
|
-
|
1084
|
+
try:
|
1085
|
+
widget = self.focus_get()
|
1086
|
+
return widget == self or any(widget == c for c in self.children.values())
|
1087
|
+
except Exception:
|
1088
|
+
return False
|
1086
1089
|
|
1087
1090
|
def focus_set(
|
1088
1091
|
self,
|
@@ -1289,8 +1292,6 @@ class Sheet(tk.Frame):
|
|
1289
1292
|
self,
|
1290
1293
|
*key: CreateSpanTypes,
|
1291
1294
|
) -> object:
|
1292
|
-
span = self.span_from_key(*key)
|
1293
|
-
rows, cols = self.ranges_from_span(span)
|
1294
1295
|
"""
|
1295
1296
|
e.g. retrieves entire table as pandas dataframe
|
1296
1297
|
sheet["A1"].expand().options(pandas.DataFrame).data
|
@@ -1350,6 +1351,8 @@ class Sheet(tk.Frame):
|
|
1350
1351
|
convert(data) - sends the data to an optional convert function
|
1351
1352
|
|
1352
1353
|
"""
|
1354
|
+
span = self.span_from_key(*key)
|
1355
|
+
rows, cols = self.ranges_from_span(span)
|
1353
1356
|
tdisp, idisp, hdisp = span.tdisp, span.idisp, span.hdisp
|
1354
1357
|
table, index, header = span.table, span.index, span.header
|
1355
1358
|
fmt_kw = span.kwargs if span.type_ == "format" and span.kwargs else None
|
@@ -1500,6 +1503,7 @@ class Sheet(tk.Frame):
|
|
1500
1503
|
self.MT.deselect(redraw=False)
|
1501
1504
|
if sheet_options:
|
1502
1505
|
self.ops = new_sheet_options()
|
1506
|
+
self.change_theme(redraw=False)
|
1503
1507
|
if tree:
|
1504
1508
|
self.RI.tree_reset()
|
1505
1509
|
if tree or row_heights or column_widths:
|
@@ -1546,16 +1550,12 @@ class Sheet(tk.Frame):
|
|
1546
1550
|
emit_event: bool | None = None,
|
1547
1551
|
redraw: bool = True,
|
1548
1552
|
) -> EventDataDict:
|
1549
|
-
span = self.span_from_key(*key)
|
1550
|
-
if data is None:
|
1551
|
-
data = []
|
1552
1553
|
"""
|
1553
1554
|
e.g.
|
1554
1555
|
df = pandas.DataFrame([[1, 2, 3], [4, 5, 6]])
|
1555
1556
|
sheet["A1"] = df.values.tolist()
|
1556
1557
|
|
1557
|
-
|
1558
|
-
just uses the from_r, from_c values
|
1558
|
+
just uses the spans from_r, from_c values
|
1559
1559
|
|
1560
1560
|
'data' parameter could be:
|
1561
1561
|
- list of lists
|
@@ -1599,6 +1599,9 @@ class Sheet(tk.Frame):
|
|
1599
1599
|
- h stands for header
|
1600
1600
|
|
1601
1601
|
"""
|
1602
|
+
span = self.span_from_key(*key)
|
1603
|
+
if data is None:
|
1604
|
+
data = []
|
1602
1605
|
startr, startc = span_froms(span)
|
1603
1606
|
table, index, header = span.table, span.index, span.header
|
1604
1607
|
fmt_kw = span.kwargs if span.type_ == "format" and span.kwargs else None
|
@@ -2266,16 +2269,14 @@ class Sheet(tk.Frame):
|
|
2266
2269
|
mod_positions: bool = True,
|
2267
2270
|
mod_data: bool = True,
|
2268
2271
|
) -> int | Sheet:
|
2272
|
+
total_rows = self.MT.total_data_rows()
|
2269
2273
|
if number is None:
|
2270
|
-
return
|
2274
|
+
return total_rows
|
2271
2275
|
if not isinstance(number, int) or number < 0:
|
2272
2276
|
raise ValueError("number argument must be integer and > 0")
|
2273
|
-
if number >
|
2274
|
-
|
2275
|
-
|
2276
|
-
for r in range(number - len(self.MT.data)):
|
2277
|
-
self.MT.insert_row_position("end", height)
|
2278
|
-
elif number < len(self.MT.data):
|
2277
|
+
if number > total_rows and mod_positions:
|
2278
|
+
self.MT.insert_row_positions(heights=number - total_rows)
|
2279
|
+
elif number < total_rows:
|
2279
2280
|
if not self.MT.all_rows_displayed:
|
2280
2281
|
self.MT.display_rows(enable=False, reset_row_positions=False, deselect_all=True)
|
2281
2282
|
self.MT.row_positions[number + 1 :] = []
|
@@ -2294,11 +2295,8 @@ class Sheet(tk.Frame):
|
|
2294
2295
|
return total_cols
|
2295
2296
|
if not isinstance(number, int) or number < 0:
|
2296
2297
|
raise ValueError("number argument must be integer and > 0")
|
2297
|
-
if number > total_cols:
|
2298
|
-
|
2299
|
-
width = self.ops.default_column_width
|
2300
|
-
for c in range(number - total_cols):
|
2301
|
-
self.MT.insert_col_position("end", width)
|
2298
|
+
if number > total_cols and mod_positions:
|
2299
|
+
self.MT.insert_col_positions(widths=number - total_cols)
|
2302
2300
|
elif number < total_cols:
|
2303
2301
|
if not self.MT.all_columns_displayed:
|
2304
2302
|
self.MT.display_columns(enable=False, reset_col_positions=False, deselect_all=True)
|
@@ -3334,7 +3332,7 @@ class Sheet(tk.Frame):
|
|
3334
3332
|
only_set_if_too_small: bool = False,
|
3335
3333
|
redraw: bool = True,
|
3336
3334
|
) -> Sheet:
|
3337
|
-
self.MT.set_cell_size_to_text(r=row, c=column,
|
3335
|
+
self.MT.set_cell_size_to_text(r=row, c=column, only_if_too_small=only_set_if_too_small)
|
3338
3336
|
return self.set_refresh_timer(redraw)
|
3339
3337
|
|
3340
3338
|
def set_all_cell_sizes_to_text(
|
@@ -3356,7 +3354,7 @@ class Sheet(tk.Frame):
|
|
3356
3354
|
) -> Sheet:
|
3357
3355
|
self.CH.set_width_of_all_cols(
|
3358
3356
|
width=width,
|
3359
|
-
|
3357
|
+
only_if_too_small=only_set_if_too_small,
|
3360
3358
|
recreate=recreate_selection_boxes,
|
3361
3359
|
)
|
3362
3360
|
return self.set_refresh_timer(redraw)
|
@@ -3370,7 +3368,7 @@ class Sheet(tk.Frame):
|
|
3370
3368
|
) -> Sheet:
|
3371
3369
|
self.RI.set_height_of_all_rows(
|
3372
3370
|
height=height,
|
3373
|
-
|
3371
|
+
only_if_too_small=only_set_if_too_small,
|
3374
3372
|
recreate=recreate_selection_boxes,
|
3375
3373
|
)
|
3376
3374
|
return self.set_refresh_timer(redraw)
|
@@ -3385,13 +3383,12 @@ class Sheet(tk.Frame):
|
|
3385
3383
|
if column == "all" and width == "default":
|
3386
3384
|
self.MT.reset_col_positions()
|
3387
3385
|
elif column == "displayed" and width == "text":
|
3388
|
-
|
3389
|
-
for c in range(sc, ec - 1):
|
3386
|
+
for c in range(*self.MT.visible_text_columns):
|
3390
3387
|
self.CH.set_col_width(c)
|
3391
3388
|
elif width == "text" and isinstance(column, int):
|
3392
|
-
self.CH.set_col_width(col=column, width=None,
|
3389
|
+
self.CH.set_col_width(col=column, width=None, only_if_too_small=only_set_if_too_small)
|
3393
3390
|
elif isinstance(width, int) and isinstance(column, int):
|
3394
|
-
self.CH.set_col_width(col=column, width=width,
|
3391
|
+
self.CH.set_col_width(col=column, width=width, only_if_too_small=only_set_if_too_small)
|
3395
3392
|
elif isinstance(column, int):
|
3396
3393
|
return int(self.MT.col_positions[column + 1] - self.MT.col_positions[column])
|
3397
3394
|
return self.set_refresh_timer(redraw)
|
@@ -3406,13 +3403,12 @@ class Sheet(tk.Frame):
|
|
3406
3403
|
if row == "all" and height == "default":
|
3407
3404
|
self.MT.reset_row_positions()
|
3408
3405
|
elif row == "displayed" and height == "text":
|
3409
|
-
|
3410
|
-
for r in range(sr, er - 1):
|
3406
|
+
for r in range(*self.MT.visible_text_rows):
|
3411
3407
|
self.RI.set_row_height(r)
|
3412
3408
|
elif height == "text" and isinstance(row, int):
|
3413
|
-
self.RI.set_row_height(row=row, height=None,
|
3409
|
+
self.RI.set_row_height(row=row, height=None, only_if_too_small=only_set_if_too_small)
|
3414
3410
|
elif isinstance(height, int) and isinstance(row, int):
|
3415
|
-
self.RI.set_row_height(row=row, height=height,
|
3411
|
+
self.RI.set_row_height(row=row, height=height, only_if_too_small=only_set_if_too_small)
|
3416
3412
|
elif isinstance(row, int):
|
3417
3413
|
return int(self.MT.row_positions[row + 1] - self.MT.row_positions[row])
|
3418
3414
|
return self.set_refresh_timer(redraw)
|
@@ -3427,9 +3423,33 @@ class Sheet(tk.Frame):
|
|
3427
3423
|
return self.MT.row_positions
|
3428
3424
|
return self.MT.get_row_heights()
|
3429
3425
|
|
3426
|
+
def get_row_text_height(
|
3427
|
+
self,
|
3428
|
+
row: int,
|
3429
|
+
visible_only: bool = False,
|
3430
|
+
only_if_too_small: bool = False,
|
3431
|
+
) -> int:
|
3432
|
+
return self.RI.get_row_text_height(
|
3433
|
+
row=row,
|
3434
|
+
visible_only=visible_only,
|
3435
|
+
only_if_too_small=only_if_too_small,
|
3436
|
+
)
|
3437
|
+
|
3438
|
+
def get_column_text_width(
|
3439
|
+
self,
|
3440
|
+
column: int,
|
3441
|
+
visible_only: bool = False,
|
3442
|
+
only_if_too_small: bool = False,
|
3443
|
+
) -> int:
|
3444
|
+
return self.CH.get_col_text_width(
|
3445
|
+
col=column,
|
3446
|
+
visible_only=visible_only,
|
3447
|
+
only_if_too_small=only_if_too_small,
|
3448
|
+
)
|
3449
|
+
|
3430
3450
|
def set_column_widths(
|
3431
3451
|
self,
|
3432
|
-
column_widths: Iterator[
|
3452
|
+
column_widths: Iterator[float] | None = None,
|
3433
3453
|
canvas_positions: bool = False,
|
3434
3454
|
reset: bool = False,
|
3435
3455
|
) -> Sheet:
|
@@ -3439,12 +3459,12 @@ class Sheet(tk.Frame):
|
|
3439
3459
|
if canvas_positions and isinstance(column_widths, list):
|
3440
3460
|
self.MT.col_positions = column_widths
|
3441
3461
|
else:
|
3442
|
-
self.MT.col_positions = list(accumulate(chain([0],
|
3462
|
+
self.MT.col_positions = list(accumulate(chain([0], column_widths)))
|
3443
3463
|
return self
|
3444
3464
|
|
3445
3465
|
def set_row_heights(
|
3446
3466
|
self,
|
3447
|
-
row_heights: Iterator[
|
3467
|
+
row_heights: Iterator[float] | None = None,
|
3448
3468
|
canvas_positions: bool = False,
|
3449
3469
|
reset: bool = False,
|
3450
3470
|
) -> Sheet:
|
@@ -3454,7 +3474,7 @@ class Sheet(tk.Frame):
|
|
3454
3474
|
if canvas_positions and isinstance(row_heights, list):
|
3455
3475
|
self.MT.row_positions = row_heights
|
3456
3476
|
else:
|
3457
|
-
self.MT.row_positions = list(accumulate(chain([0],
|
3477
|
+
self.MT.row_positions = list(accumulate(chain([0], row_heights)))
|
3458
3478
|
return self
|
3459
3479
|
|
3460
3480
|
def set_width_of_index_to_text(self, text: None | str = None, *args, **kwargs) -> Sheet:
|
@@ -3556,10 +3576,10 @@ class Sheet(tk.Frame):
|
|
3556
3576
|
return len(self.MT.row_positions) - 1, len(self.MT.col_positions) - 1
|
3557
3577
|
if isinstance(total_rows, int):
|
3558
3578
|
height = self.MT.get_default_row_height()
|
3559
|
-
self.MT.row_positions = list(accumulate(chain([0], (height
|
3579
|
+
self.MT.row_positions = list(accumulate(chain([0], repeat(height, total_rows))))
|
3560
3580
|
if isinstance(total_columns, int):
|
3561
3581
|
width = self.ops.default_column_width
|
3562
|
-
self.MT.col_positions = list(accumulate(chain([0], (width
|
3582
|
+
self.MT.col_positions = list(accumulate(chain([0], repeat(width, total_columns))))
|
3563
3583
|
return self
|
3564
3584
|
|
3565
3585
|
def move_row_position(self, row: int, moveto: int) -> Sheet:
|
@@ -3573,14 +3593,14 @@ class Sheet(tk.Frame):
|
|
3573
3593
|
def get_example_canvas_column_widths(self, total_cols: int | None = None) -> list[float]:
|
3574
3594
|
colpos = int(self.ops.default_column_width)
|
3575
3595
|
if isinstance(total_cols, int):
|
3576
|
-
return list(accumulate(chain([0], (colpos
|
3577
|
-
return list(accumulate(chain([0], (colpos
|
3596
|
+
return list(accumulate(chain([0], repeat(colpos, total_cols))))
|
3597
|
+
return list(accumulate(chain([0], repeat(colpos, len(self.MT.col_positions) - 1))))
|
3578
3598
|
|
3579
3599
|
def get_example_canvas_row_heights(self, total_rows: int | None = None) -> list[float]:
|
3580
3600
|
rowpos = self.MT.get_default_row_height()
|
3581
3601
|
if isinstance(total_rows, int):
|
3582
|
-
return list(accumulate(chain([0], (rowpos
|
3583
|
-
return list(accumulate(chain([0], (rowpos
|
3602
|
+
return list(accumulate(chain([0], repeat(rowpos, total_rows))))
|
3603
|
+
return list(accumulate(chain([0], repeat(rowpos, len(self.MT.row_positions) - 1))))
|
3584
3604
|
|
3585
3605
|
def verify_row_heights(self, row_heights: list[float], canvas_positions: bool = False) -> bool:
|
3586
3606
|
if not isinstance(row_heights, list):
|
@@ -3590,7 +3610,7 @@ class Sheet(tk.Frame):
|
|
3590
3610
|
return False
|
3591
3611
|
return not any(
|
3592
3612
|
x - z < self.MT.min_row_height or not isinstance(x, int) or isinstance(x, bool)
|
3593
|
-
for z, x in zip(
|
3613
|
+
for z, x in zip(row_heights, islice(row_heights, 1, None))
|
3594
3614
|
)
|
3595
3615
|
return not any(z < self.MT.min_row_height or not isinstance(z, int) or isinstance(z, bool) for z in row_heights)
|
3596
3616
|
|
@@ -3602,7 +3622,7 @@ class Sheet(tk.Frame):
|
|
3602
3622
|
return False
|
3603
3623
|
return not any(
|
3604
3624
|
x - z < self.MT.min_column_width or not isinstance(x, int) or isinstance(x, bool)
|
3605
|
-
for z, x in zip(
|
3625
|
+
for z, x in zip(column_widths, islice(column_widths, 1, None))
|
3606
3626
|
)
|
3607
3627
|
return not any(
|
3608
3628
|
z < self.MT.min_column_width or not isinstance(z, int) or isinstance(z, bool) for z in column_widths
|
@@ -3622,6 +3642,20 @@ class Sheet(tk.Frame):
|
|
3622
3642
|
return self.MT.max_column_width
|
3623
3643
|
return width
|
3624
3644
|
|
3645
|
+
@property
|
3646
|
+
def visible_rows(self) -> tuple[int, int]:
|
3647
|
+
"""
|
3648
|
+
returns: tuple[visible start row int, visible end row int]
|
3649
|
+
"""
|
3650
|
+
return self.MT.visible_text_rows
|
3651
|
+
|
3652
|
+
@property
|
3653
|
+
def visible_columns(self) -> tuple[int, int]:
|
3654
|
+
"""
|
3655
|
+
returns: tuple[visible start column int, visible end column int]
|
3656
|
+
"""
|
3657
|
+
return self.MT.visible_text_columns
|
3658
|
+
|
3625
3659
|
# Identifying Bound Event Mouse Position
|
3626
3660
|
|
3627
3661
|
def identify_region(self, event: object) -> Literal["table", "index", "header", "top left"]:
|
@@ -4258,6 +4292,9 @@ class Sheet(tk.Frame):
|
|
4258
4292
|
if any(k in kwargs for k in scrollbar_options_keys):
|
4259
4293
|
self.set_scrollbar_options()
|
4260
4294
|
self.MT.create_rc_menus()
|
4295
|
+
if "treeview" in kwargs:
|
4296
|
+
self.set_options(auto_resize_row_index=True, redraw=False)
|
4297
|
+
self.index_align("w", redraw=False)
|
4261
4298
|
return self.set_refresh_timer(redraw)
|
4262
4299
|
|
4263
4300
|
def set_scrollbar_options(self) -> Sheet:
|
@@ -4760,9 +4797,11 @@ class Sheet(tk.Frame):
|
|
4760
4797
|
idx += sum(1 for _ in self.RI.get_iid_descendants(cid)) + 1
|
4761
4798
|
else:
|
4762
4799
|
idx = len(self.MT._row_index)
|
4800
|
+
if values is None:
|
4801
|
+
values = []
|
4763
4802
|
self.insert_rows(
|
4764
4803
|
idx=idx,
|
4765
|
-
rows=[[self.RI.tree[iid]] +
|
4804
|
+
rows=[[self.RI.tree[iid]] + values],
|
4766
4805
|
row_index=True,
|
4767
4806
|
create_selections=create_selections,
|
4768
4807
|
fill=False,
|
tksheet/top_left_rectangle.py
CHANGED
@@ -140,7 +140,7 @@ class TopLeftRectangle(tk.Canvas):
|
|
140
140
|
fill=self.PAR.ops.top_left_fg,
|
141
141
|
)
|
142
142
|
|
143
|
-
def basic_bindings(self, enable=True) -> None:
|
143
|
+
def basic_bindings(self, enable: bool = True) -> None:
|
144
144
|
if enable:
|
145
145
|
self.bind("<Motion>", self.mouse_motion)
|
146
146
|
self.bind("<ButtonPress-1>", self.b1_press)
|
@@ -156,7 +156,12 @@ class TopLeftRectangle(tk.Canvas):
|
|
156
156
|
self.unbind("<Double-Button-1>")
|
157
157
|
self.unbind(rc_binding)
|
158
158
|
|
159
|
-
def set_dimensions(
|
159
|
+
def set_dimensions(
|
160
|
+
self,
|
161
|
+
new_w: None | int = None,
|
162
|
+
new_h: None | int = None,
|
163
|
+
recreate_selection_boxes: bool = True,
|
164
|
+
) -> None:
|
160
165
|
try:
|
161
166
|
if new_h is None:
|
162
167
|
h = self.winfo_height()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tksheet
|
3
|
-
Version: 7.2.
|
3
|
+
Version: 7.2.3
|
4
4
|
Summary: Tkinter table / sheet widget
|
5
5
|
Author-email: ragardner <github@ragardner.simplelogin.com>
|
6
6
|
License: Copyright (c) 2019 ragardner and open source contributors
|
@@ -40,14 +40,16 @@ Requires-Python: >=3.8
|
|
40
40
|
Description-Content-Type: text/markdown
|
41
41
|
License-File: LICENSE.txt
|
42
42
|
|
43
|
-
|
43
|
+
<p align="center" width="100%">
|
44
|
+
<img width="33%" src="https://github.com/ragardner/tksheet/assets/26602401/4124c3ce-cf62-4925-9158-c5bdf712765b">
|
45
|
+
</p>
|
46
|
+
|
47
|
+
# <div align="center">tksheet - python tkinter table widget</div>
|
44
48
|
|
45
49
|
[](https://pypi.python.org/pypi/tksheet/)  [](https://github.com/ragardner/tksheet/blob/master/LICENSE.txt)
|
46
50
|
|
47
51
|
[](https://github.com/ragardner/tksheet/releases) [](https://pypi.org/project/tksheet/)
|
48
52
|
|
49
|
-
### **A python tkinter table widget**
|
50
|
-
|
51
53
|
| **Help** | |
|
52
54
|
|-------------------|------------------------------------------------------------------|
|
53
55
|
| Versions 6.x.x -> | [Documentation Wiki](https://github.com/ragardner/tksheet/wiki/Version-6) | |
|
@@ -0,0 +1,20 @@
|
|
1
|
+
tksheet/__init__.py,sha256=ExwA5frHCiXaPMRIH-EKonUH_RKCgMI6IpAps9dtesE,2124
|
2
|
+
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
|
+
tksheet/column_headers.py,sha256=zArcBsPeob8xUvM0cYB4RjwcKMfLLkHiz7oUtDFBAeg,102039
|
4
|
+
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
|
+
tksheet/functions.py,sha256=rNfDpQRoXZm_Ro-tlF92ox3fi37p71Mio1PGTreM_oc,40835
|
6
|
+
tksheet/main_table.py,sha256=CudkuoJ8NSlCwTZjQCxQHRNdBTYdjSyo3CqnIZSmynI,325631
|
7
|
+
tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
|
8
|
+
tksheet/row_index.py,sha256=aBNZIKMBnbIHdCSsmKdLgZSQ8ESDyAXwFxlSRVR1RO8,108213
|
9
|
+
tksheet/sheet.py,sha256=q8MSMTCLHaud-Hddh2vMflWbl785SuiwlZ6H2tam1cw,268536
|
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=N9nAj6vcWk4UdcrAakvz2LPbJEJWXdv3j7Om6AnvX5k,14474
|
13
|
+
tksheet/top_left_rectangle.py,sha256=o-M6i5NjaJwo60tV-BDP9SbaT1CzQNoPjuoC7p-nb5Q,8436
|
14
|
+
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
|
+
tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
|
16
|
+
tksheet-7.2.3.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
+
tksheet-7.2.3.dist-info/METADATA,sha256=Phxh9tGDvtVNUVESqLiCDYnot995x8l2rhmkJYbOEK4,6319
|
18
|
+
tksheet-7.2.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
+
tksheet-7.2.3.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
+
tksheet-7.2.3.dist-info/RECORD,,
|
tksheet-7.2.1.dist-info/RECORD
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
tksheet/__init__.py,sha256=C4NK-mpjy4W3wFrleFiFx5nw7mP49S9vKhQWk28NY8g,2124
|
2
|
-
tksheet/colors.py,sha256=1k06VorynLmnC4FdJg8H4reIA6rXaeXBpdMwXLhN8oc,51594
|
3
|
-
tksheet/column_headers.py,sha256=HsNnDswX_k1vDGfCWKV0-C5fnjOsZHUfDc72YyelwHM,101151
|
4
|
-
tksheet/formatters.py,sha256=DXif00aq9DgFpXwkbiqD86KxtDg0Meop51hLY-KcGNQ,10037
|
5
|
-
tksheet/functions.py,sha256=rNfDpQRoXZm_Ro-tlF92ox3fi37p71Mio1PGTreM_oc,40835
|
6
|
-
tksheet/main_table.py,sha256=w6SMPHkNQ4-J6Y6kgCSvqH7-XashI1_WU28g9trhObw,324259
|
7
|
-
tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
|
8
|
-
tksheet/row_index.py,sha256=loLYW_fbGrKIeZ1d8l7jA6gUaUI7158Zx3s5a65G3Os,107384
|
9
|
-
tksheet/sheet.py,sha256=ek0_QLi52G5lLh8jYnCdEThRxbxxvaGOKa1gGlA4eSk,267749
|
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=N9nAj6vcWk4UdcrAakvz2LPbJEJWXdv3j7Om6AnvX5k,14474
|
13
|
-
tksheet/top_left_rectangle.py,sha256=JDByauKiEBPoJfLWcZsU26XTqMLVtrGsI0wFLT9Yv2w,8356
|
14
|
-
tksheet/types.py,sha256=IgoEHMbceKpakcZtanxKaKJ4RdCq7UW6EoEIIz5O59k,340
|
15
|
-
tksheet/vars.py,sha256=86ubZZElsnQuC6Lv6bW2lt2NhD9wAp6PxtkK7ufKqq0,3452
|
16
|
-
tksheet-7.2.1.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
-
tksheet-7.2.1.dist-info/METADATA,sha256=7Dw-DR96upy8SdhsTKb7NKbZK3jMmtOpPTr_AaIxyQ8,6145
|
18
|
-
tksheet-7.2.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
-
tksheet-7.2.1.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
-
tksheet-7.2.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|