tksheet 7.2.1__py3-none-any.whl → 7.2.2__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 +70 -64
- tksheet/row_index.py +234 -196
- tksheet/sheet.py +79 -46
- tksheet/top_left_rectangle.py +7 -2
- {tksheet-7.2.1.dist-info → tksheet-7.2.2.dist-info}/METADATA +6 -4
- tksheet-7.2.2.dist-info/RECORD +20 -0
- tksheet-7.2.1.dist-info/RECORD +0 -20
- {tksheet-7.2.1.dist-info → tksheet-7.2.2.dist-info}/LICENSE.txt +0 -0
- {tksheet-7.2.1.dist-info → tksheet-7.2.2.dist-info}/WHEEL +0 -0
- {tksheet-7.2.1.dist-info → tksheet-7.2.2.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
|
@@ -1546,16 +1549,12 @@ class Sheet(tk.Frame):
|
|
1546
1549
|
emit_event: bool | None = None,
|
1547
1550
|
redraw: bool = True,
|
1548
1551
|
) -> EventDataDict:
|
1549
|
-
span = self.span_from_key(*key)
|
1550
|
-
if data is None:
|
1551
|
-
data = []
|
1552
1552
|
"""
|
1553
1553
|
e.g.
|
1554
1554
|
df = pandas.DataFrame([[1, 2, 3], [4, 5, 6]])
|
1555
1555
|
sheet["A1"] = df.values.tolist()
|
1556
1556
|
|
1557
|
-
|
1558
|
-
just uses the from_r, from_c values
|
1557
|
+
just uses the spans from_r, from_c values
|
1559
1558
|
|
1560
1559
|
'data' parameter could be:
|
1561
1560
|
- list of lists
|
@@ -1599,6 +1598,9 @@ class Sheet(tk.Frame):
|
|
1599
1598
|
- h stands for header
|
1600
1599
|
|
1601
1600
|
"""
|
1601
|
+
span = self.span_from_key(*key)
|
1602
|
+
if data is None:
|
1603
|
+
data = []
|
1602
1604
|
startr, startc = span_froms(span)
|
1603
1605
|
table, index, header = span.table, span.index, span.header
|
1604
1606
|
fmt_kw = span.kwargs if span.type_ == "format" and span.kwargs else None
|
@@ -2266,16 +2268,14 @@ class Sheet(tk.Frame):
|
|
2266
2268
|
mod_positions: bool = True,
|
2267
2269
|
mod_data: bool = True,
|
2268
2270
|
) -> int | Sheet:
|
2271
|
+
total_rows = self.MT.total_data_rows()
|
2269
2272
|
if number is None:
|
2270
|
-
return
|
2273
|
+
return total_rows
|
2271
2274
|
if not isinstance(number, int) or number < 0:
|
2272
2275
|
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):
|
2276
|
+
if number > total_rows and mod_positions:
|
2277
|
+
self.MT.insert_row_positions(heights=number - total_rows)
|
2278
|
+
elif number < total_rows:
|
2279
2279
|
if not self.MT.all_rows_displayed:
|
2280
2280
|
self.MT.display_rows(enable=False, reset_row_positions=False, deselect_all=True)
|
2281
2281
|
self.MT.row_positions[number + 1 :] = []
|
@@ -2294,11 +2294,8 @@ class Sheet(tk.Frame):
|
|
2294
2294
|
return total_cols
|
2295
2295
|
if not isinstance(number, int) or number < 0:
|
2296
2296
|
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)
|
2297
|
+
if number > total_cols and mod_positions:
|
2298
|
+
self.MT.insert_col_positions(widths=number - total_cols)
|
2302
2299
|
elif number < total_cols:
|
2303
2300
|
if not self.MT.all_columns_displayed:
|
2304
2301
|
self.MT.display_columns(enable=False, reset_col_positions=False, deselect_all=True)
|
@@ -3334,7 +3331,7 @@ class Sheet(tk.Frame):
|
|
3334
3331
|
only_set_if_too_small: bool = False,
|
3335
3332
|
redraw: bool = True,
|
3336
3333
|
) -> Sheet:
|
3337
|
-
self.MT.set_cell_size_to_text(r=row, c=column,
|
3334
|
+
self.MT.set_cell_size_to_text(r=row, c=column, only_if_too_small=only_set_if_too_small)
|
3338
3335
|
return self.set_refresh_timer(redraw)
|
3339
3336
|
|
3340
3337
|
def set_all_cell_sizes_to_text(
|
@@ -3356,7 +3353,7 @@ class Sheet(tk.Frame):
|
|
3356
3353
|
) -> Sheet:
|
3357
3354
|
self.CH.set_width_of_all_cols(
|
3358
3355
|
width=width,
|
3359
|
-
|
3356
|
+
only_if_too_small=only_set_if_too_small,
|
3360
3357
|
recreate=recreate_selection_boxes,
|
3361
3358
|
)
|
3362
3359
|
return self.set_refresh_timer(redraw)
|
@@ -3370,7 +3367,7 @@ class Sheet(tk.Frame):
|
|
3370
3367
|
) -> Sheet:
|
3371
3368
|
self.RI.set_height_of_all_rows(
|
3372
3369
|
height=height,
|
3373
|
-
|
3370
|
+
only_if_too_small=only_set_if_too_small,
|
3374
3371
|
recreate=recreate_selection_boxes,
|
3375
3372
|
)
|
3376
3373
|
return self.set_refresh_timer(redraw)
|
@@ -3385,13 +3382,12 @@ class Sheet(tk.Frame):
|
|
3385
3382
|
if column == "all" and width == "default":
|
3386
3383
|
self.MT.reset_col_positions()
|
3387
3384
|
elif column == "displayed" and width == "text":
|
3388
|
-
|
3389
|
-
for c in range(sc, ec - 1):
|
3385
|
+
for c in range(*self.MT.visible_text_columns):
|
3390
3386
|
self.CH.set_col_width(c)
|
3391
3387
|
elif width == "text" and isinstance(column, int):
|
3392
|
-
self.CH.set_col_width(col=column, width=None,
|
3388
|
+
self.CH.set_col_width(col=column, width=None, only_if_too_small=only_set_if_too_small)
|
3393
3389
|
elif isinstance(width, int) and isinstance(column, int):
|
3394
|
-
self.CH.set_col_width(col=column, width=width,
|
3390
|
+
self.CH.set_col_width(col=column, width=width, only_if_too_small=only_set_if_too_small)
|
3395
3391
|
elif isinstance(column, int):
|
3396
3392
|
return int(self.MT.col_positions[column + 1] - self.MT.col_positions[column])
|
3397
3393
|
return self.set_refresh_timer(redraw)
|
@@ -3406,13 +3402,12 @@ class Sheet(tk.Frame):
|
|
3406
3402
|
if row == "all" and height == "default":
|
3407
3403
|
self.MT.reset_row_positions()
|
3408
3404
|
elif row == "displayed" and height == "text":
|
3409
|
-
|
3410
|
-
for r in range(sr, er - 1):
|
3405
|
+
for r in range(*self.MT.visible_text_rows):
|
3411
3406
|
self.RI.set_row_height(r)
|
3412
3407
|
elif height == "text" and isinstance(row, int):
|
3413
|
-
self.RI.set_row_height(row=row, height=None,
|
3408
|
+
self.RI.set_row_height(row=row, height=None, only_if_too_small=only_set_if_too_small)
|
3414
3409
|
elif isinstance(height, int) and isinstance(row, int):
|
3415
|
-
self.RI.set_row_height(row=row, height=height,
|
3410
|
+
self.RI.set_row_height(row=row, height=height, only_if_too_small=only_set_if_too_small)
|
3416
3411
|
elif isinstance(row, int):
|
3417
3412
|
return int(self.MT.row_positions[row + 1] - self.MT.row_positions[row])
|
3418
3413
|
return self.set_refresh_timer(redraw)
|
@@ -3427,9 +3422,33 @@ class Sheet(tk.Frame):
|
|
3427
3422
|
return self.MT.row_positions
|
3428
3423
|
return self.MT.get_row_heights()
|
3429
3424
|
|
3425
|
+
def get_row_text_height(
|
3426
|
+
self,
|
3427
|
+
row: int,
|
3428
|
+
visible_only: bool = False,
|
3429
|
+
only_if_too_small: bool = False,
|
3430
|
+
) -> int:
|
3431
|
+
return self.RI.get_row_text_height(
|
3432
|
+
row=row,
|
3433
|
+
visible_only=visible_only,
|
3434
|
+
only_if_too_small=only_if_too_small,
|
3435
|
+
)
|
3436
|
+
|
3437
|
+
def get_column_text_width(
|
3438
|
+
self,
|
3439
|
+
column: int,
|
3440
|
+
visible_only: bool = False,
|
3441
|
+
only_if_too_small: bool = False,
|
3442
|
+
) -> int:
|
3443
|
+
return self.CH.get_col_text_width(
|
3444
|
+
col=column,
|
3445
|
+
visible_only=visible_only,
|
3446
|
+
only_if_too_small=only_if_too_small,
|
3447
|
+
)
|
3448
|
+
|
3430
3449
|
def set_column_widths(
|
3431
3450
|
self,
|
3432
|
-
column_widths: Iterator[
|
3451
|
+
column_widths: Iterator[float] | None = None,
|
3433
3452
|
canvas_positions: bool = False,
|
3434
3453
|
reset: bool = False,
|
3435
3454
|
) -> Sheet:
|
@@ -3439,12 +3458,12 @@ class Sheet(tk.Frame):
|
|
3439
3458
|
if canvas_positions and isinstance(column_widths, list):
|
3440
3459
|
self.MT.col_positions = column_widths
|
3441
3460
|
else:
|
3442
|
-
self.MT.col_positions = list(accumulate(chain([0],
|
3461
|
+
self.MT.col_positions = list(accumulate(chain([0], column_widths)))
|
3443
3462
|
return self
|
3444
3463
|
|
3445
3464
|
def set_row_heights(
|
3446
3465
|
self,
|
3447
|
-
row_heights: Iterator[
|
3466
|
+
row_heights: Iterator[float] | None = None,
|
3448
3467
|
canvas_positions: bool = False,
|
3449
3468
|
reset: bool = False,
|
3450
3469
|
) -> Sheet:
|
@@ -3454,7 +3473,7 @@ class Sheet(tk.Frame):
|
|
3454
3473
|
if canvas_positions and isinstance(row_heights, list):
|
3455
3474
|
self.MT.row_positions = row_heights
|
3456
3475
|
else:
|
3457
|
-
self.MT.row_positions = list(accumulate(chain([0],
|
3476
|
+
self.MT.row_positions = list(accumulate(chain([0], row_heights)))
|
3458
3477
|
return self
|
3459
3478
|
|
3460
3479
|
def set_width_of_index_to_text(self, text: None | str = None, *args, **kwargs) -> Sheet:
|
@@ -3556,10 +3575,10 @@ class Sheet(tk.Frame):
|
|
3556
3575
|
return len(self.MT.row_positions) - 1, len(self.MT.col_positions) - 1
|
3557
3576
|
if isinstance(total_rows, int):
|
3558
3577
|
height = self.MT.get_default_row_height()
|
3559
|
-
self.MT.row_positions = list(accumulate(chain([0], (height
|
3578
|
+
self.MT.row_positions = list(accumulate(chain([0], repeat(height, total_rows))))
|
3560
3579
|
if isinstance(total_columns, int):
|
3561
3580
|
width = self.ops.default_column_width
|
3562
|
-
self.MT.col_positions = list(accumulate(chain([0], (width
|
3581
|
+
self.MT.col_positions = list(accumulate(chain([0], repeat(width, total_columns))))
|
3563
3582
|
return self
|
3564
3583
|
|
3565
3584
|
def move_row_position(self, row: int, moveto: int) -> Sheet:
|
@@ -3573,14 +3592,14 @@ class Sheet(tk.Frame):
|
|
3573
3592
|
def get_example_canvas_column_widths(self, total_cols: int | None = None) -> list[float]:
|
3574
3593
|
colpos = int(self.ops.default_column_width)
|
3575
3594
|
if isinstance(total_cols, int):
|
3576
|
-
return list(accumulate(chain([0], (colpos
|
3577
|
-
return list(accumulate(chain([0], (colpos
|
3595
|
+
return list(accumulate(chain([0], repeat(colpos, total_cols))))
|
3596
|
+
return list(accumulate(chain([0], repeat(colpos, len(self.MT.col_positions) - 1))))
|
3578
3597
|
|
3579
3598
|
def get_example_canvas_row_heights(self, total_rows: int | None = None) -> list[float]:
|
3580
3599
|
rowpos = self.MT.get_default_row_height()
|
3581
3600
|
if isinstance(total_rows, int):
|
3582
|
-
return list(accumulate(chain([0], (rowpos
|
3583
|
-
return list(accumulate(chain([0], (rowpos
|
3601
|
+
return list(accumulate(chain([0], repeat(rowpos, total_rows))))
|
3602
|
+
return list(accumulate(chain([0], repeat(rowpos, len(self.MT.row_positions) - 1))))
|
3584
3603
|
|
3585
3604
|
def verify_row_heights(self, row_heights: list[float], canvas_positions: bool = False) -> bool:
|
3586
3605
|
if not isinstance(row_heights, list):
|
@@ -3590,7 +3609,7 @@ class Sheet(tk.Frame):
|
|
3590
3609
|
return False
|
3591
3610
|
return not any(
|
3592
3611
|
x - z < self.MT.min_row_height or not isinstance(x, int) or isinstance(x, bool)
|
3593
|
-
for z, x in zip(
|
3612
|
+
for z, x in zip(row_heights, islice(row_heights, 1, None))
|
3594
3613
|
)
|
3595
3614
|
return not any(z < self.MT.min_row_height or not isinstance(z, int) or isinstance(z, bool) for z in row_heights)
|
3596
3615
|
|
@@ -3602,7 +3621,7 @@ class Sheet(tk.Frame):
|
|
3602
3621
|
return False
|
3603
3622
|
return not any(
|
3604
3623
|
x - z < self.MT.min_column_width or not isinstance(x, int) or isinstance(x, bool)
|
3605
|
-
for z, x in zip(
|
3624
|
+
for z, x in zip(column_widths, islice(column_widths, 1, None))
|
3606
3625
|
)
|
3607
3626
|
return not any(
|
3608
3627
|
z < self.MT.min_column_width or not isinstance(z, int) or isinstance(z, bool) for z in column_widths
|
@@ -3622,6 +3641,20 @@ class Sheet(tk.Frame):
|
|
3622
3641
|
return self.MT.max_column_width
|
3623
3642
|
return width
|
3624
3643
|
|
3644
|
+
@property
|
3645
|
+
def visible_rows(self) -> tuple[int, int]:
|
3646
|
+
"""
|
3647
|
+
returns: tuple[visible start row int, visible end row int]
|
3648
|
+
"""
|
3649
|
+
return self.MT.visible_text_rows
|
3650
|
+
|
3651
|
+
@property
|
3652
|
+
def visible_columns(self) -> tuple[int, int]:
|
3653
|
+
"""
|
3654
|
+
returns: tuple[visible start column int, visible end column int]
|
3655
|
+
"""
|
3656
|
+
return self.MT.visible_text_columns
|
3657
|
+
|
3625
3658
|
# Identifying Bound Event Mouse Position
|
3626
3659
|
|
3627
3660
|
def identify_region(self, event: object) -> Literal["table", "index", "header", "top left"]:
|
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.2
|
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=AAZRsDaJpm-EpbRjLLHkml18_RHCTN55YebntHKqRRM,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=hHO4tuzEBlugZ2k0eOgCcmWXiqEovx7VYIE1KgH4Q0I,324868
|
7
|
+
tksheet/other_classes.py,sha256=P3FYUYreLhstATvHCNow8sDQoCsD_02KB6oXcca3ahE,13628
|
8
|
+
tksheet/row_index.py,sha256=aBNZIKMBnbIHdCSsmKdLgZSQ8ESDyAXwFxlSRVR1RO8,108213
|
9
|
+
tksheet/sheet.py,sha256=rDRy2yg07lpPelfx4zrGQUJXKb7evB9tqzKJupCPXzI,268309
|
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.2.dist-info/LICENSE.txt,sha256=ndbcCPe9SlHfweE_W2RAueWUe2k7yudyxYLq6WjFdn4,1101
|
17
|
+
tksheet-7.2.2.dist-info/METADATA,sha256=Y0l-rRw47WpKgl3zI2bU5r4AnSSjYpDwX4k404lwvFo,6319
|
18
|
+
tksheet-7.2.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
19
|
+
tksheet-7.2.2.dist-info/top_level.txt,sha256=my61PXCcck_HHAc9cq3NAlyAr3A3FXxCy9gptEOaCN8,8
|
20
|
+
tksheet-7.2.2.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
|