meerschaum 2.5.0__py3-none-any.whl → 2.5.1__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/_internal/entry.py +16 -5
- meerschaum/api/dash/pipes.py +95 -13
- meerschaum/api/routes/_webterm.py +1 -0
- meerschaum/config/_version.py +1 -1
- meerschaum/utils/dataframe.py +2 -2
- meerschaum/utils/packages/_packages.py +2 -1
- meerschaum/utils/schedule.py +7 -5
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/METADATA +5 -3
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/RECORD +15 -15
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/LICENSE +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/NOTICE +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/WHEEL +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/top_level.txt +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.5.1.dist-info}/zip-safe +0 -0
meerschaum/_internal/entry.py
CHANGED
@@ -13,6 +13,7 @@ import os
|
|
13
13
|
import sys
|
14
14
|
import pathlib
|
15
15
|
|
16
|
+
import meerschaum as mrsm
|
16
17
|
from meerschaum.utils.typing import SuccessTuple, List, Optional, Dict, Callable, Any
|
17
18
|
from meerschaum.config.static import STATIC_CONFIG as _STATIC_CONFIG
|
18
19
|
|
@@ -229,7 +230,7 @@ def entry_with_args(
|
|
229
230
|
_ = get_shell(**kw).cmdloop()
|
230
231
|
return True, "Success"
|
231
232
|
|
232
|
-
|
233
|
+
_skip_schedule = False
|
233
234
|
|
234
235
|
executor_keys = kw.get('executor_keys', None)
|
235
236
|
if executor_keys is None:
|
@@ -246,7 +247,7 @@ def entry_with_args(
|
|
246
247
|
api_label = executor_keys.split(':')[-1]
|
247
248
|
kw['action'].insert(0, 'api')
|
248
249
|
kw['action'].insert(1, api_label)
|
249
|
-
|
250
|
+
_skip_schedule = True
|
250
251
|
|
251
252
|
### If the `--daemon` flag is present, prepend 'start job'.
|
252
253
|
if kw.get('daemon', False) and kw['action'][0] != 'stack':
|
@@ -271,7 +272,7 @@ def entry_with_args(
|
|
271
272
|
and kw['action'][0] == 'start'
|
272
273
|
and kw['action'][1] in ('job', 'jobs')
|
273
274
|
):
|
274
|
-
|
275
|
+
_skip_schedule = True
|
275
276
|
|
276
277
|
kw['action'] = remove_leading_action(kw['action'], _actions=_actions)
|
277
278
|
|
@@ -279,10 +280,11 @@ def entry_with_args(
|
|
279
280
|
_do_action_wrapper,
|
280
281
|
action_function,
|
281
282
|
plugin_name,
|
283
|
+
_skip_schedule=_skip_schedule,
|
282
284
|
**kw
|
283
285
|
)
|
284
286
|
|
285
|
-
if kw.get('schedule', None) and not
|
287
|
+
if kw.get('schedule', None) and not _skip_schedule:
|
286
288
|
from meerschaum.utils.schedule import schedule_function
|
287
289
|
from meerschaum.utils.misc import interval_str
|
288
290
|
import time
|
@@ -304,7 +306,12 @@ def entry_with_args(
|
|
304
306
|
return result
|
305
307
|
|
306
308
|
|
307
|
-
def _do_action_wrapper(
|
309
|
+
def _do_action_wrapper(
|
310
|
+
action_function,
|
311
|
+
plugin_name,
|
312
|
+
_skip_schedule: bool = False,
|
313
|
+
**kw
|
314
|
+
):
|
308
315
|
from meerschaum.plugins import Plugin
|
309
316
|
from meerschaum.utils.venv import Venv
|
310
317
|
from meerschaum.utils.misc import filter_keywords
|
@@ -328,6 +335,10 @@ def _do_action_wrapper(action_function, plugin_name, **kw):
|
|
328
335
|
)
|
329
336
|
except KeyboardInterrupt:
|
330
337
|
result = False, f"Cancelled action `{action_name.lstrip()}`."
|
338
|
+
|
339
|
+
if kw.get('schedule', None) and not _skip_schedule:
|
340
|
+
mrsm.pprint(result)
|
341
|
+
|
331
342
|
return result
|
332
343
|
|
333
344
|
_shells = []
|
meerschaum/api/dash/pipes.py
CHANGED
@@ -346,6 +346,8 @@ def accordion_items_from_pipe(
|
|
346
346
|
for item in skip_items:
|
347
347
|
_ = items_titles.pop(item, None)
|
348
348
|
|
349
|
+
pipe_meta_str = json.dumps(pipe.meta, sort_keys=True)
|
350
|
+
|
349
351
|
### Only generate items if they're in the `active_items` list.
|
350
352
|
items_bodies = {}
|
351
353
|
if 'overview' in active_items:
|
@@ -358,22 +360,103 @@ def accordion_items_from_pipe(
|
|
358
360
|
html.Tr([html.Td("Instance"), html.Td(html.Pre(f"{pipe.instance_keys}"))]),
|
359
361
|
html.Tr([html.Td("Target Table"), html.Td(html.Pre(f"{pipe.target}"))]),
|
360
362
|
]
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
363
|
+
|
364
|
+
indices_header = [
|
365
|
+
html.Thead(
|
366
|
+
html.Tr(
|
367
|
+
[
|
368
|
+
html.Th(
|
369
|
+
html.Span(
|
370
|
+
"Key",
|
371
|
+
id={'type': 'key-table-header', 'id': pipe_meta_str},
|
372
|
+
style={"textDecoration": "underline", "cursor": "pointer"},
|
373
|
+
),
|
374
|
+
),
|
375
|
+
html.Th(
|
376
|
+
html.Span(
|
377
|
+
"Column",
|
378
|
+
id={'type': 'column-table-header', 'id': pipe_meta_str},
|
379
|
+
style={"textDecoration": "underline", "cursor": "pointer"},
|
380
|
+
),
|
381
|
+
),
|
382
|
+
html.Th(
|
383
|
+
html.Span(
|
384
|
+
"Index",
|
385
|
+
id={'type': 'index-table-header', 'id': pipe_meta_str},
|
386
|
+
style={"textDecoration": "underline", "cursor": "pointer"},
|
387
|
+
),
|
388
|
+
),
|
389
|
+
html.Th(
|
390
|
+
html.Span(
|
391
|
+
"Is Composite",
|
392
|
+
id={'type': 'is-composite-table-header', 'id': pipe_meta_str},
|
393
|
+
style={"textDecoration": "underline", "cursor": "pointer"},
|
394
|
+
),
|
395
|
+
),
|
396
|
+
dbc.Tooltip(
|
397
|
+
"Unique reference name for the index "
|
398
|
+
"(e.g. `datetime` for the range axis)",
|
399
|
+
target={'type': 'key-table-header', 'id': pipe_meta_str},
|
400
|
+
),
|
401
|
+
dbc.Tooltip(
|
402
|
+
"The actual column (field name) in the target dataset.",
|
403
|
+
target={'type': 'column-table-header', 'id': pipe_meta_str},
|
404
|
+
),
|
405
|
+
dbc.Tooltip(
|
406
|
+
"The name of the index created on the given columns.",
|
407
|
+
target={'type': 'index-table-header', 'id': pipe_meta_str},
|
408
|
+
),
|
409
|
+
dbc.Tooltip(
|
410
|
+
"Whether the column is used in the composite primary key "
|
411
|
+
"to determine updates.",
|
412
|
+
target={'type': 'is-composite-table-header', 'id': pipe_meta_str},
|
413
|
+
),
|
414
|
+
]
|
415
|
+
)
|
416
|
+
)
|
417
|
+
]
|
418
|
+
|
419
|
+
indices = pipe.indices
|
420
|
+
columns = pipe.columns
|
421
|
+
index_column_names = pipe.get_indices()
|
422
|
+
indices_rows = []
|
423
|
+
for ix_key, ix_name in index_column_names.items():
|
424
|
+
col = columns.get(ix_key, None)
|
425
|
+
ix_cols = indices.get(ix_key, None)
|
426
|
+
if not col and not ix_cols:
|
427
|
+
continue
|
428
|
+
if not isinstance(ix_cols, (list, tuple)):
|
429
|
+
ix_cols = [ix_cols]
|
430
|
+
if col:
|
431
|
+
col_item = html.Pre(col)
|
432
|
+
elif len(ix_cols) == 1:
|
433
|
+
col_item = html.Pre(ix_cols[0])
|
434
|
+
else:
|
435
|
+
col_item = html.Pre(html.Ul([html.Li(_c) for _c in ix_cols]))
|
436
|
+
is_composite_item = "✅" if col else ""
|
437
|
+
ix_key_item = html.Pre(ix_key) if ix_key != 'datetime' else html.Pre(f"🕓 {ix_key}")
|
438
|
+
indices_rows.append(
|
439
|
+
html.Tr([
|
440
|
+
html.Td(ix_key_item),
|
441
|
+
html.Td(col_item),
|
442
|
+
html.Td(html.Pre(ix_name)),
|
443
|
+
html.Td(is_composite_item),
|
444
|
+
])
|
445
|
+
)
|
446
|
+
indices_table = dbc.Table(
|
447
|
+
indices_header + [html.Tbody(indices_rows)],
|
448
|
+
bordered=True,
|
449
|
+
hover=False,
|
450
|
+
striped=True,
|
451
|
+
)
|
452
|
+
if indices_rows:
|
371
453
|
overview_rows.append(
|
372
454
|
html.Tr([
|
373
|
-
html.Td("Indices" if len(
|
374
|
-
html.Td(
|
455
|
+
html.Td("Indices" if len(indices_rows) != 1 else "Index"),
|
456
|
+
html.Td(indices_table),
|
375
457
|
])
|
376
458
|
)
|
459
|
+
|
377
460
|
tags = pipe.tags
|
378
461
|
if tags:
|
379
462
|
tags_items = html.Ul([
|
@@ -420,7 +503,6 @@ def accordion_items_from_pipe(
|
|
420
503
|
if newest_time is not None:
|
421
504
|
stats_rows.append(html.Tr([html.Td("Newest time"), html.Td(str(newest_time))]))
|
422
505
|
|
423
|
-
|
424
506
|
items_bodies['stats'] = dbc.Table(stats_header + [html.Tbody(stats_rows)], hover=True)
|
425
507
|
|
426
508
|
if 'columns' in active_items:
|
@@ -13,6 +13,7 @@ from meerschaum.utils.packages import attempt_import
|
|
13
13
|
from meerschaum.api.dash.sessions import is_session_authenticated
|
14
14
|
fastapi, fastapi_responses = attempt_import('fastapi', 'fastapi.responses')
|
15
15
|
import starlette
|
16
|
+
httpcore = attempt_import('httpcore')
|
16
17
|
httpx = attempt_import('httpx')
|
17
18
|
websockets = attempt_import('websockets')
|
18
19
|
Request = fastapi.Request
|
meerschaum/config/_version.py
CHANGED
meerschaum/utils/dataframe.py
CHANGED
@@ -1194,9 +1194,9 @@ def query_df(
|
|
1194
1194
|
dtypes = {col: str(typ) for col, typ in df.dtypes.items()}
|
1195
1195
|
|
1196
1196
|
if inplace:
|
1197
|
-
df.
|
1197
|
+
df.fillna(NA, inplace=True)
|
1198
1198
|
else:
|
1199
|
-
df = df.infer_objects(
|
1199
|
+
df = df.infer_objects().fillna(NA)
|
1200
1200
|
|
1201
1201
|
if isinstance(begin, str):
|
1202
1202
|
begin = dateutil_parser.parse(begin)
|
@@ -163,7 +163,8 @@ packages['api'] = {
|
|
163
163
|
'fastapi' : 'fastapi>=0.111.0',
|
164
164
|
'fastapi_login' : 'fastapi-login>=1.7.2',
|
165
165
|
'multipart' : 'python-multipart>=0.0.9',
|
166
|
-
'httpx' : 'httpx>=0.
|
166
|
+
'httpx' : 'httpx>=0.27.2',
|
167
|
+
'httpcore' : 'httpcore>=1.0.6',
|
167
168
|
'valkey' : 'valkey>=6.0.0',
|
168
169
|
}
|
169
170
|
packages['api'].update(packages['sql'])
|
meerschaum/utils/schedule.py
CHANGED
@@ -111,16 +111,18 @@ def schedule_function(
|
|
111
111
|
except RuntimeError:
|
112
112
|
loop = asyncio.new_event_loop()
|
113
113
|
|
114
|
-
|
115
114
|
async def run_scheduler():
|
116
115
|
async with _scheduler:
|
117
116
|
job = await _scheduler.add_schedule(
|
118
117
|
function,
|
119
118
|
trigger,
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
119
|
+
**filter_keywords(
|
120
|
+
_scheduler.add_schedule,
|
121
|
+
args=args,
|
122
|
+
kwargs=kw,
|
123
|
+
max_running_jobs=1,
|
124
|
+
conflict_policy=apscheduler.ConflictPolicy.replace,
|
125
|
+
)
|
124
126
|
)
|
125
127
|
try:
|
126
128
|
await _scheduler.run_until_stopped()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.5.
|
3
|
+
Version: 2.5.1
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -39,7 +39,8 @@ Requires-Dist: websockets >=11.0.3 ; extra == 'api'
|
|
39
39
|
Requires-Dist: fastapi >=0.111.0 ; extra == 'api'
|
40
40
|
Requires-Dist: fastapi-login >=1.7.2 ; extra == 'api'
|
41
41
|
Requires-Dist: python-multipart >=0.0.9 ; extra == 'api'
|
42
|
-
Requires-Dist: httpx >=0.
|
42
|
+
Requires-Dist: httpx >=0.27.2 ; extra == 'api'
|
43
|
+
Requires-Dist: httpcore >=1.0.6 ; extra == 'api'
|
43
44
|
Requires-Dist: valkey >=6.0.0 ; extra == 'api'
|
44
45
|
Requires-Dist: numpy >=1.18.5 ; extra == 'api'
|
45
46
|
Requires-Dist: pandas[parquet] >=2.0.1 ; extra == 'api'
|
@@ -258,7 +259,8 @@ Requires-Dist: websockets >=11.0.3 ; extra == 'full'
|
|
258
259
|
Requires-Dist: fastapi >=0.111.0 ; extra == 'full'
|
259
260
|
Requires-Dist: fastapi-login >=1.7.2 ; extra == 'full'
|
260
261
|
Requires-Dist: python-multipart >=0.0.9 ; extra == 'full'
|
261
|
-
Requires-Dist: httpx >=0.
|
262
|
+
Requires-Dist: httpx >=0.27.2 ; extra == 'full'
|
263
|
+
Requires-Dist: httpcore >=1.0.6 ; extra == 'full'
|
262
264
|
Requires-Dist: valkey >=6.0.0 ; extra == 'full'
|
263
265
|
Provides-Extra: gui
|
264
266
|
Requires-Dist: toga >=0.3.0-dev29 ; extra == 'gui'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
meerschaum/__init__.py,sha256=6bn5zz7VInDP4fE_FGBMzJYrM6rQhBMJNQqsf1pU7eI,1701
|
2
2
|
meerschaum/__main__.py,sha256=r5UjYxH1WA6dGG9YGBPul5xOdgF3Iwl0X4dWDtXU-30,2646
|
3
3
|
meerschaum/_internal/__init__.py,sha256=ilC7utfKtin7GAvuN34fKyUQYfPyqH0Mm3MJF5iyEf4,169
|
4
|
-
meerschaum/_internal/entry.py,sha256=
|
4
|
+
meerschaum/_internal/entry.py,sha256=Y1m2ar3TWBo_XntPL1P9ehUpjEAfXp2ZGZ-V6r5fXWQ,12438
|
5
5
|
meerschaum/_internal/arguments/__init__.py,sha256=_nSKKVLXNsJeSv-buxEZsx8_c0BAbkhRyE4nT6Bv6q0,541
|
6
6
|
meerschaum/_internal/arguments/_parse_arguments.py,sha256=H492J571CetGVIEzOZhwQVS3bcm4t6hjWg8Gsf6dw0Y,16340
|
7
7
|
meerschaum/_internal/arguments/_parser.py,sha256=l2RYIn-1MEpjyUz2yczkeeuwg2liYaO2MNvEZ4Amk1o,16364
|
@@ -62,7 +62,7 @@ meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-
|
|
62
62
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
63
63
|
meerschaum/api/dash/jobs.py,sha256=mj9STE6AaQY4fwkjD1JcYRG0iW3VEcP04bO1SlKgiXw,7681
|
64
64
|
meerschaum/api/dash/keys.py,sha256=hzEVeN60SAfVTVSO5lajGaykxRIKGhj9Ph00HRJnNoE,12598
|
65
|
-
meerschaum/api/dash/pipes.py,sha256=
|
65
|
+
meerschaum/api/dash/pipes.py,sha256=WleVXiRGpR0A-moypjpOx3tSciUvkSkI6nJMkFgBXB8,25407
|
66
66
|
meerschaum/api/dash/plugins.py,sha256=KdfG04f6SsUpBg-nm7MUJegFGuElOj-GAkxDX98hi60,3768
|
67
67
|
meerschaum/api/dash/sessions.py,sha256=-y5p4MYKh1eFzppkBfMsd6T7-rJs1nYS2-4fbVRAeRA,5029
|
68
68
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
@@ -128,7 +128,7 @@ meerschaum/api/routes/_pipes.py,sha256=g88AU_NUM6tlX3bFl4EOGiQWZYqvDxDFlaLIYbYn1
|
|
128
128
|
meerschaum/api/routes/_plugins.py,sha256=vR6-uTJraY1YEJMuRvds1-xFLB2mexxnp2dJwN_0rVo,6216
|
129
129
|
meerschaum/api/routes/_users.py,sha256=SfAkZFKrKnGjpzj8SFIKzPemzQJOH3oB72h19EaUvcQ,7204
|
130
130
|
meerschaum/api/routes/_version.py,sha256=2t-nw_9IxCVZCNEar0LOwmut2zsClRVHjiOOUx16cu0,825
|
131
|
-
meerschaum/api/routes/_webterm.py,sha256=
|
131
|
+
meerschaum/api/routes/_webterm.py,sha256=gow_xCsojGI37ZZDVfv2gdM18r_H2b2MR0ovFuG0uJ8,3872
|
132
132
|
meerschaum/api/tables/__init__.py,sha256=e2aNC0CdlWICTUMx1i9RauF8Pm426J0RZJbsJWv4SWo,482
|
133
133
|
meerschaum/config/__init__.py,sha256=5ZBq71P9t3nb74r5CGvMfNuauPscfegBX-nkaAUi5C4,11541
|
134
134
|
meerschaum/config/_dash.py,sha256=BJHl4xMrQB-YHUEU7ldEW8q_nOPoIRSOqLrfGElc6Dw,187
|
@@ -143,7 +143,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
143
143
|
meerschaum/config/_read_config.py,sha256=oxnLjuhy6JBBld886FkBX07wUdkpzEzTItYMUa9qw1Q,14688
|
144
144
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
145
145
|
meerschaum/config/_sync.py,sha256=jHcWRkxd82_BgX8Xo8agsWvf7BSbv3qHLWmYl6ehp_0,4242
|
146
|
-
meerschaum/config/_version.py,sha256=
|
146
|
+
meerschaum/config/_version.py,sha256=u3wv1cA4KB5sEnIGr1kMx8clvBa3XWg80tChn-ZLn00,71
|
147
147
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
148
148
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
149
|
meerschaum/config/stack/__init__.py,sha256=gGVxXgNnGb9u25iF__IiNPlZt1BLUVmHmFJ0jvnJg3Q,10548
|
@@ -219,7 +219,7 @@ meerschaum/plugins/__init__.py,sha256=6krcqaMKyzuVqesXMqEL0XEy2SJQ4xfNt2-oI_fJ6v
|
|
219
219
|
meerschaum/plugins/bootstrap.py,sha256=VwjpZAuYdqPJW0YoVgAoM_taHkdQHqP902-8T7OWWCI,11339
|
220
220
|
meerschaum/utils/__init__.py,sha256=QrK1K9hIbPCRCM5k2nZGFqGnrqhA0Eh-iSmCU7FG6Cs,612
|
221
221
|
meerschaum/utils/_get_pipes.py,sha256=tu4xKPoDn79Dz2kWM13cXTP4DSCkn-3G9M8KiLftopw,11073
|
222
|
-
meerschaum/utils/dataframe.py,sha256=
|
222
|
+
meerschaum/utils/dataframe.py,sha256=XMG7Vy_grgYJpz79sVtZBXZk7kD9Ljz3q9Snd-EGOEU,42121
|
223
223
|
meerschaum/utils/debug.py,sha256=GyIzJmunkoPnOcZNYVQdT4Sgd-aOb5MI2VbIgATOjIQ,3695
|
224
224
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
225
225
|
meerschaum/utils/misc.py,sha256=OijhS1TMjlqkDvahbxhqfUdo0Myeor-kTKrvqqG8wN0,46349
|
@@ -227,7 +227,7 @@ meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRU
|
|
227
227
|
meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
228
228
|
meerschaum/utils/process.py,sha256=9O8PPPJjY9Q5W2f39I3B3lFU6TlSiRiI3bgrzdOOyOw,7843
|
229
229
|
meerschaum/utils/prompt.py,sha256=6J--mZJ_NcEdSX6KMjtY4fXXezyILLHP24VdxFFqOIc,18985
|
230
|
-
meerschaum/utils/schedule.py,sha256=
|
230
|
+
meerschaum/utils/schedule.py,sha256=9BQGEzDbInLAU1aFO-FvL3wKu9XCTUpS0V_aQID6xzc,11228
|
231
231
|
meerschaum/utils/sql.py,sha256=R_hX92brvZDqID7c85-PNUVVR6RWXGXEgn1vFpHmi88,49869
|
232
232
|
meerschaum/utils/threading.py,sha256=3N8JXPAnwqJiSjuQcbbJg3Rv9-CCUMJpeQRfKFR7MaA,2489
|
233
233
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
@@ -247,15 +247,15 @@ meerschaum/utils/formatting/_pipes.py,sha256=840O5rg2aHhQoraCDOh2ZtBo43_W2W6R60y
|
|
247
247
|
meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
|
248
248
|
meerschaum/utils/formatting/_shell.py,sha256=XH7VFLteNv7NGtWhJl7FdIGt80sKeTiDoJokGSDAwBM,3761
|
249
249
|
meerschaum/utils/packages/__init__.py,sha256=KNs1Qc8-DX7r6LlZxyl9-Qr2FnsCtZfjSbiwo-sGNf8,64196
|
250
|
-
meerschaum/utils/packages/_packages.py,sha256=
|
250
|
+
meerschaum/utils/packages/_packages.py,sha256=KqQqa5ipPMuzEwy0IO3sWXbw7fLk552fZ-6KZmYMS2M,8745
|
251
251
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
252
252
|
meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
|
253
253
|
meerschaum/utils/venv/__init__.py,sha256=f3oi67lXYPLKJrnRW9lae7M3A8SFiC7DzaMoBdCVUFs,24609
|
254
|
-
meerschaum-2.5.
|
255
|
-
meerschaum-2.5.
|
256
|
-
meerschaum-2.5.
|
257
|
-
meerschaum-2.5.
|
258
|
-
meerschaum-2.5.
|
259
|
-
meerschaum-2.5.
|
260
|
-
meerschaum-2.5.
|
261
|
-
meerschaum-2.5.
|
254
|
+
meerschaum-2.5.1.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
255
|
+
meerschaum-2.5.1.dist-info/METADATA,sha256=pjQMA0SMUdufdQHTfQewfyixEMOCw9zJyR7zvw3vJ6w,24704
|
256
|
+
meerschaum-2.5.1.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
257
|
+
meerschaum-2.5.1.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
258
|
+
meerschaum-2.5.1.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
259
|
+
meerschaum-2.5.1.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
260
|
+
meerschaum-2.5.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
261
|
+
meerschaum-2.5.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|