meerschaum 2.9.4__py3-none-any.whl → 2.9.5__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.
- meerschaum/api/dash/callbacks/dashboard.py +31 -0
- meerschaum/api/dash/pipes.py +63 -0
- meerschaum/api/resources/static/css/dash.css +16 -0
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/sql/_sql.py +1 -1
- meerschaum/utils/dataframe.py +2 -2
- meerschaum/utils/dtypes/__init__.py +2 -3
- meerschaum/utils/sql.py +1 -2
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/METADATA +1 -1
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/RECORD +15 -15
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/WHEEL +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/licenses/LICENSE +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/top_level.txt +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-2.9.5.dist-info}/zip-safe +0 -0
@@ -949,6 +949,37 @@ def sync_documents_click(n_clicks, sync_editor_text):
|
|
949
949
|
|
950
950
|
return alert_from_success_tuple((success, msg))
|
951
951
|
|
952
|
+
@dash_app.callback(
|
953
|
+
Output({'type': 'query-result-div', 'index': MATCH}, 'children'),
|
954
|
+
Input({'type': 'query-data-button', 'index': MATCH}, 'n_clicks'),
|
955
|
+
State({'type': 'query-editor', 'index': MATCH}, 'value'),
|
956
|
+
State({'type': 'limit-input', 'index': MATCH}, 'value'),
|
957
|
+
State({'type': 'query-data-begin-input', 'index': MATCH}, 'value'),
|
958
|
+
State({'type': 'query-data-end-input', 'index': MATCH}, 'value'),
|
959
|
+
)
|
960
|
+
def query_data_click(n_clicks, query_editor_text, limit_value, begin, end):
|
961
|
+
triggered = dash.callback_context.triggered
|
962
|
+
if triggered[0]['value'] is None:
|
963
|
+
raise PreventUpdate
|
964
|
+
pipe = pipe_from_ctx(triggered, 'n_clicks')
|
965
|
+
if pipe is None:
|
966
|
+
raise PreventUpdate
|
967
|
+
|
968
|
+
try:
|
969
|
+
params_query = json.loads(query_editor_text)
|
970
|
+
except Exception as e:
|
971
|
+
return alert_from_success_tuple((False, f"Invalid query:\n{e}"))
|
972
|
+
|
973
|
+
if limit_value is None:
|
974
|
+
limit_value = 100
|
975
|
+
|
976
|
+
df = pipe.get_data(params=params_query, debug=debug, begin=begin, end=end, limit=limit_value)
|
977
|
+
if df is None:
|
978
|
+
return [html.P("No data returned.")]
|
979
|
+
df = df.astype(str)
|
980
|
+
table = dbc.Table.from_dataframe(df, bordered=False, hover=True)
|
981
|
+
return table
|
982
|
+
|
952
983
|
|
953
984
|
dash_app.clientside_callback(
|
954
985
|
"""
|
meerschaum/api/dash/pipes.py
CHANGED
@@ -343,6 +343,7 @@ def accordion_items_from_pipe(
|
|
343
343
|
items_titles['sql'] = '📃 SQL Query'
|
344
344
|
items_titles.update({
|
345
345
|
'recent-data': '🗃️ Recent Data',
|
346
|
+
'query-data': '🔍 Query Data',
|
346
347
|
'sync-data': '📝 Sync Documents',
|
347
348
|
})
|
348
349
|
|
@@ -669,6 +670,68 @@ def accordion_items_from_pipe(
|
|
669
670
|
table = html.P("Could not retrieve recent data.")
|
670
671
|
items_bodies['recent-data'] = table
|
671
672
|
|
673
|
+
if 'query-data' in active_items:
|
674
|
+
query_editor = dash_ace.DashAceEditor(
|
675
|
+
value='{\n \n}',
|
676
|
+
mode='norm',
|
677
|
+
tabSize=4,
|
678
|
+
theme='twilight',
|
679
|
+
id={'type': 'query-editor', 'index': json.dumps(pipe.meta)},
|
680
|
+
width='100%',
|
681
|
+
height='200px',
|
682
|
+
readOnly=False,
|
683
|
+
showGutter=True,
|
684
|
+
showPrintMargin=False,
|
685
|
+
highlightActiveLine=True,
|
686
|
+
wrapEnabled=True,
|
687
|
+
style={'min-height': '120px'},
|
688
|
+
)
|
689
|
+
query_data_button = dbc.Button(
|
690
|
+
"Query",
|
691
|
+
id={'type': 'query-data-button', 'index': json.dumps(pipe.meta)},
|
692
|
+
)
|
693
|
+
|
694
|
+
begin_end_input_group = dbc.InputGroup(
|
695
|
+
[
|
696
|
+
dbc.Input(
|
697
|
+
id={'type': 'query-data-begin-input', 'index': json.dumps(pipe.meta)},
|
698
|
+
placeholder="Begin",
|
699
|
+
),
|
700
|
+
dbc.Input(
|
701
|
+
id={'type': 'query-data-end-input', 'index': json.dumps(pipe.meta)},
|
702
|
+
placeholder="End",
|
703
|
+
),
|
704
|
+
],
|
705
|
+
size="sm",
|
706
|
+
)
|
707
|
+
|
708
|
+
limit_input = dbc.Input(
|
709
|
+
type="number",
|
710
|
+
min=0,
|
711
|
+
max=100,
|
712
|
+
value=10,
|
713
|
+
step=1,
|
714
|
+
placeholder="Limit",
|
715
|
+
id={'type': 'limit-input', 'index': json.dumps(pipe.meta)},
|
716
|
+
)
|
717
|
+
query_result_div = html.Div(id={'type': 'query-result-div', 'index': json.dumps(pipe.meta)})
|
718
|
+
|
719
|
+
items_bodies['query-data'] = html.Div([
|
720
|
+
query_editor,
|
721
|
+
html.Br(),
|
722
|
+
dbc.Row(
|
723
|
+
[
|
724
|
+
dbc.Col([query_data_button], lg=2, md=3, sm=4, xs=6, width=2),
|
725
|
+
dbc.Col([begin_end_input_group], lg=3, md=3, sm=4, width=4),
|
726
|
+
dbc.Col(html.Div([limit_input, dbc.FormText("Row Limit")]), lg=2, md=3, sm=4, xs=6, width=2),
|
727
|
+
],
|
728
|
+
justify="between",
|
729
|
+
),
|
730
|
+
dbc.Row([
|
731
|
+
dbc.Col([query_result_div], width=True),
|
732
|
+
]),
|
733
|
+
])
|
734
|
+
|
672
735
|
if 'sync-data' in active_items:
|
673
736
|
backtrack_df = pipe.get_backtrack_data(debug=debug, limit=1)
|
674
737
|
try:
|
@@ -80,3 +80,19 @@ a {
|
|
80
80
|
.pages-offcanvas-accordion div {
|
81
81
|
padding: 0 !important;
|
82
82
|
}
|
83
|
+
|
84
|
+
/* restyle radio items */
|
85
|
+
.radio-group .form-check {
|
86
|
+
padding-left: 0;
|
87
|
+
}
|
88
|
+
|
89
|
+
.radio-group .btn-group > .form-check:not(:last-child) > .btn {
|
90
|
+
border-top-right-radius: 0;
|
91
|
+
border-bottom-right-radius: 0;
|
92
|
+
}
|
93
|
+
|
94
|
+
.radio-group .btn-group > .form-check:not(:first-child) > .btn {
|
95
|
+
border-top-left-radius: 0;
|
96
|
+
border-bottom-left-radius: 0;
|
97
|
+
margin-left: -1px;
|
98
|
+
}
|
meerschaum/config/_version.py
CHANGED
meerschaum/utils/dataframe.py
CHANGED
@@ -1138,10 +1138,10 @@ def enforce_dtypes(
|
|
1138
1138
|
if parsed_geom_cols:
|
1139
1139
|
if debug:
|
1140
1140
|
dprint(f"Converting to GeoDataFrame (geometry column: '{parsed_geom_cols[0]}')...")
|
1141
|
-
df = geopandas.GeoDataFrame(df, geometry=parsed_geom_cols[0])
|
1142
1141
|
try:
|
1142
|
+
df = geopandas.GeoDataFrame(df, geometry=parsed_geom_cols[0])
|
1143
1143
|
df.rename_geometry(parsed_geom_cols[0], inplace=True)
|
1144
|
-
except ValueError:
|
1144
|
+
except (ValueError, TypeError):
|
1145
1145
|
pass
|
1146
1146
|
|
1147
1147
|
df_dtypes = {c: str(t) for c, t in df.dtypes.items()}
|
@@ -541,7 +541,6 @@ def serialize_bytes(data: bytes) -> str:
|
|
541
541
|
def serialize_geometry(
|
542
542
|
geom: Any,
|
543
543
|
geometry_format: str = 'wkb_hex',
|
544
|
-
as_wkt: bool = False,
|
545
544
|
) -> Union[str, Dict[str, Any], None]:
|
546
545
|
"""
|
547
546
|
Serialize geometry data as a hex-encoded well-known-binary string.
|
@@ -588,7 +587,7 @@ def deserialize_bytes_string(data: Optional[str], force_hex: bool = False) -> Un
|
|
588
587
|
|
589
588
|
Parameters
|
590
589
|
----------
|
591
|
-
data: str
|
590
|
+
data: Optional[str]
|
592
591
|
The string to be deserialized into bytes.
|
593
592
|
May be base64- or hex-encoded (prefixed with `'\\x'`).
|
594
593
|
|
@@ -625,7 +624,7 @@ def deserialize_base64(data: str) -> bytes:
|
|
625
624
|
return base64.b64decode(data)
|
626
625
|
|
627
626
|
|
628
|
-
def encode_bytes_for_bytea(data: bytes, with_prefix: bool = True) -> str
|
627
|
+
def encode_bytes_for_bytea(data: bytes, with_prefix: bool = True) -> Union[str, None]:
|
629
628
|
"""
|
630
629
|
Return the given bytes as a hex string for PostgreSQL's `BYTEA` type.
|
631
630
|
"""
|
meerschaum/utils/sql.py
CHANGED
@@ -1838,10 +1838,9 @@ def get_null_replacement(typ: str, flavor: str) -> str:
|
|
1838
1838
|
A value which may stand in place of NULL for this type.
|
1839
1839
|
`'None'` is returned if a value cannot be determined.
|
1840
1840
|
"""
|
1841
|
-
from meerschaum.utils.dtypes import are_dtypes_equal
|
1842
1841
|
from meerschaum.utils.dtypes.sql import DB_FLAVORS_CAST_DTYPES
|
1843
1842
|
if 'geometry' in typ.lower():
|
1844
|
-
return '010100000000008058346FCDC100008058346FCDC1'
|
1843
|
+
return "'010100000000008058346FCDC100008058346FCDC1'"
|
1845
1844
|
if 'int' in typ.lower() or typ.lower() in ('numeric', 'number'):
|
1846
1845
|
return '-987654321'
|
1847
1846
|
if 'bool' in typ.lower() or typ.lower() == 'bit':
|
@@ -60,7 +60,7 @@ meerschaum/api/dash/connectors.py,sha256=-Wd40ieYJI2nOASXi4V1C4bvLekjnN_tj6zp7Hg
|
|
60
60
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
61
61
|
meerschaum/api/dash/jobs.py,sha256=mj9STE6AaQY4fwkjD1JcYRG0iW3VEcP04bO1SlKgiXw,7681
|
62
62
|
meerschaum/api/dash/keys.py,sha256=mQT8MxtaeugbdZxGDhkr-G1mccPB4XpLN-UB7s3tamI,11144
|
63
|
-
meerschaum/api/dash/pipes.py,sha256=
|
63
|
+
meerschaum/api/dash/pipes.py,sha256=VJB30_e3KXgwvfrqoPWbO7A1PJ6sJlt-nwfWiYtSWd4,28347
|
64
64
|
meerschaum/api/dash/plugins.py,sha256=KdfG04f6SsUpBg-nm7MUJegFGuElOj-GAkxDX98hi60,3768
|
65
65
|
meerschaum/api/dash/sessions.py,sha256=i8qFGZX1zlxskj13F5B9TYd-mXdVA71Q8d8nESbiJG0,5068
|
66
66
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
@@ -75,7 +75,7 @@ meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3
|
|
75
75
|
meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
|
76
76
|
meerschaum/api/dash/callbacks/__init__.py,sha256=5dh8gsfcVaLlM4WcvGVE9Q1CtwaqJ2qwND0tdhvodng,607
|
77
77
|
meerschaum/api/dash/callbacks/custom.py,sha256=af7O0OMoNOcAJOuE0N2WXQZbmHiUVcQB9YBe_xgcr7I,1795
|
78
|
-
meerschaum/api/dash/callbacks/dashboard.py,sha256=
|
78
|
+
meerschaum/api/dash/callbacks/dashboard.py,sha256=fIMIXsGHUFoB_1X4VFq2kr2A6JGW04Zlzt-uRC8ZaqI,36723
|
79
79
|
meerschaum/api/dash/callbacks/jobs.py,sha256=JYTrDcUEte_MIT3EegLDmQDsmU_Mxqw8L60dvF71ho4,8418
|
80
80
|
meerschaum/api/dash/callbacks/login.py,sha256=mEvMgV-f85H6DvqNdTvJPoiwHqTnhWY2nf_zLB26ipE,2876
|
81
81
|
meerschaum/api/dash/callbacks/pipes.py,sha256=byphQn-wJOe8ft-fGU9wac0n5xsMjVHJzNvYYb9NsKU,1693
|
@@ -102,7 +102,7 @@ meerschaum/api/resources/__init__.py,sha256=LshFiqh0sL55QtC_15fz6A6r-1_H9sQWtlif
|
|
102
102
|
meerschaum/api/resources/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
103
|
meerschaum/api/resources/static/css/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
104
104
|
meerschaum/api/resources/static/css/bootstrap.min.css,sha256=W8ArKu4Q_NnxCNqO3doJB2hqrNOIHNLFroAxpyxnYL8,180286
|
105
|
-
meerschaum/api/resources/static/css/dash.css,sha256=
|
105
|
+
meerschaum/api/resources/static/css/dash.css,sha256=UVpQh1LaiYqwmPz9Q0Sqjnl8kiCRj6KLpxZiOx04KvY,2241
|
106
106
|
meerschaum/api/resources/static/css/dbc_dark.css,sha256=2pka1ymFAjlWLv-mJaxGkPeL-gTEMD2g4Ba6LMuhHV4,6087
|
107
107
|
meerschaum/api/resources/static/css/styles.css,sha256=dHcCtRUzs8kJhpG6d4gusROLSe9AFkUitybvgFmEDvI,81
|
108
108
|
meerschaum/api/resources/static/css/xterm.css,sha256=gy8_LGA7Q61DUf8ElwFQzHqHMBQnbbEmpgZcbdgeSHI,5383
|
@@ -145,7 +145,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
145
145
|
meerschaum/config/_read_config.py,sha256=RLC3HHi_1ndj7ITVDKLD9_uULY3caGRwSz3ATYE-ixA,15014
|
146
146
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
147
147
|
meerschaum/config/_sync.py,sha256=jHcWRkxd82_BgX8Xo8agsWvf7BSbv3qHLWmYl6ehp_0,4242
|
148
|
-
meerschaum/config/_version.py,sha256=
|
148
|
+
meerschaum/config/_version.py,sha256=scmWcW_oLQnDFEgon9TAHo6RC6IRVBGvwoznO__SO3M,71
|
149
149
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
150
150
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
151
151
|
meerschaum/config/stack/__init__.py,sha256=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
|
@@ -180,7 +180,7 @@ meerschaum/connectors/sql/_fetch.py,sha256=mVe5zQo7SM9PSUU3Vjhacg4Bq1-Vttb7KkXL4
|
|
180
180
|
meerschaum/connectors/sql/_instance.py,sha256=xCc8M0xWMzF5Tu_1uWIFivAoHey5N1ccFhN_Z7u04zk,6304
|
181
181
|
meerschaum/connectors/sql/_pipes.py,sha256=udeAA-me-Lwq_gGRdvzvcaBWmkAb4eeXZvKdtUUcBfE,130202
|
182
182
|
meerschaum/connectors/sql/_plugins.py,sha256=OVEdZ_UHTi-x5sF-5lu2TmR9ONxddp6SwDOmFo5TpU8,8051
|
183
|
-
meerschaum/connectors/sql/_sql.py,sha256=
|
183
|
+
meerschaum/connectors/sql/_sql.py,sha256=lkGvmE72f59_RhDXvH5hiA93Wo5R08dyEbNDedAke6o,43820
|
184
184
|
meerschaum/connectors/sql/_uri.py,sha256=BFzu5pjlbL3kxLH13vHWlpKGYTPfg8wuA2j58O9NsCM,3440
|
185
185
|
meerschaum/connectors/sql/_users.py,sha256=mRyjsUCfPV52nfTQUbpu9gMXfV_DHXNqEhw4N-lSS4Q,9954
|
186
186
|
meerschaum/connectors/sql/tools.py,sha256=jz8huOaRCwGlYdtGfAqAh7SoK8uydYBrasKQba9FT38,187
|
@@ -222,7 +222,7 @@ meerschaum/plugins/__init__.py,sha256=H0VwldqR_n5XaX3amBl58mDgugIo0Pnn-e1Xxyb103
|
|
222
222
|
meerschaum/plugins/bootstrap.py,sha256=VwjpZAuYdqPJW0YoVgAoM_taHkdQHqP902-8T7OWWCI,11339
|
223
223
|
meerschaum/utils/__init__.py,sha256=QrK1K9hIbPCRCM5k2nZGFqGnrqhA0Eh-iSmCU7FG6Cs,612
|
224
224
|
meerschaum/utils/_get_pipes.py,sha256=tu4xKPoDn79Dz2kWM13cXTP4DSCkn-3G9M8KiLftopw,11073
|
225
|
-
meerschaum/utils/dataframe.py,sha256=
|
225
|
+
meerschaum/utils/dataframe.py,sha256=Jk5FnnCtvErYPKEDi8JaccNi2cn-InL3GLN5nuRsR_o,54108
|
226
226
|
meerschaum/utils/debug.py,sha256=GyIzJmunkoPnOcZNYVQdT4Sgd-aOb5MI2VbIgATOjIQ,3695
|
227
227
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
228
228
|
meerschaum/utils/misc.py,sha256=dQ7WvcN7Z-LwkaipNeliqjdkKp_1U5JPq6lNLfwuE0U,48160
|
@@ -231,7 +231,7 @@ meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
|
231
231
|
meerschaum/utils/process.py,sha256=as0-CjG4mqFP0TydVvmAmgki6er4thS5BqUopeiq98Q,8216
|
232
232
|
meerschaum/utils/prompt.py,sha256=qj1As1tuiL0GZTku_YOC6I5DmOU6L5otDR7DW7LA5fM,19397
|
233
233
|
meerschaum/utils/schedule.py,sha256=Vrcd2Qs-UPVn6xBayNUIgludf0Mlb6Wrgq6ATdyhV8c,11451
|
234
|
-
meerschaum/utils/sql.py,sha256=
|
234
|
+
meerschaum/utils/sql.py,sha256=saT3lEKfGExZJB2MtDeeEd5D48Ebd0Or9TqzKWMjuK0,84539
|
235
235
|
meerschaum/utils/threading.py,sha256=awjbVL_QR6G-o_9Qk85utac9cSdqkiC8tQSdERCdrG8,2814
|
236
236
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
237
237
|
meerschaum/utils/warnings.py,sha256=n-phr3BftNNgyPnvnXC_VMSjtCvjiCZ-ewmVfcROhkc,6611
|
@@ -242,7 +242,7 @@ meerschaum/utils/daemon/RotatingFile.py,sha256=8_bXegBjjzNRlNEjFZ_EHU4pSaDfjXZTw
|
|
242
242
|
meerschaum/utils/daemon/StdinFile.py,sha256=qdZ8E_RSOkURypwnS50mWeyWyRig1bAY9tKWMTVKajc,3307
|
243
243
|
meerschaum/utils/daemon/__init__.py,sha256=ziRPyu_IM3l7Xd58y3Uvt0fZLoirJ9nuboFIxxult6c,8741
|
244
244
|
meerschaum/utils/daemon/_names.py,sha256=d2ZwTxBoTAqXZkCfZ5LuX2XrkQmLNUq1OTlUqfoH5dA,4515
|
245
|
-
meerschaum/utils/dtypes/__init__.py,sha256=
|
245
|
+
meerschaum/utils/dtypes/__init__.py,sha256=TPnFZcmHEevDKr2DYIWX7TA6xE4C8bGVWhhvPp_Pjlo,21331
|
246
246
|
meerschaum/utils/dtypes/sql.py,sha256=zhwGnz6MfsaJEH7Sibtd-GfVEImnBSkZh1I3srxgiKE,31428
|
247
247
|
meerschaum/utils/formatting/__init__.py,sha256=bA8qwBeTNIVHVQOBK682bJsKSKik1yS6xYJAoi0RErk,15528
|
248
248
|
meerschaum/utils/formatting/_jobs.py,sha256=izsqPJhTtUkXUUtWnbXtReYsUYwulXtci3pBj72Ne64,6637
|
@@ -254,10 +254,10 @@ meerschaum/utils/packages/_packages.py,sha256=G3eMtqq4WJo_iTC4ctRAWkzKhN6ZQcdFRp
|
|
254
254
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
255
255
|
meerschaum/utils/venv/_Venv.py,sha256=gc1TCeAj-kTZbQFAT9xl1bi4HXFV5ApT0dPOJfxwr78,3748
|
256
256
|
meerschaum/utils/venv/__init__.py,sha256=RhWuDohBEROIu_9T6BNPgYCrGtuE14w7nXHR1E2qyh8,27321
|
257
|
-
meerschaum-2.9.
|
258
|
-
meerschaum-2.9.
|
259
|
-
meerschaum-2.9.
|
260
|
-
meerschaum-2.9.
|
261
|
-
meerschaum-2.9.
|
262
|
-
meerschaum-2.9.
|
263
|
-
meerschaum-2.9.
|
257
|
+
meerschaum-2.9.5.dist-info/licenses/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
258
|
+
meerschaum-2.9.5.dist-info/METADATA,sha256=_PkhonbxfgtBc5wD0m9GN5vUzk_S9-dkazEbaUFb46M,25061
|
259
|
+
meerschaum-2.9.5.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
260
|
+
meerschaum-2.9.5.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
261
|
+
meerschaum-2.9.5.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
262
|
+
meerschaum-2.9.5.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
263
|
+
meerschaum-2.9.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|