pylegend 0.11.0__py3-none-any.whl → 0.12.0__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 (25) hide show
  1. pylegend/core/database/sql_to_string/db_extension.py +68 -6
  2. pylegend/core/language/legendql_api/legendql_api_custom_expressions.py +190 -5
  3. pylegend/core/language/pandas_api/pandas_api_series.py +3 -0
  4. pylegend/core/sql/metamodel.py +4 -1
  5. pylegend/core/tds/legendql_api/frames/functions/legendql_api_distinct_function.py +53 -7
  6. pylegend/core/tds/legendql_api/frames/legendql_api_base_tds_frame.py +146 -4
  7. pylegend/core/tds/legendql_api/frames/legendql_api_tds_frame.py +33 -2
  8. pylegend/core/tds/pandas_api/frames/functions/assign_function.py +65 -23
  9. pylegend/core/tds/pandas_api/frames/functions/drop.py +3 -3
  10. pylegend/core/tds/pandas_api/frames/functions/dropna.py +167 -0
  11. pylegend/core/tds/pandas_api/frames/functions/fillna.py +162 -0
  12. pylegend/core/tds/pandas_api/frames/functions/filter.py +10 -5
  13. pylegend/core/tds/pandas_api/frames/functions/truncate_function.py +151 -120
  14. pylegend/core/tds/pandas_api/frames/pandas_api_applied_function_tds_frame.py +7 -3
  15. pylegend/core/tds/pandas_api/frames/pandas_api_base_tds_frame.py +300 -34
  16. pylegend/core/tds/pandas_api/frames/pandas_api_tds_frame.py +78 -9
  17. pylegend/extensions/tds/pandas_api/frames/pandas_api_legend_function_input_frame.py +9 -4
  18. pylegend/extensions/tds/pandas_api/frames/pandas_api_legend_service_input_frame.py +12 -5
  19. pylegend/extensions/tds/pandas_api/frames/pandas_api_table_spec_input_frame.py +12 -4
  20. {pylegend-0.11.0.dist-info → pylegend-0.12.0.dist-info}/METADATA +1 -1
  21. {pylegend-0.11.0.dist-info → pylegend-0.12.0.dist-info}/RECORD +25 -23
  22. {pylegend-0.11.0.dist-info → pylegend-0.12.0.dist-info}/WHEEL +0 -0
  23. {pylegend-0.11.0.dist-info → pylegend-0.12.0.dist-info}/licenses/LICENSE +0 -0
  24. {pylegend-0.11.0.dist-info → pylegend-0.12.0.dist-info}/licenses/LICENSE.spdx +0 -0
  25. {pylegend-0.11.0.dist-info → pylegend-0.12.0.dist-info}/licenses/NOTICE +0 -0
@@ -14,23 +14,31 @@
14
14
 
15
15
  from pylegend._typing import (
16
16
  PyLegendList,
17
- PyLegendSequence
17
+ PyLegendSequence,
18
+ PyLegendType
19
+ )
20
+ from pylegend.core.sql.metamodel import (
21
+ QualifiedName
18
22
  )
19
23
  from pylegend.core.tds.pandas_api.frames.pandas_api_input_tds_frame import PandasApiNonExecutableInputTdsFrame
20
24
  from pylegend.core.tds.tds_column import TdsColumn
25
+ from pylegend.core.tds.tds_frame import PyLegendTdsFrame
21
26
  from pylegend.extensions.tds.abstract.table_spec_input_frame import TableSpecInputFrameAbstract
22
27
 
23
-
24
28
  __all__: PyLegendSequence[str] = [
25
29
  "PandasApiTableSpecInputFrame"
26
30
  ]
27
31
 
28
32
 
29
- class PandasApiTableSpecInputFrame(TableSpecInputFrameAbstract, PandasApiNonExecutableInputTdsFrame):
33
+ class PandasApiTableSpecInputFrame(PandasApiNonExecutableInputTdsFrame, TableSpecInputFrameAbstract):
34
+ table: QualifiedName
30
35
 
31
36
  def __init__(self, table_name_parts: PyLegendList[str], columns: PyLegendSequence[TdsColumn]) -> None:
32
37
  TableSpecInputFrameAbstract.__init__(self, table_name_parts=table_name_parts)
33
38
  PandasApiNonExecutableInputTdsFrame.__init__(self, columns=columns)
34
39
 
35
40
  def __str__(self) -> str:
36
- return f"PandasApiTableSpecInputFrame({'.'.join(self.table.parts)})"
41
+ return f"PandasApiTableSpecInputFrame({'.'.join(self.table.parts)})" # pragma: no cover
42
+
43
+ def get_super_type(self) -> PyLegendType[PyLegendTdsFrame]:
44
+ return TableSpecInputFrameAbstract
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pylegend
3
- Version: 0.11.0
3
+ Version: 0.12.0
4
4
  Summary: Python language binding for Legend data management platform
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -4,19 +4,19 @@ pylegend/core/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
4
4
  pylegend/core/database/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
5
5
  pylegend/core/database/sql_to_string/__init__.py,sha256=_qWOoReR9ygprnShQRBtp4wFmqtiPEa88jAhOZpYY2c,1028
6
6
  pylegend/core/database/sql_to_string/config.py,sha256=xrwPFcuZyzZcKNGeOQTnFW2y7CqhT6laSAazVl93JLU,1384
7
- pylegend/core/database/sql_to_string/db_extension.py,sha256=uGQDsCzBJWHiCXh-WBKR2yACbDlVIivPQi1lqo1kIb0,54058
7
+ pylegend/core/database/sql_to_string/db_extension.py,sha256=o-hwigD4SCqibcJ0roVfwDPDavyr8IqVNBrvxjg-zLo,55897
8
8
  pylegend/core/database/sql_to_string/generator.py,sha256=xk3siXWyR7_ahn6pwsUMi80V_7NV2tYa7x5dosiNJR4,2607
9
9
  pylegend/core/language/__init__.py,sha256=sw70dEA5RT660Qmpjxdi1XKEWDwshuedomqHhyIJpvI,4331
10
10
  pylegend/core/language/legacy_api/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXED3ttOOB8YnXzVt3ijb28,578
11
11
  pylegend/core/language/legacy_api/aggregate_specification.py,sha256=XT9kmlT3DqrJRUbQSju69ZW-23mORnJHE_Aplw_YpNw,2207
12
12
  pylegend/core/language/legacy_api/legacy_api_tds_row.py,sha256=B3L55ylNVnHoukuETEyU7zPS5E_G9H8hSesGN48zgkM,1149
13
13
  pylegend/core/language/legendql_api/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXED3ttOOB8YnXzVt3ijb28,578
14
- pylegend/core/language/legendql_api/legendql_api_custom_expressions.py,sha256=DPKdwBzE1HVfYnE99kOWzB75Uqa1nPJPcdyT5P9tdQg,19283
14
+ pylegend/core/language/legendql_api/legendql_api_custom_expressions.py,sha256=5KsfFxWiJQ8C6Pgtpurhpw5kxsNXQQYpRZD9Et_ug4g,25780
15
15
  pylegend/core/language/legendql_api/legendql_api_tds_row.py,sha256=5hejBF2uYjXuaXLA8jHt6e3mj5JEQRZN_rwaPMT8JFI,10304
16
16
  pylegend/core/language/pandas_api/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXED3ttOOB8YnXzVt3ijb28,578
17
17
  pylegend/core/language/pandas_api/pandas_api_aggregate_specification.py,sha256=T_RaPB9y_7kcnMC_CIEDJhxORID1plR99IGGPZvDnBk,1474
18
18
  pylegend/core/language/pandas_api/pandas_api_custom_expressions.py,sha256=xOXp0NdyNW6j_R_1sCy1JcdN9EWIqYRXngocsINpllE,2590
19
- pylegend/core/language/pandas_api/pandas_api_series.py,sha256=Z57V2cJmRDH2cDQYO6_jMvWzGAHhRbF6xj03r32gKSY,7272
19
+ pylegend/core/language/pandas_api/pandas_api_series.py,sha256=WJ--FaWeODIvS26RErugschR_CmypjzVu6H64sfwokQ,7359
20
20
  pylegend/core/language/pandas_api/pandas_api_tds_row.py,sha256=L0O5BLok3KqmzUgXFfM2fQgrpAxCfQ74bOplnetjyvw,2516
21
21
  pylegend/core/language/shared/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXED3ttOOB8YnXzVt3ijb28,578
22
22
  pylegend/core/language/shared/column_expressions.py,sha256=qWHVvwPGwKroQX94a_ovUrxCPnosVMX3tBWlTj7uJ6k,4333
@@ -57,7 +57,7 @@ pylegend/core/request/legend_client.py,sha256=PLCCiazvFG2ujcHN-vGDQxpEl5QvFHBNNc
57
57
  pylegend/core/request/response_reader.py,sha256=TNMi2GKk4lkmf7VMeY5n2AwhxxuWbX4M8pgC2_pXFbE,1691
58
58
  pylegend/core/request/service_client.py,sha256=oNvMR6qNl5UcxpcAjIb4CCpd0MB3Z-Y5OJSyFPGeerM,3377
59
59
  pylegend/core/sql/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
60
- pylegend/core/sql/metamodel.py,sha256=6j3PxONqjCo5AaI_fZM9LElQNzXIXMaW0-5biTtC61I,20169
60
+ pylegend/core/sql/metamodel.py,sha256=UNGJ9mZWw7sJQzNwXsZjZtrASTBfPrM2Un8-BEd8jDg,20330
61
61
  pylegend/core/sql/metamodel_extension.py,sha256=5y63ms2MLdfW07X6R5hsozinWEr7LoB_lGXvROP4byk,16382
62
62
  pylegend/core/tds/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
63
63
  pylegend/core/tds/abstract/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXED3ttOOB8YnXzVt3ijb28,578
@@ -91,7 +91,7 @@ pylegend/core/tds/legendql_api/frames/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXE
91
91
  pylegend/core/tds/legendql_api/frames/functions/__init__.py,sha256=g6w4WCuQ2pqQG6yyn-QLLXED3ttOOB8YnXzVt3ijb28,578
92
92
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_asofjoin_function.py,sha256=rqcP1SB24ExNVoPQm2fm2p9AR90BXeWRHmroHBnCUB4,7162
93
93
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_concatenate_function.py,sha256=YlIjlFsl63P_Kb65Vfsz2iiuvGte-2FmxM1UBExK3aM,5429
94
- pylegend/core/tds/legendql_api/frames/functions/legendql_api_distinct_function.py,sha256=D9IQvwmzHHwhXJs6LkSiDPVN7PhpC72WwHuh8Rw3xcU,2531
94
+ pylegend/core/tds/legendql_api/frames/functions/legendql_api_distinct_function.py,sha256=XM53U87NXcG2X6qbc7D8Sndls__-GQHHDkcsCKOnqJc,4485
95
95
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_drop_function.py,sha256=TRODbNc_F2L8qItQnp5vsmXF1pVFdMTEA26D8ISpmdM,2770
96
96
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_extend_function.py,sha256=V-9Foub1UC2sSlH-4oZpukmZdlm1yWOPYmpj4clEKOc,12754
97
97
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_filter_function.py,sha256=jlIqWQKcCF2Fqz1DjAPEsUY-_hbtqpd6Cp1gpiJcYBA,4993
@@ -106,26 +106,28 @@ pylegend/core/tds/legendql_api/frames/functions/legendql_api_slice_function.py,s
106
106
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_sort_function.py,sha256=KHfxCCRXMSbIWG3KKuAR1BzThFx0rON8CJ_5g7QUTV4,3665
107
107
  pylegend/core/tds/legendql_api/frames/functions/legendql_api_window_extend_function.py,sha256=TapsKtSgZGaMDK_33NsrvozmuV-VkiWtdJJSdLYSYnM,14253
108
108
  pylegend/core/tds/legendql_api/frames/legendql_api_applied_function_tds_frame.py,sha256=kEh2XLoxYucQ6R7i5SKWSElUxbslufh5X5reIzOZbDw,1442
109
- pylegend/core/tds/legendql_api/frames/legendql_api_base_tds_frame.py,sha256=QOV1NG8Ku9S3MQg_B-GkAvA0z1wEMR6Z1eZSLz3uqa8,17659
109
+ pylegend/core/tds/legendql_api/frames/legendql_api_base_tds_frame.py,sha256=3TDKBgiE9O5ra-2yJSm2uIUjrLoSILW1fpzLajasmZI,23231
110
110
  pylegend/core/tds/legendql_api/frames/legendql_api_input_tds_frame.py,sha256=x4rl6ER2ksy_PAcz9vlN_GNXejKpUg_e_YgAynfzS1Q,2147
111
- pylegend/core/tds/legendql_api/frames/legendql_api_tds_frame.py,sha256=4-ffrFZia3jS8mToSVqz22J75t-MuI8-QZJQzm7AGAY,11366
111
+ pylegend/core/tds/legendql_api/frames/legendql_api_tds_frame.py,sha256=BFDdgeZ66DdoA9k4kzWU9KATZKLxvyQPeJ4HQh5qWMI,12581
112
112
  pylegend/core/tds/pandas_api/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
113
113
  pylegend/core/tds/pandas_api/frames/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
114
114
  pylegend/core/tds/pandas_api/frames/functions/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
115
115
  pylegend/core/tds/pandas_api/frames/functions/aggregate_function.py,sha256=rpFjIOE9LmbfL78b3fiD2dRB0Dq0hqGmdQLHcsvi59Y,21110
116
- pylegend/core/tds/pandas_api/frames/functions/assign_function.py,sha256=yHqEdyLhYIjuZfUKE3ULKA5NmEwkNSVG8c4t-gDKPF4,4880
117
- pylegend/core/tds/pandas_api/frames/functions/drop.py,sha256=GGZTxOP5iv6zvR8TEggG166oWuaGkJQvOd9o9dQLJYU,7268
118
- pylegend/core/tds/pandas_api/frames/functions/filter.py,sha256=tiVCnDK2_8HahVh8KCbclrjC20i_tZWUbNiwZn-NLVs,7773
116
+ pylegend/core/tds/pandas_api/frames/functions/assign_function.py,sha256=uhCv1sDnVBZmT3H5Alu2NUvek8aKqWz5HIG2Vtut-hs,6931
117
+ pylegend/core/tds/pandas_api/frames/functions/drop.py,sha256=tJMeL9Or43QDng9SsxYvW_yus3Hjp03PSlX7P857d7s,7269
118
+ pylegend/core/tds/pandas_api/frames/functions/dropna.py,sha256=OVVwUsPSAykm1g-afVvwxQCr_AaoQtH0cFRVffl9eHs,6161
119
+ pylegend/core/tds/pandas_api/frames/functions/fillna.py,sha256=7XKfIpRlTtoIS1jzfPemOMuytH4njqQ_4GF2UKZliG0,6553
120
+ pylegend/core/tds/pandas_api/frames/functions/filter.py,sha256=TE-OfQqOrBwhS7bKDChsLRTAWOZreZikGQhQPByy8uA,7959
119
121
  pylegend/core/tds/pandas_api/frames/functions/filtering.py,sha256=FmzzobMoL-_mt3uFssveGTNCVGo6ZfttXZsj1c56uIo,3181
120
122
  pylegend/core/tds/pandas_api/frames/functions/merge.py,sha256=bp9a9reNtUAKqaz1Kft3m7wegHKxOmIVoJH135A1iV0,21225
121
123
  pylegend/core/tds/pandas_api/frames/functions/rename.py,sha256=afXj8EhsTVUNJAZDFAM_K3VOX5oH3TA2FxSDoZHfT6M,8898
122
124
  pylegend/core/tds/pandas_api/frames/functions/sort_values_function.py,sha256=sppDTCW3X0RXLYD2zBvjKEObtc_JfEtoNY7lj-60zqQ,7132
123
- pylegend/core/tds/pandas_api/frames/functions/truncate_function.py,sha256=8KsiQN9ju8iSmsk_IEOP0aoFfJHuDEHEAgE0KqDY-vc,4923
124
- pylegend/core/tds/pandas_api/frames/pandas_api_applied_function_tds_frame.py,sha256=NAnSHussMCb2WmhNIcXI_wGNnp7GQQl8sGgUvojAIgk,2821
125
- pylegend/core/tds/pandas_api/frames/pandas_api_base_tds_frame.py,sha256=iUhiSRA0CwFWg425VNzOI6ltuUoHdzSBnso1OIR99TQ,26456
125
+ pylegend/core/tds/pandas_api/frames/functions/truncate_function.py,sha256=VUr9jzVhnU_mJVootUQfcEG8Q66vSJba1QGUGQiYxCk,6214
126
+ pylegend/core/tds/pandas_api/frames/pandas_api_applied_function_tds_frame.py,sha256=u2ONcOw9kP1JJxl2VZH_fKIaqdyY0n9nuIy_p-yQ93g,2967
127
+ pylegend/core/tds/pandas_api/frames/pandas_api_base_tds_frame.py,sha256=HBmAuI2VW6Fc67CzJ3vJV_OcEP0lYCDKJjVYB89ObBk,36833
126
128
  pylegend/core/tds/pandas_api/frames/pandas_api_groupby_tds_frame.py,sha256=0K4Hb3FPs7ZzlZCWFG-65ZKkqEvHHj_FvE26g9rz7ps,13714
127
129
  pylegend/core/tds/pandas_api/frames/pandas_api_input_tds_frame.py,sha256=FgwIJCkawXuIjXYfVVrLa5RHfOO5xnSFI0pXti34L_8,2116
128
- pylegend/core/tds/pandas_api/frames/pandas_api_tds_frame.py,sha256=WMee6YFg0o9aknKGno17cqsXbXaj51A3E1blYqyeDUE,9548
130
+ pylegend/core/tds/pandas_api/frames/pandas_api_tds_frame.py,sha256=QYRFRJ605cpb4en2r048EFyoPsl8ieymjChGQr87oz0,11833
129
131
  pylegend/core/tds/result_handler/__init__.py,sha256=8RE84xfkARwDbaQCvZulXcvDJlI-V5DuJp9RsdaGnqU,1141
130
132
  pylegend/core/tds/result_handler/result_handler.py,sha256=7tSzOswFCapAAdACphIR3Q0QISYyjo_On_vtsUIPAbA,1183
131
133
  pylegend/core/tds/result_handler/to_csv_file_result_handler.py,sha256=lm0UG87RNUXqQwOtSgxHbLKzAHebNuE3zIXM3ErtOxM,2270
@@ -158,18 +160,18 @@ pylegend/extensions/tds/legendql_api/frames/legendql_api_legend_service_input_fr
158
160
  pylegend/extensions/tds/legendql_api/frames/legendql_api_table_spec_input_frame.py,sha256=hJ4MEHOhSuc4i6iheKQtsbdEWxltD3-ilxpwbJYppPM,1481
159
161
  pylegend/extensions/tds/pandas_api/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
160
162
  pylegend/extensions/tds/pandas_api/frames/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
161
- pylegend/extensions/tds/pandas_api/frames/pandas_api_legend_function_input_frame.py,sha256=aJaNPJcfMdc8HTJKErah4BYSnHfmKMIMvoKtEeCx4zQ,1818
162
- pylegend/extensions/tds/pandas_api/frames/pandas_api_legend_service_input_frame.py,sha256=dOV6qXIrNkZ8gwmPt0ljr5CVViS4AH5Y4h3L-1WnNdM,1822
163
- pylegend/extensions/tds/pandas_api/frames/pandas_api_table_spec_input_frame.py,sha256=2pj-siOOvIFEqNOG-f4VUvhY9gBGUFFDZz7jZl7QpLg,1465
163
+ pylegend/extensions/tds/pandas_api/frames/pandas_api_legend_function_input_frame.py,sha256=qnvk2CmHOlFAFVHsjv_NaRw9svZy0ymsrrDs5VzgWt8,2044
164
+ pylegend/extensions/tds/pandas_api/frames/pandas_api_legend_service_input_frame.py,sha256=bYz6Mzw1DKA-fR69ExcIcgv59l3RBVJY6gPVOZgzv5k,2075
165
+ pylegend/extensions/tds/pandas_api/frames/pandas_api_table_spec_input_frame.py,sha256=wd50jVMuBfknbsM7ldCPadWWYT8cin5zYAlE1mtQkeA,1754
164
166
  pylegend/extensions/tds/result_handler/__init__.py,sha256=NIIUcl39wpSc51IhUUEKtEYlve89Xncq0YEG78Gren4,864
165
167
  pylegend/extensions/tds/result_handler/to_pandas_df_result_handler.py,sha256=tvVsxDOzHNTvzjdApIhmeefws5_u0N8Rqm7UvEtj70w,4958
166
168
  pylegend/legacy_api_tds_client.py,sha256=IXfo2pdBFV3M3S4RYKJcvudMc_OGdR0yvJhTV-ovI3s,2319
167
169
  pylegend/legendql_api_tds_client.py,sha256=oS6NET5pAA-hfVhVvwG6sRF7omyBs_gEYSAgA8Tky8U,2357
168
170
  pylegend/utils/__init__.py,sha256=LXTDJSDmHQXtnMDZouhZp9IZQVpY6ONkINbUYjtnMkE,578
169
171
  pylegend/utils/class_utils.py,sha256=t4PpF3jAXS_D6p9TqlSppryNYNOuy5C-kbKn2Kgb4QU,973
170
- pylegend-0.11.0.dist-info/METADATA,sha256=XW3kEm0fY5pZURAoYRkixvgRIqoq0Rt3jF2fm9z7xW8,4281
171
- pylegend-0.11.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
172
- pylegend-0.11.0.dist-info/licenses/LICENSE,sha256=AGR96_qQPZO66Gjqq4G6r_g670K35VtW-IobTAkmZJM,11343
173
- pylegend-0.11.0.dist-info/licenses/LICENSE.spdx,sha256=i7TsBclLotUvMjx9vZ_6S8Pp0r4uknWGw1RwiKBBvQ4,207
174
- pylegend-0.11.0.dist-info/licenses/NOTICE,sha256=2Lr4FqiscyRI7-vyn7c2z-zqUw2p6x7upJyBvFKkHjk,167
175
- pylegend-0.11.0.dist-info/RECORD,,
172
+ pylegend-0.12.0.dist-info/METADATA,sha256=YEOJdVd5mlhj77NLk1oUZWflNte8um_E9OvDE9wYbTc,4281
173
+ pylegend-0.12.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
174
+ pylegend-0.12.0.dist-info/licenses/LICENSE,sha256=AGR96_qQPZO66Gjqq4G6r_g670K35VtW-IobTAkmZJM,11343
175
+ pylegend-0.12.0.dist-info/licenses/LICENSE.spdx,sha256=i7TsBclLotUvMjx9vZ_6S8Pp0r4uknWGw1RwiKBBvQ4,207
176
+ pylegend-0.12.0.dist-info/licenses/NOTICE,sha256=2Lr4FqiscyRI7-vyn7c2z-zqUw2p6x7upJyBvFKkHjk,167
177
+ pylegend-0.12.0.dist-info/RECORD,,