meerschaum 2.0.0rc7__py3-none-any.whl → 2.0.0rc8__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 (44) hide show
  1. meerschaum/actions/__init__.py +97 -48
  2. meerschaum/actions/bootstrap.py +1 -1
  3. meerschaum/actions/clear.py +1 -1
  4. meerschaum/actions/deduplicate.py +1 -1
  5. meerschaum/actions/delete.py +8 -7
  6. meerschaum/actions/drop.py +1 -10
  7. meerschaum/actions/edit.py +1 -1
  8. meerschaum/actions/install.py +1 -1
  9. meerschaum/actions/pause.py +1 -1
  10. meerschaum/actions/register.py +1 -1
  11. meerschaum/actions/setup.py +1 -1
  12. meerschaum/actions/show.py +1 -1
  13. meerschaum/actions/start.py +18 -7
  14. meerschaum/actions/stop.py +5 -4
  15. meerschaum/actions/sync.py +3 -1
  16. meerschaum/actions/uninstall.py +1 -1
  17. meerschaum/actions/upgrade.py +1 -1
  18. meerschaum/actions/verify.py +54 -3
  19. meerschaum/config/_formatting.py +26 -0
  20. meerschaum/config/_jobs.py +28 -5
  21. meerschaum/config/_paths.py +21 -5
  22. meerschaum/config/_version.py +1 -1
  23. meerschaum/connectors/api/_fetch.py +1 -1
  24. meerschaum/connectors/api/_pipes.py +6 -11
  25. meerschaum/connectors/sql/_fetch.py +29 -11
  26. meerschaum/core/Pipe/_deduplicate.py +39 -23
  27. meerschaum/core/Pipe/_dtypes.py +2 -1
  28. meerschaum/core/Pipe/_verify.py +59 -24
  29. meerschaum/plugins/__init__.py +3 -0
  30. meerschaum/utils/daemon/Daemon.py +108 -27
  31. meerschaum/utils/daemon/__init__.py +35 -1
  32. meerschaum/utils/formatting/__init__.py +144 -1
  33. meerschaum/utils/formatting/_pipes.py +28 -5
  34. meerschaum/utils/misc.py +183 -187
  35. meerschaum/utils/packages/__init__.py +1 -1
  36. meerschaum/utils/packages/_packages.py +1 -0
  37. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/METADATA +4 -1
  38. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/RECORD +44 -44
  39. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/LICENSE +0 -0
  40. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/NOTICE +0 -0
  41. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/WHEEL +0 -0
  42. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/entry_points.txt +0 -0
  43. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/top_level.txt +0 -0
  44. {meerschaum-2.0.0rc7.dist-info → meerschaum-2.0.0rc8.dist-info}/zip-safe +0 -0
meerschaum/utils/misc.py CHANGED
@@ -6,25 +6,39 @@ Miscellaneous functions go here
6
6
  """
7
7
 
8
8
  from __future__ import annotations
9
+ from datetime import timedelta
9
10
  from meerschaum.utils.typing import (
10
- Union, Mapping, Any, Callable, Optional, List, Dict, SuccessTuple, Iterable, PipesDict, Tuple,
11
- InstanceConnector, Hashable, Generator, Iterator,
11
+ Union,
12
+ Any,
13
+ Callable,
14
+ Optional,
15
+ List,
16
+ Dict,
17
+ SuccessTuple,
18
+ Iterable,
19
+ PipesDict,
20
+ Tuple,
21
+ InstanceConnector,
22
+ Hashable,
23
+ Generator,
24
+ Iterator,
12
25
  )
13
26
  import meerschaum as mrsm
14
27
 
15
- ### Import from other modules to retain legacy behavior.
16
- from meerschaum.utils.dtypes import to_pandas_dtype
17
- from meerschaum.utils.dataframe import (
18
- filter_unseen_df,
19
- add_missing_cols_to_df,
20
- parse_df_datetimes,
21
- df_from_literal,
22
- get_json_cols,
23
- get_unhashable_cols,
24
- enforce_dtypes,
25
- get_datetime_bound_from_df,
26
- df_is_chunk_generator,
27
- )
28
+ __pdoc__: Dict[str, bool] = {
29
+ 'to_pandas_dtype': False,
30
+ 'filter_unseen_df': False,
31
+ 'add_missing_cols_to_df': False,
32
+ 'parse_df_datetimes': False,
33
+ 'df_from_literal': False,
34
+ 'get_json_cols': False,
35
+ 'get_unhashable_cols': False,
36
+ 'enforce_dtypes': False,
37
+ 'get_datetime_bound_from_df': False,
38
+ 'df_is_chunk_generator': False,
39
+ 'choices_docstring': False,
40
+ '_get_subaction_names': False,
41
+ }
28
42
 
29
43
 
30
44
  def add_method_to_class(
@@ -270,178 +284,6 @@ def is_pipe_registered(
270
284
  return ck in pipes and mk in pipes[ck] and lk in pipes[ck][mk]
271
285
 
272
286
 
273
- def _get_subaction_names(action : str, globs : dict = None) -> List[str]:
274
- """NOTE: Don't use this function. You should use `meerschaum.actions.get_subactions()` instead.
275
- This only exists for internal use.
276
- """
277
- if globs is None:
278
- import importlib
279
- module = importlib.import_module(f'meerschaum.actions.{action}')
280
- globs = vars(module)
281
- subactions = []
282
- for item in globs:
283
- if f'_{action}' in item and 'complete' not in item.lstrip('_'):
284
- subactions.append(globs[item])
285
- return subactions
286
-
287
-
288
- def choices_docstring(action: str, globs : Optional[Dict[str, Any]] = None) -> str:
289
- """
290
- Append the an action's available options to the module docstring.
291
- This function is to be placed at the bottom of each action module.
292
-
293
- Parameters
294
- ----------
295
- action: str
296
- The name of the action module (e.g. 'install').
297
-
298
- globs: Optional[Dict[str, Any]], default None
299
- An optional dictionary of global variables.
300
-
301
- Returns
302
- -------
303
- The generated docstring for the module.
304
-
305
- Examples
306
- --------
307
- >>> from meerschaum.utils.misc import choices_docstring as _choices_docstring
308
- >>> install.__doc__ += _choices_docstring('install')
309
-
310
- """
311
- options_str = f"\n Options:\n `{action} "
312
- subactions = _get_subaction_names(action, globs=globs)
313
- options_str += "["
314
- sa_names = []
315
- for sa in subactions:
316
- try:
317
- sa_names.append(sa.__name__[len(f"_{action}") + 1:])
318
- except Exception as e:
319
- print(e)
320
- return ""
321
- for sa_name in sorted(sa_names):
322
- options_str += f"{sa_name}, "
323
- options_str = options_str[:-2] + "]`"
324
- return options_str
325
-
326
-
327
- def print_options(
328
- options: Optional[Dict[str, Any]] = None,
329
- nopretty: bool = False,
330
- no_rich: bool = False,
331
- name: str = 'options',
332
- header: Optional[str] = None,
333
- num_cols: Optional[int] = None,
334
- adjust_cols: bool = True,
335
- **kw
336
- ) -> None:
337
- """
338
- Print items in an iterable as a fancy table.
339
-
340
- Parameters
341
- ----------
342
- options: Optional[Dict[str, Any]], default None
343
- The iterable to be printed.
344
-
345
- nopretty: bool, default False
346
- If `True`, don't use fancy formatting.
347
-
348
- no_rich: bool, default False
349
- If `True`, don't use `rich` to format the output.
350
-
351
- name: str, default 'options'
352
- The text in the default header after `'Available'`.
353
-
354
- header: Optional[str], default None
355
- If provided, override `name` and use this as the header text.
356
-
357
- num_cols: Optional[int], default None
358
- How many columns in the table. Depends on the terminal size. If `None`, use 8.
359
-
360
- adjust_cols: bool, default True
361
- If `True`, adjust the number of columns depending on the terminal size.
362
-
363
- """
364
- import os
365
- from meerschaum.utils.packages import import_rich
366
- from meerschaum.utils.formatting import make_header, highlight_pipes
367
- from meerschaum.actions import actions as _actions
368
-
369
-
370
- if options is None:
371
- options = {}
372
- _options = []
373
- for o in options:
374
- _options.append(str(o))
375
- _header = f"Available {name}" if header is None else header
376
-
377
- if num_cols is None:
378
- num_cols = 8
379
-
380
- def _print_options_no_rich():
381
- if not nopretty:
382
- print()
383
- print(make_header(_header))
384
- ### print actions
385
- for option in sorted(_options):
386
- if not nopretty:
387
- print(" - ", end="")
388
- print(option)
389
- if not nopretty:
390
- print()
391
-
392
- rich = import_rich()
393
- if rich is None or nopretty or no_rich:
394
- _print_options_no_rich()
395
- return None
396
-
397
- ### Prevent too many options from being truncated on small terminals.
398
- if adjust_cols and _options:
399
- _cols, _lines = get_cols_lines()
400
- while num_cols > 1:
401
- cell_len = int(((_cols - 4) - (3 * (num_cols - 1))) / num_cols)
402
- num_too_big = sum([(1 if string_width(o) > cell_len else 0) for o in _options])
403
- if num_too_big > int(len(_options) / 3):
404
- num_cols -= 1
405
- continue
406
- break
407
-
408
- from meerschaum.utils.formatting import pprint, get_console
409
- from meerschaum.utils.packages import attempt_import
410
- rich_columns = attempt_import('rich.columns')
411
- rich_panel = attempt_import('rich.panel')
412
- rich_table = attempt_import('rich.table')
413
- Text = attempt_import('rich.text').Text
414
- box = attempt_import('rich.box')
415
- Panel = rich_panel.Panel
416
- Columns = rich_columns.Columns
417
- Table = rich_table.Table
418
-
419
- if _header is not None:
420
- table = Table(
421
- title = '\n' + _header,
422
- box = box.SIMPLE,
423
- show_header = False,
424
- show_footer = False,
425
- title_style = '',
426
- expand = True,
427
- )
428
- else:
429
- table = Table.grid(padding=(0, 2))
430
- for i in range(num_cols):
431
- table.add_column()
432
-
433
- chunks = iterate_chunks(
434
- [Text.from_ansi(highlight_pipes(o)) for o in sorted(_options)],
435
- num_cols,
436
- fillvalue=''
437
- )
438
- for c in chunks:
439
- table.add_row(*c)
440
-
441
- get_console().print(table)
442
- return None
443
-
444
-
445
287
  def get_cols_lines(default_cols: int = 100, default_lines: int = 120) -> Tuple[int, int]:
446
288
  """
447
289
  Determine the columns and lines in the terminal.
@@ -1128,6 +970,7 @@ def async_wrap(func):
1128
970
  return await loop.run_in_executor(executor, pfunc)
1129
971
  return run
1130
972
 
973
+
1131
974
  def debug_trace(browser: bool = True):
1132
975
  """
1133
976
  Open a web-based debugger to trace the execution of the program.
@@ -1136,6 +979,7 @@ def debug_trace(browser: bool = True):
1136
979
  heartrate = attempt_import('heartrate')
1137
980
  heartrate.trace(files=heartrate.files.all, browser=browser)
1138
981
 
982
+
1139
983
  def items_str(
1140
984
  items: List[Any],
1141
985
  quotes: bool = True,
@@ -1224,6 +1068,29 @@ def items_str(
1224
1068
  return output
1225
1069
 
1226
1070
 
1071
+ def interval_str(delta: Union[timedelta, int]) -> str:
1072
+ """
1073
+ Return a human-readable string for a `timedelta` (or `int` minutes).
1074
+
1075
+ Parameters
1076
+ ----------
1077
+ delta: Union[timedelta, int]
1078
+ The interval to print. If `delta` is an integer, assume it corresponds to minutes.
1079
+
1080
+ Returns
1081
+ -------
1082
+ A formatted string, fit for human eyes.
1083
+ """
1084
+ from meerschaum.utils.packages import attempt_import
1085
+ humanfriendly = attempt_import('humanfriendly')
1086
+ delta_seconds = (
1087
+ delta.total_seconds()
1088
+ if isinstance(delta, timedelta)
1089
+ else (delta * 60)
1090
+ )
1091
+ return humanfriendly.format_timespan(delta_seconds)
1092
+
1093
+
1227
1094
  def is_docker_available() -> bool:
1228
1095
  """Check if we can connect to the Docker engine."""
1229
1096
  import subprocess
@@ -1518,3 +1385,132 @@ def safely_extract_tar(tarf: 'file', output_dir: Union[str, 'pathlib.Path']) ->
1518
1385
  tar.extractall(path=path, members=members, numeric_owner=numeric_owner)
1519
1386
 
1520
1387
  return safe_extract(tarf, output_dir)
1388
+
1389
+ ##################
1390
+ # Legacy imports #
1391
+ ##################
1392
+
1393
+ def choose_subaction(*args, **kwargs) -> Any:
1394
+ """
1395
+ Placeholder function to prevent breaking legacy behavior.
1396
+ See `meerschaum.actions.choose_subaction`.
1397
+ """
1398
+ from meerschaum.actions import choose_subaction as _choose_subactions
1399
+ return _choose_subactions(*args, **kwargs)
1400
+
1401
+
1402
+ def print_options(*args, **kwargs) -> None:
1403
+ """
1404
+ Placeholder function to prevent breaking legacy behavior.
1405
+ See `meerschaum.utils.formatting.print_options`.
1406
+ """
1407
+ from meerschaum.utils.formatting import print_options as _print_options
1408
+ return _print_options(*args, **kwargs)
1409
+
1410
+
1411
+ def to_pandas_dtype(*args, **kwargs) -> Any:
1412
+ """
1413
+ Placeholder function to prevent breaking legacy behavior.
1414
+ See `meerschaum.utils.dtypes.to_pandas_dtype`.
1415
+ """
1416
+ from meerschaum.utils.dtypes import to_pandas_dtype as _to_pandas_dtype
1417
+ return _to_pandas_dtype(*args, **kwargs)
1418
+
1419
+
1420
+ def filter_unseen_df(*args, **kwargs) -> Any:
1421
+ """
1422
+ Placeholder function to prevent breaking legacy behavior.
1423
+ See `meerschaum.utils.dataframe.filter_unseen_df`.
1424
+ """
1425
+ from meerschaum.utils.dataframe import filter_unseen_df as real_function
1426
+ return real_function(*args, **kwargs)
1427
+
1428
+
1429
+ def add_missing_cols_to_df(*args, **kwargs) -> Any:
1430
+ """
1431
+ Placeholder function to prevent breaking legacy behavior.
1432
+ See `meerschaum.utils.dataframe.add_missing_cols_to_df`.
1433
+ """
1434
+ from meerschaum.utils.dataframe import add_missing_cols_to_df as real_function
1435
+ return real_function(*args, **kwargs)
1436
+
1437
+
1438
+ def parse_df_datetimes(*args, **kwargs) -> Any:
1439
+ """
1440
+ Placeholder function to prevent breaking legacy behavior.
1441
+ See `meerschaum.utils.dataframe.parse_df_datetimes`.
1442
+ """
1443
+ from meerschaum.utils.dataframe import parse_df_datetimes as real_function
1444
+ return real_function(*args, **kwargs)
1445
+
1446
+
1447
+ def df_from_literal(*args, **kwargs) -> Any:
1448
+ """
1449
+ Placeholder function to prevent breaking legacy behavior.
1450
+ See `meerschaum.utils.dataframe.df_from_literal`.
1451
+ """
1452
+ from meerschaum.utils.dataframe import df_from_literal as real_function
1453
+ return real_function(*args, **kwargs)
1454
+
1455
+
1456
+ def get_json_cols(*args, **kwargs) -> Any:
1457
+ """
1458
+ Placeholder function to prevent breaking legacy behavior.
1459
+ See `meerschaum.utils.dataframe.get_json_cols`.
1460
+ """
1461
+ from meerschaum.utils.dataframe import get_json_cols as real_function
1462
+ return real_function(*args, **kwargs)
1463
+
1464
+
1465
+ def get_unhashable_cols(*args, **kwargs) -> Any:
1466
+ """
1467
+ Placeholder function to prevent breaking legacy behavior.
1468
+ See `meerschaum.utils.dataframe.get_unhashable_cols`.
1469
+ """
1470
+ from meerschaum.utils.dataframe import get_unhashable_cols as real_function
1471
+ return real_function(*args, **kwargs)
1472
+
1473
+
1474
+ def enforce_dtypes(*args, **kwargs) -> Any:
1475
+ """
1476
+ Placeholder function to prevent breaking legacy behavior.
1477
+ See `meerschaum.utils.dataframe.enforce_dtypes`.
1478
+ """
1479
+ from meerschaum.utils.dataframe import enforce_dtypes as real_function
1480
+ return real_function(*args, **kwargs)
1481
+
1482
+
1483
+ def get_datetime_bound_from_df(*args, **kwargs) -> Any:
1484
+ """
1485
+ Placeholder function to prevent breaking legacy behavior.
1486
+ See `meerschaum.utils.dataframe.get_datetime_bound_from_df`.
1487
+ """
1488
+ from meerschaum.utils.dataframe import get_datetime_bound_from_df as real_function
1489
+ return real_function(*args, **kwargs)
1490
+
1491
+
1492
+ def df_is_chunk_generator(*args, **kwargs) -> Any:
1493
+ """
1494
+ Placeholder function to prevent breaking legacy behavior.
1495
+ See `meerschaum.utils.dataframe.df_is_chunk_generator`.
1496
+ """
1497
+ from meerschaum.utils.dataframe import df_is_chunk_generator as real_function
1498
+ return real_function(*args, **kwargs)
1499
+
1500
+
1501
+ def choices_docstring(*args, **kwargs) -> Any:
1502
+ """
1503
+ Placeholder function to prevent breaking legacy behavior.
1504
+ See `meerschaum.actions.choices_docstring`.
1505
+ """
1506
+ from meerschaum.actions import choices_docstring as real_function
1507
+ return real_function(*args, **kwargs)
1508
+
1509
+
1510
+ def _get_subaction_names(*args, **kwargs) -> Any:
1511
+ """
1512
+ Placeholder function to prevent breaking legacy behavior.
1513
+ See `meerschaum.actions._get_subaction_names`.
1514
+ """
1515
+ from meerschaum.actions import _get_subaction_names as real_function
1516
+ return real_function(*args, **kwargs)
@@ -1292,7 +1292,7 @@ def import_pandas(
1292
1292
  (
1293
1293
  "You are using an alternative Pandas implementation "
1294
1294
  + f"'{pandas_module_name}'"
1295
- + "\nFeatures may not work as expected."
1295
+ + "\n Features may not work as expected."
1296
1296
  ),
1297
1297
  stack = False,
1298
1298
  )
@@ -121,6 +121,7 @@ packages: Dict[str, Dict[str, str]] = {
121
121
  packages['sql'] = {
122
122
  'numpy' : 'numpy>=1.18.5',
123
123
  'pandas' : 'pandas[parquet]>=2.0.1',
124
+ 'pyarrow' : 'pyarrow>=7.0.0',
124
125
  'dask' : 'dask>=2023.9.0',
125
126
  'pytz' : 'pytz',
126
127
  'joblib' : 'joblib>=0.17.0',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: meerschaum
3
- Version: 2.0.0rc7
3
+ Version: 2.0.0rc8
4
4
  Summary: Sync Time-Series Pipes with Meerschaum
5
5
  Home-page: https://meerschaum.io
6
6
  Author: Bennett Meares
@@ -70,6 +70,7 @@ Requires-Dist: pydantic (>=1.7.4) ; extra == 'api'
70
70
  Requires-Dist: httpx (>=0.24.1) ; extra == 'api'
71
71
  Requires-Dist: numpy (>=1.18.5) ; extra == 'api'
72
72
  Requires-Dist: pandas[parquet] (>=2.0.1) ; extra == 'api'
73
+ Requires-Dist: pyarrow (>=7.0.0) ; extra == 'api'
73
74
  Requires-Dist: dask (>=2023.9.0) ; extra == 'api'
74
75
  Requires-Dist: pytz ; extra == 'api'
75
76
  Requires-Dist: joblib (>=0.17.0) ; extra == 'api'
@@ -232,6 +233,7 @@ Requires-Dist: pywebview (>=3.6.3) ; extra == 'full'
232
233
  Requires-Dist: pycparser (>=2.21.0) ; extra == 'full'
233
234
  Requires-Dist: numpy (>=1.18.5) ; extra == 'full'
234
235
  Requires-Dist: pandas[parquet] (>=2.0.1) ; extra == 'full'
236
+ Requires-Dist: pyarrow (>=7.0.0) ; extra == 'full'
235
237
  Requires-Dist: dask (>=2023.9.0) ; extra == 'full'
236
238
  Requires-Dist: pytz ; extra == 'full'
237
239
  Requires-Dist: joblib (>=0.17.0) ; extra == 'full'
@@ -270,6 +272,7 @@ Provides-Extra: setup
270
272
  Provides-Extra: sql
271
273
  Requires-Dist: numpy (>=1.18.5) ; extra == 'sql'
272
274
  Requires-Dist: pandas[parquet] (>=2.0.1) ; extra == 'sql'
275
+ Requires-Dist: pyarrow (>=7.0.0) ; extra == 'sql'
273
276
  Requires-Dist: dask (>=2023.9.0) ; extra == 'sql'
274
277
  Requires-Dist: pytz ; extra == 'sql'
275
278
  Requires-Dist: joblib (>=0.17.0) ; extra == 'sql'
@@ -20,33 +20,33 @@ meerschaum/_internal/shell/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
20
20
  meerschaum/_internal/term/TermPageHandler.py,sha256=NWNNzZQuXAuqr-tr8oIs7nfX0ZPZMlDXqkf-s0sMXR0,612
21
21
  meerschaum/_internal/term/__init__.py,sha256=UpK2lcBwAMG0xkrMJ4MareBpdqNpF0tzK_LgG_TCWB8,1960
22
22
  meerschaum/_internal/term/tools.py,sha256=bpYexJBDCQXfzz6ESMvmpSHM1AIy4qWsrAHl95tSW2I,716
23
- meerschaum/actions/__init__.py,sha256=K8vhUTR6FhECmoiwX0sWr1MSBEkQaTMTcFRVoiBKgOU,9771
23
+ meerschaum/actions/__init__.py,sha256=ba0X3hvu8t2JflfLYrFqKBKQYzj54bJqhmftDjvDnak,11331
24
24
  meerschaum/actions/api.py,sha256=WIAnK4VXnf-q2L_Bvi6QszSUuyMlzfBdO-6-G2bkduc,12187
25
- meerschaum/actions/bootstrap.py,sha256=vHqPgIOpESdHPNIab4oW3R-wMO0kGx1zGjK1-dqIz-0,14484
26
- meerschaum/actions/clear.py,sha256=QzioTVRFn3MxeF4rf7cqcJcPKQj7mxDW5Q70QbbtPDM,4854
25
+ meerschaum/actions/bootstrap.py,sha256=wXc6cdHCz5BOt4pXidFXPCQmcUSAWEhTSs8pyk41qi4,14481
26
+ meerschaum/actions/clear.py,sha256=OoFZE0bK5m8s3GLNZcixuVT0DMj1izXVxGCATcmUGbI,4851
27
27
  meerschaum/actions/copy.py,sha256=8g3ANXfVdvuyaoXcZjgTg3BxHTOhHGrzVDOOsTBrpSU,6213
28
- meerschaum/actions/deduplicate.py,sha256=u9TAulLwtGSRUeSFpq48rD8JkzasP86rekatMAIG24M,1170
29
- meerschaum/actions/delete.py,sha256=WHkV-PX3JwOo9quNUpExFXVMLMn3TFdWlVhfC_DiC3c,15259
30
- meerschaum/actions/drop.py,sha256=rL0sxa2zy4F3UQlvqFzyhYfXCWyVDvo7JklSNJhEOnw,2698
31
- meerschaum/actions/edit.py,sha256=nl8Ma6lhvANPjytCArlLF5NTZlumqOJ2hVH38tUxiFc,9490
32
- meerschaum/actions/install.py,sha256=0jsEJ2UsDkZaQB6EXmhxfgvtNE1AfgqWIx0tBrDqpLI,7377
28
+ meerschaum/actions/deduplicate.py,sha256=puYyxeFYEUy1Sd2IOcZB2e6MrNxAZl2bTLmNzFDkCiw,1167
29
+ meerschaum/actions/delete.py,sha256=3sSKRm1BEjHckZEYX3yPT_ZcINJkqsXcSdKhw9WFNBo,15271
30
+ meerschaum/actions/drop.py,sha256=Hd5h4rrWd7qL2rTqglsTonUsEoH7qQlsfqNFSHGeqr0,2453
31
+ meerschaum/actions/edit.py,sha256=dHfqVtc1v6UUT_GEhWQkgoUf1nMbX_LLOETLGR5cCXQ,9487
32
+ meerschaum/actions/install.py,sha256=iZpUNkuoeDw1AU8E2XWjg1YphdfOYTZpBz5Dold5uH8,7374
33
33
  meerschaum/actions/login.py,sha256=fNgsgkrFCn9wBQJY50SQhz2PwsN_TvEYYHnXK3JG4ig,4206
34
34
  meerschaum/actions/os.py,sha256=dtoppoBhLzW3rLNF0SFovEfNxA4WJWt_9WrOGlS5KbA,2251
35
- meerschaum/actions/pause.py,sha256=ylb1dFNoL0o1tPeYjp-koPcX-boznaZhBH_V9KOs3Jc,3909
35
+ meerschaum/actions/pause.py,sha256=rauN9VYBoE8zov-tsHm4-4LPe5i-hvRWRXMwuGIFIOQ,3906
36
36
  meerschaum/actions/python.py,sha256=eXSpAli8ARo9k2NeZi11TwiyA6T5leMSDQXKS6dgRkM,2395
37
- meerschaum/actions/register.py,sha256=BgECWwLjDt9PIDouTtCoz2MWPrgBvdgLynNy7qMsmwI,11217
37
+ meerschaum/actions/register.py,sha256=d99u0Yr395f3g23oWH7VMOqAlWQLZHVaS6woZqrNViU,11214
38
38
  meerschaum/actions/reload.py,sha256=8DHOEZn98LT3HJTQehkjHMEAq_Lz4xAHweUn3iZdvMQ,605
39
- meerschaum/actions/setup.py,sha256=ljSUDIhZDcvJKyd0chedujBMwa5rdCY8s1RSpss3Ghk,3208
39
+ meerschaum/actions/setup.py,sha256=KkAGWcgwzl_L6A19fTmTX1KtBjW2FwD8QenLjPy0mQQ,3205
40
40
  meerschaum/actions/sh.py,sha256=fLfTJaacKu4sjLTRqEzzYlT2WbbdZBEczsKb6F-qAek,2026
41
- meerschaum/actions/show.py,sha256=24omnRc-yIXV1Z7H1T7inmbAj-mtlz1xHZQylA3muao,23561
41
+ meerschaum/actions/show.py,sha256=gp7uciERmvR9ptDHQDwnW_LueKQp2dJX1ddXFatTIEc,23558
42
42
  meerschaum/actions/sql.py,sha256=DZDc5qgiqlPgRJpAeBUVK-W-2FeVO0CuOQTEUybOcU0,4224
43
43
  meerschaum/actions/stack.py,sha256=WMRMebyYwZGNlbnj6Ja09qvCSDNteFJOTa8_joHlnVo,5886
44
- meerschaum/actions/start.py,sha256=sYoJuTCDqpL5bHmpnEwHT3nXgX9CAFsVw5FbttQ7UFc,18762
45
- meerschaum/actions/stop.py,sha256=rikjFK9dNLk30NILgjKaIRTQ9-_cYqtpUndKbkvgK-I,4218
46
- meerschaum/actions/sync.py,sha256=bfXaZH1aNu7bc_EHX7NdNE2nZkUSyKlLSHRLThoKE5w,14795
47
- meerschaum/actions/uninstall.py,sha256=-e-3QSrJqh45thSWOldPJVc81GG0ZtxPP4WQ0m4329M,6071
48
- meerschaum/actions/upgrade.py,sha256=hheInVzuIYermUABQLajcw_3lR45Bmd1C8xnJRKRqtE,6305
49
- meerschaum/actions/verify.py,sha256=zNxPMyeAX6_866BhEtZmHh1yjpfQcZhcf1JhHIrApUg,3145
44
+ meerschaum/actions/start.py,sha256=9_2LG1DK5Xf3GDB62Ja-UsI9smbYuE7LxipcNTUFKO8,18930
45
+ meerschaum/actions/stop.py,sha256=KTBadAmJ6SbReqlltkwfqZW6EryB4kZXupl0ZyInI0Q,4311
46
+ meerschaum/actions/sync.py,sha256=nbpUrh-J02Y04ji-ygwbQZZ32p0RdiMVAXW_ZiJG24g,14855
47
+ meerschaum/actions/uninstall.py,sha256=2fUd5ZK45VGGCI8V4NLmSnavdKjOv7cGM22x2WlTStw,6068
48
+ meerschaum/actions/upgrade.py,sha256=VQKyjCGioEF2FYbQmldHh21imDqApNl0xal0rhxzrJk,6302
49
+ meerschaum/actions/verify.py,sha256=tY5slGpHiWiE0v9TDnjbmxSKn86zBnu9WBpixUgKNQU,4885
50
50
  meerschaum/api/__init__.py,sha256=PX_LW4NR2PQhaTFJ9FfZ11WvU_i7e2BGLCCLdMI7fWM,7704
51
51
  meerschaum/api/_chain.py,sha256=h8-WXUGXX6AqzdALfsBC5uv0FkAcLdHJXCGzqzuq89k,875
52
52
  meerschaum/api/_events.py,sha256=NrjiabEr7rmHMfxnX07DOGzr9sPiEbRkFqPjuA_8Zx8,1603
@@ -123,15 +123,15 @@ meerschaum/config/__init__.py,sha256=MrsDaLvF98biffvuEEfAzrHPzyA9HtfF_8whKtcLkak
123
123
  meerschaum/config/_default.py,sha256=4h6ag2vPf5vwXw6fDhsuMcDJAtEAIRz46GFdq8Gz1o8,5006
124
124
  meerschaum/config/_edit.py,sha256=z7gBr5YGYkUbwkUsZwd9xncmxttkdxcS9cVbgLo2zCA,8679
125
125
  meerschaum/config/_environment.py,sha256=PNo0rgiUnp0XnplC1ID-d97AKw4gc0Cc4g-jr126gwg,4507
126
- meerschaum/config/_formatting.py,sha256=uZ4P0ZscJsc2jqKN1zUJRf5_FmARTxvFbBj_iLw1wls,5739
127
- meerschaum/config/_jobs.py,sha256=ODNK8CHt7pKjjmDx5s4B8qez8zHEDdFxn6LL89UxtYY,751
126
+ meerschaum/config/_formatting.py,sha256=PiiNDra60xLEPSuOQ4ypSmlpCnA4m9t_gzEyXePpoMM,6450
127
+ meerschaum/config/_jobs.py,sha256=2VGbg885rgz8jsIF52Z_Q76kdmAXNKDk7p2dnahmsnc,1073
128
128
  meerschaum/config/_patch.py,sha256=oA5jHIZwg3eH6-Z8qvabPhTU3DgN91uvyqpm5UL8DuY,1508
129
- meerschaum/config/_paths.py,sha256=JvNeYlk7cOy56ZLM_baC0d7_w5Wkc_34JAl1Fkck-L8,6648
129
+ meerschaum/config/_paths.py,sha256=5zapejxsnzvaAcckx9YDSo3d7WQAWtVA-ufqJq7NqHQ,7311
130
130
  meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6wLs,1220
131
131
  meerschaum/config/_read_config.py,sha256=d2oBR-5vKHuRmOaaRqxK-HPJNAuieR2DS8S0u1tqorg,14532
132
132
  meerschaum/config/_shell.py,sha256=k6PH0BEr2imhgURLYlR5p6s5gXfYpWoyZSV29U-SsXk,3589
133
133
  meerschaum/config/_sync.py,sha256=Q-sz5YcjL3CJS2Dyw4rVRQsz9th9GWa9o5F9D0Jrmn8,4120
134
- meerschaum/config/_version.py,sha256=rcd_QByYDwb8bQW7A7snEIU7B_A2LzlyKMSPSSnLjAI,74
134
+ meerschaum/config/_version.py,sha256=DgiZk6sLIqkGGPsd2Lq5l-gj7WAkd0X0rNllrh1xSo4,74
135
135
  meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
136
  meerschaum/config/stack/__init__.py,sha256=4a_up1oxkitwgIylWWk0vA4XkGhEpWazUaENOPEdYQI,9034
137
137
  meerschaum/config/stack/grafana/__init__.py,sha256=wzuoch_AK49lcn7lH2qTSJ_PPbSagF4lcweeipz_XiE,2010
@@ -147,12 +147,12 @@ meerschaum/connectors/api/APIConnector.py,sha256=JmAg7TU0akEiDMXuoGdFLL5jRhV4whl
147
147
  meerschaum/connectors/api/__init__.py,sha256=JwKrGtuE5aOd2VnsRwudFBYyBf5IxczOwPVdNvCUgSQ,205
148
148
  meerschaum/connectors/api/_actions.py,sha256=YtfW6GlHct_azF8DjvXpAgNpnQnVF9kYITcfz7C0g9Q,2755
149
149
  meerschaum/connectors/api/_delete.py,sha256=2OXR6I-SWIH4uwK4D0x3_dCVZltRPb-9mqlZCU9Jor0,945
150
- meerschaum/connectors/api/_fetch.py,sha256=aA7jB9hgvxv7du44giUJXo50M-VCAmTkq918DmWtX4M,2056
150
+ meerschaum/connectors/api/_fetch.py,sha256=vGiKE7AYR7eWZnhEfskeSfeLl6yd5c7AYqsWGvZb4ys,2073
151
151
  meerschaum/connectors/api/_get.py,sha256=6O-2YzKeeYYkV5GO4vE2Zek5MVcOW_KLkI10WNvEbwo,1572
152
152
  meerschaum/connectors/api/_login.py,sha256=5GsD-B214vr5EYfM3XrTUs1sTFApxZA-9dNxq8oNSyg,2050
153
153
  meerschaum/connectors/api/_misc.py,sha256=SIAiob8LjlCsvodKbAhYdrk_7HAKAv-lWkCHBoj30qI,1093
154
154
  meerschaum/connectors/api/_patch.py,sha256=2i4X7E3ZUQXEqwwP3YUC9ik37HSS1NLKcN1k76kKPO0,933
155
- meerschaum/connectors/api/_pipes.py,sha256=fMNdJ8AoIpZDbsfLi0ThUNjrvnAAiimmcXUfj5DlSyM,21096
155
+ meerschaum/connectors/api/_pipes.py,sha256=Vl01tInRX1feSC1Btk7b2tDMc-kCMlVinJ2O5M5pPGM,21030
156
156
  meerschaum/connectors/api/_plugins.py,sha256=0qGXF_dFFHoetxM4aP9FHzyUVx7SWgvYgbCoFk7gQgk,5163
157
157
  meerschaum/connectors/api/_post.py,sha256=uB6IS2HhStM70ZbeEwmpC0ysHGfJcuP4Q5DEWkq1ngU,922
158
158
  meerschaum/connectors/api/_uri.py,sha256=h4Gj63f0q2V-TNMd8aAkQZMIj_-pA6uGacg_RNEJILI,1489
@@ -163,7 +163,7 @@ meerschaum/connectors/sql/SQLConnector.py,sha256=xfPw1_9V8bQPRHWz4qyn6dH3ROxEg1a
163
163
  meerschaum/connectors/sql/__init__.py,sha256=xwSYhYuketTXhQLXyD9pZ0NNBPboW5Oqv9zrKfjx0Ic,175
164
164
  meerschaum/connectors/sql/_cli.py,sha256=hqiVSJ6o6D6NvrZreIqi1bv82btuN5slmyylv_AYppk,3495
165
165
  meerschaum/connectors/sql/_create_engine.py,sha256=kxbNUVzKwgCf3Sd03qZRIC5GYD7EFLL72oeEh1ArZdc,10446
166
- meerschaum/connectors/sql/_fetch.py,sha256=b1vDXxeF0foJsF_ez15nLaTtvDUYUp1GR82kP8bpIo8,12669
166
+ meerschaum/connectors/sql/_fetch.py,sha256=UH9yLzucF24X6f6hqwXskkJP5Flkg6WznHB47Lo8uz4,12956
167
167
  meerschaum/connectors/sql/_pipes.py,sha256=a0cAPdfBgz9fkFw8yw6qlft_JJBmKu6or9DVT6YUULQ,93289
168
168
  meerschaum/connectors/sql/_plugins.py,sha256=hS0cuJQxwd6jUfY136AQ33dGQw_MigP_OFC84KdSMhA,8323
169
169
  meerschaum/connectors/sql/_sql.py,sha256=65cEghqq56sZdSA2mVt6rTz9AEAVzkcz77vyi_9MUEw,31069
@@ -178,27 +178,27 @@ meerschaum/core/Pipe/_attributes.py,sha256=XbSHfDsomaNymzf7-__UhbHqu6mlTTx20xprs
178
178
  meerschaum/core/Pipe/_bootstrap.py,sha256=sTbHUX8V0Kfn6vEErXzsVslSjQNfQ5MxXxxuRYslr4w,7613
179
179
  meerschaum/core/Pipe/_clear.py,sha256=hQVPztHiadzLB0c4_yFg6EETnf9MtFdJDCpO41Giuco,2261
180
180
  meerschaum/core/Pipe/_data.py,sha256=NJujtOCQLLSS-ciYisirVheVEZN63x5iUKIKdzKBWjs,20154
181
- meerschaum/core/Pipe/_deduplicate.py,sha256=QI5_QdOSe0TRHhnTrAIGSa2mEXgijQqBe8kEUk6fjqw,9610
181
+ meerschaum/core/Pipe/_deduplicate.py,sha256=Vl_WrWHuKQ3vA6-ttNDG-HR4UsL5ysR99oKzg3d8e0M,10140
182
182
  meerschaum/core/Pipe/_delete.py,sha256=_VDacjB4lWlsOSqwDVZ56qxR_AcWE7bUuqXLR27uEhs,1854
183
183
  meerschaum/core/Pipe/_drop.py,sha256=uf3MvMkCw9tVfJ2fuo8LqZ4vvMNa3xC3YoFGEuc-hH8,1052
184
- meerschaum/core/Pipe/_dtypes.py,sha256=0vyTvdLSbyiya-wyZZSdAcf9jM0t-wb0PG7xFvy8siM,3602
184
+ meerschaum/core/Pipe/_dtypes.py,sha256=e8CbAx9fSN79OwV2OgvesbG5TG49O7Mrb5ScTKDCjSU,3636
185
185
  meerschaum/core/Pipe/_edit.py,sha256=ZH2A0ZOpZKsVDnQxKzmXspNQKTEFUhkkZDjwOkmWtaY,8471
186
186
  meerschaum/core/Pipe/_fetch.py,sha256=5u3Xjpz23KR2kz4t_NPxwLUY9f3sP7nTkp--PTCQqnQ,3182
187
187
  meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2UbvA,2240
188
188
  meerschaum/core/Pipe/_show.py,sha256=nG50y8eBT9TVuKkRgAKtNDNIxysJvMNxfu__lkL1F9k,1352
189
189
  meerschaum/core/Pipe/_sync.py,sha256=QuhJcHtxT6gMj9zLn2gT4P9lbhLh8uZRy8kkI2WNz58,27246
190
- meerschaum/core/Pipe/_verify.py,sha256=F9iRmti0f_klGUC90OKDmtWFzpzjCbEozdZnOmsxVi8,12520
190
+ meerschaum/core/Pipe/_verify.py,sha256=I0MVXxTYfAqFco1uZMhk2ae7t61CMx0njpNuZfe7pNI,13810
191
191
  meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_uSJJDc,137
192
192
  meerschaum/core/User/_User.py,sha256=waVdpH4SFZSXNYBgX5KFQ8csbCSxRLI5T2efAzVONks,2448
193
193
  meerschaum/core/User/__init__.py,sha256=EiL0rYdtNeu2HqXFLurJcyomjyw3UTFdAR8rgb_vlbU,161
194
194
  meerschaum/plugins/_Plugin.py,sha256=Vzu5I01sjM9r_pbI13qYZXw2BxByi0ZPbWXy2O0rdgk,33813
195
- meerschaum/plugins/__init__.py,sha256=ffoZ3kOK-mS2Aa7MZ6I7rfYosYTnscsCJMA8JqaAmtI,18398
195
+ meerschaum/plugins/__init__.py,sha256=uuNlHp9d4NE8I5NNDoTmzDLNyYKr98DVeCntXU0OzMQ,18533
196
196
  meerschaum/utils/__init__.py,sha256=51AehMXFxtugn3a0RkNyJnlFTLBI4kxSQizRMx6p-rI,444
197
197
  meerschaum/utils/dataframe.py,sha256=j-Rll-XKl63XRUT777ZOL_WotphkPYuLKaY77fUjKDg,22506
198
198
  meerschaum/utils/debug.py,sha256=ry9UWf0ECelVIuBApwmKxPZ_IoL6UqjTSMpGNbjghVQ,3690
199
199
  meerschaum/utils/get_pipes.py,sha256=oJ87VzX6m9--9hN_x33mfaOX7AjMypAAA7ODI2pBfEI,11791
200
200
  meerschaum/utils/interactive.py,sha256=nIILo5eh8NC6qkYD-ycWOS9r3yV5i1cJuhXhHX8sHMU,3419
201
- meerschaum/utils/misc.py,sha256=ee8B7ZEmdSoyhzUGTKcdAEEWY5hQlF5nbwd04IRvwR0,42534
201
+ meerschaum/utils/misc.py,sha256=xeT575uSti0E4NHOkR2SxW3Y6lpy8epshWJluiIqP5o,42390
202
202
  meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRUc,1006
203
203
  meerschaum/utils/pool.py,sha256=svLZL3N9vaDY8fz8lwm_3QtEVHWrFDxDUKpeJNOqY4I,2781
204
204
  meerschaum/utils/process.py,sha256=tbEutHAg_Kn5UetOI-fduRjsafGOYX5tkLvpzqosgvc,7098
@@ -209,28 +209,28 @@ meerschaum/utils/threading.py,sha256=fAXk7-FnbFvdU1FQ4vHKk5NeGbbTpTw7y9dRnlVayNI
209
209
  meerschaum/utils/typing.py,sha256=mCWZ7QN5Oub5QtWtdLp3gL_PPbpbdRhI2DJJkv_dpTA,2535
210
210
  meerschaum/utils/warnings.py,sha256=0b5O2DBbhEAGnu6RAB1hlHSVmwL_hcR3EiMkExXmBJ0,6535
211
211
  meerschaum/utils/yaml.py,sha256=vbCrFjdapKsZ9wRRaI9Ih8dVUwZ-KHpSzfGhRcpDBgQ,3162
212
- meerschaum/utils/daemon/Daemon.py,sha256=CEflKv8boppDvwHJWsWza7cbAUurBPt3jYmdLtH4Zyk,28457
212
+ meerschaum/utils/daemon/Daemon.py,sha256=51USQ6gpm9cWSkq-I9a_a70SwewgbHQCWXv7lsKZx6Q,31440
213
213
  meerschaum/utils/daemon/Log.py,sha256=MbddjoCsjy0Z8W2248LP_I8W8nfL7WhOF1j9x9nfJiw,3264
214
214
  meerschaum/utils/daemon/RotatingFile.py,sha256=WeMuiTJnvgt4fNX8qfA40A1aRAOA13837J2sjNgCN9A,18425
215
- meerschaum/utils/daemon/__init__.py,sha256=gKFN0WUdbSinv_4vzVLLejQaUVt4hQZQSzIiclIRrgc,5701
215
+ meerschaum/utils/daemon/__init__.py,sha256=ZGkeVwNB8ebIQFn8LNe5VrGSGkOIksgnsH43xexmQOE,6858
216
216
  meerschaum/utils/daemon/_names.py,sha256=Mg71u69mu-PycywRkW9mqt8FyT1eOHtHnLjbC8OL4J0,4302
217
217
  meerschaum/utils/dtypes/__init__.py,sha256=5Hv7A8RrU06_gi9UXjB-nLQXWE6Qc4NBJETiXBl4mXE,3627
218
218
  meerschaum/utils/dtypes/sql.py,sha256=uVvylSNeiBJub_JF6WKs3lA0sJ5PBiqkgoURipKlWBY,11354
219
- meerschaum/utils/formatting/__init__.py,sha256=5sYf-_zynr9NHldy7nMxtietuL6L2YRrt9KOlwiQ_pw,9488
219
+ meerschaum/utils/formatting/__init__.py,sha256=llMtIluMQ6CCy93M8pavnBHgHtSbFFva8arGtQ51edQ,13685
220
220
  meerschaum/utils/formatting/_jobs.py,sha256=s1lVcdMkzNj5Bqw-GsUhcguUFtahi5nQ-kg1fbp0Idw,3294
221
- meerschaum/utils/formatting/_pipes.py,sha256=9L1P2WLoztpTMwxigjDn1sm-UzfuLtYdcBSKGoXJiz4,16843
221
+ meerschaum/utils/formatting/_pipes.py,sha256=RIH_Iy8yjMWFaKi97J15GffnQYtUs2Gb4zYUpwB1RwI,17541
222
222
  meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
223
223
  meerschaum/utils/formatting/_shell.py,sha256=ox75O7VHDAiwzSvdMSJZhXLadvAqYJVeihU6WeZ2Ogc,3677
224
- meerschaum/utils/packages/__init__.py,sha256=rlfPjz4tzcw1xR_An_0qpVhbZc9xl2n3octchxObW0M,54697
225
- meerschaum/utils/packages/_packages.py,sha256=4PitTkHqswj3jWCTAsoLgeP8Z6RIlt1Bs5f1gRyM1ck,8225
224
+ meerschaum/utils/packages/__init__.py,sha256=kG7oMmLmr1qOEKjI7u0I7VI2TiujlTaM2OuwKv2TAZM,54700
225
+ meerschaum/utils/packages/_packages.py,sha256=c3rjxENX02kyAwUzSYvLoGFJNrYvxaLlFyxuzKcYZwU,8282
226
226
  meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
227
227
  meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
228
228
  meerschaum/utils/venv/__init__.py,sha256=kPgXtjJkqhl5pbpOoVS6uXh8BRzViHjPqqHnT0r_eRY,22288
229
- meerschaum-2.0.0rc7.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
230
- meerschaum-2.0.0rc7.dist-info/METADATA,sha256=02IswuceIA08INRj-oUJKouFqEkcFEoIfgh5Jobv9YA,25023
231
- meerschaum-2.0.0rc7.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
232
- meerschaum-2.0.0rc7.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
233
- meerschaum-2.0.0rc7.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
234
- meerschaum-2.0.0rc7.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
235
- meerschaum-2.0.0rc7.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
236
- meerschaum-2.0.0rc7.dist-info/RECORD,,
229
+ meerschaum-2.0.0rc8.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
230
+ meerschaum-2.0.0rc8.dist-info/METADATA,sha256=ShifnW6pbkuX1c6vRKQvLiUTsvxkO-ggS7z32BGAvzM,25174
231
+ meerschaum-2.0.0rc8.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
232
+ meerschaum-2.0.0rc8.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
233
+ meerschaum-2.0.0rc8.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
234
+ meerschaum-2.0.0rc8.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
235
+ meerschaum-2.0.0rc8.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
236
+ meerschaum-2.0.0rc8.dist-info/RECORD,,