meerschaum 2.5.0__py3-none-any.whl → 2.6.0.dev1__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/arguments/_parser.py +6 -1
- meerschaum/_internal/entry.py +16 -5
- meerschaum/actions/edit.py +6 -6
- meerschaum/actions/sql.py +12 -11
- meerschaum/api/dash/pipes.py +95 -13
- meerschaum/api/routes/_webterm.py +1 -0
- meerschaum/config/_edit.py +46 -19
- meerschaum/config/_read_config.py +20 -9
- meerschaum/config/_version.py +1 -1
- meerschaum/config/stack/__init__.py +1 -1
- meerschaum/connectors/sql/_pipes.py +80 -24
- meerschaum/connectors/sql/_sql.py +29 -10
- meerschaum/connectors/valkey/_pipes.py +1 -1
- meerschaum/core/Pipe/__init__.py +8 -9
- meerschaum/core/Pipe/_attributes.py +33 -11
- meerschaum/core/Pipe/_data.py +26 -7
- meerschaum/core/Pipe/_dtypes.py +4 -4
- meerschaum/core/Pipe/_fetch.py +1 -1
- meerschaum/core/Pipe/_sync.py +16 -4
- meerschaum/core/Pipe/_verify.py +1 -1
- meerschaum/utils/dataframe.py +58 -31
- meerschaum/utils/dtypes/__init__.py +16 -5
- meerschaum/utils/dtypes/sql.py +58 -28
- meerschaum/utils/misc.py +49 -16
- meerschaum/utils/packages/_packages.py +2 -1
- meerschaum/utils/schedule.py +7 -5
- meerschaum/utils/sql.py +224 -40
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/METADATA +5 -3
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/RECORD +35 -35
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/WHEEL +1 -1
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/LICENSE +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/NOTICE +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/top_level.txt +0 -0
- {meerschaum-2.5.0.dist-info → meerschaum-2.6.0.dev1.dist-info}/zip-safe +0 -0
meerschaum/utils/sql.py
CHANGED
@@ -16,6 +16,7 @@ from meerschaum.utils.dtypes.sql import (
|
|
16
16
|
PD_TO_DB_DTYPES_FLAVORS,
|
17
17
|
get_pd_type_from_db_type as get_pd_type,
|
18
18
|
get_db_type_from_pd_type as get_db_type,
|
19
|
+
TIMEZONE_NAIVE_FLAVORS,
|
19
20
|
)
|
20
21
|
from meerschaum.utils.warnings import warn
|
21
22
|
from meerschaum.utils.debug import dprint
|
@@ -186,8 +187,11 @@ columns_types_queries = {
|
|
186
187
|
COLUMN_NAME AS [column],
|
187
188
|
DATA_TYPE AS [type]
|
188
189
|
FROM {db_prefix}INFORMATION_SCHEMA.COLUMNS
|
189
|
-
WHERE TABLE_NAME
|
190
|
-
|
190
|
+
WHERE TABLE_NAME IN (
|
191
|
+
'{table}',
|
192
|
+
'{table_trunc}'
|
193
|
+
)
|
194
|
+
|
191
195
|
""",
|
192
196
|
'mysql': """
|
193
197
|
SELECT
|
@@ -349,9 +353,8 @@ def dateadd_str(
|
|
349
353
|
"CAST('2022-01-01 00:00:00' AS TIMESTAMP) + INTERVAL '1 day'"
|
350
354
|
|
351
355
|
"""
|
352
|
-
from meerschaum.utils.debug import dprint
|
353
356
|
from meerschaum.utils.packages import attempt_import
|
354
|
-
from meerschaum.utils.
|
357
|
+
from meerschaum.utils.dtypes.sql import get_db_type_from_pd_type
|
355
358
|
dateutil_parser = attempt_import('dateutil.parser')
|
356
359
|
if 'int' in str(type(begin)).lower():
|
357
360
|
return str(begin)
|
@@ -379,26 +382,32 @@ def dateadd_str(
|
|
379
382
|
begin = begin.astimezone(timezone.utc)
|
380
383
|
begin = (
|
381
384
|
f"'{begin.replace(tzinfo=None)}'"
|
382
|
-
if isinstance(begin, datetime)
|
385
|
+
if isinstance(begin, datetime) and flavor in TIMEZONE_NAIVE_FLAVORS
|
383
386
|
else f"'{begin}'"
|
384
387
|
)
|
385
388
|
|
389
|
+
dt_is_utc = begin_time.tzinfo is not None if begin_time is not None else '+' in str(begin)
|
390
|
+
db_type = get_db_type_from_pd_type(
|
391
|
+
('datetime64[ns, UTC]' if dt_is_utc else 'datetime64[ns]'),
|
392
|
+
flavor=flavor,
|
393
|
+
)
|
394
|
+
|
386
395
|
da = ""
|
387
396
|
if flavor in ('postgresql', 'timescaledb', 'cockroachdb', 'citus'):
|
388
397
|
begin = (
|
389
|
-
f"CAST({begin} AS
|
390
|
-
else "CAST(NOW() AT TIME ZONE 'utc' AS
|
398
|
+
f"CAST({begin} AS {db_type})" if begin != 'now'
|
399
|
+
else "CAST(NOW() AT TIME ZONE 'utc' AS {db_type})"
|
391
400
|
)
|
392
401
|
da = begin + (f" + INTERVAL '{number} {datepart}'" if number != 0 else '')
|
393
402
|
|
394
403
|
elif flavor == 'duckdb':
|
395
|
-
begin = f"CAST({begin} AS
|
404
|
+
begin = f"CAST({begin} AS {db_type})" if begin != 'now' else 'NOW()'
|
396
405
|
da = begin + (f" + INTERVAL '{number} {datepart}'" if number != 0 else '')
|
397
406
|
|
398
407
|
elif flavor in ('mssql',):
|
399
408
|
if begin_time and begin_time.microsecond != 0:
|
400
409
|
begin = begin[:-4] + "'"
|
401
|
-
begin = f"CAST({begin} AS
|
410
|
+
begin = f"CAST({begin} AS {db_type})" if begin != 'now' else 'GETUTCDATE()'
|
402
411
|
da = f"DATEADD({datepart}, {number}, {begin})" if number != 0 else begin
|
403
412
|
|
404
413
|
elif flavor in ('mysql', 'mariadb'):
|
@@ -425,9 +434,9 @@ def dateadd_str(
|
|
425
434
|
|
426
435
|
|
427
436
|
def test_connection(
|
428
|
-
|
429
|
-
|
430
|
-
|
437
|
+
self,
|
438
|
+
**kw: Any
|
439
|
+
) -> Union[bool, None]:
|
431
440
|
"""
|
432
441
|
Test if a successful connection to the database may be made.
|
433
442
|
|
@@ -454,11 +463,11 @@ def test_connection(
|
|
454
463
|
|
455
464
|
|
456
465
|
def get_distinct_col_count(
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
466
|
+
col: str,
|
467
|
+
query: str,
|
468
|
+
connector: Optional[mrsm.connectors.sql.SQLConnector] = None,
|
469
|
+
debug: bool = False
|
470
|
+
) -> Optional[int]:
|
462
471
|
"""
|
463
472
|
Returns the number of distinct items in a column of a SQL query.
|
464
473
|
|
@@ -624,10 +633,10 @@ def truncate_item_name(item: str, flavor: str) -> str:
|
|
624
633
|
|
625
634
|
|
626
635
|
def build_where(
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
636
|
+
params: Dict[str, Any],
|
637
|
+
connector: Optional[meerschaum.connectors.sql.SQLConnector] = None,
|
638
|
+
with_where: bool = True,
|
639
|
+
) -> str:
|
631
640
|
"""
|
632
641
|
Build the `WHERE` clause based on the input criteria.
|
633
642
|
|
@@ -769,7 +778,7 @@ def table_exists(
|
|
769
778
|
----------
|
770
779
|
table: str:
|
771
780
|
The name of the table in question.
|
772
|
-
|
781
|
+
|
773
782
|
connector: mrsm.connectors.sql.SQLConnector
|
774
783
|
The connector to the database which holds the table.
|
775
784
|
|
@@ -806,7 +815,7 @@ def get_sqlalchemy_table(
|
|
806
815
|
----------
|
807
816
|
table: str
|
808
817
|
The name of the table on the database. Does not need to be escaped.
|
809
|
-
|
818
|
+
|
810
819
|
connector: Optional[meerschaum.connectors.sql.SQLConnector], default None:
|
811
820
|
The connector to the database which holds the table.
|
812
821
|
|
@@ -822,7 +831,7 @@ def get_sqlalchemy_table(
|
|
822
831
|
|
823
832
|
Returns
|
824
833
|
-------
|
825
|
-
A `sqlalchemy.Table` object for the table.
|
834
|
+
A `sqlalchemy.Table` object for the table.
|
826
835
|
|
827
836
|
"""
|
828
837
|
if connector is None:
|
@@ -1325,35 +1334,48 @@ def get_rename_table_queries(
|
|
1325
1334
|
|
1326
1335
|
if_exists_str = "IF EXISTS" if flavor in DROP_IF_EXISTS_FLAVORS else ""
|
1327
1336
|
if flavor == 'duckdb':
|
1328
|
-
return
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1337
|
+
return (
|
1338
|
+
get_create_table_queries(
|
1339
|
+
f"SELECT * FROM {old_table_name}",
|
1340
|
+
tmp_table,
|
1341
|
+
'duckdb',
|
1342
|
+
schema,
|
1343
|
+
) + get_create_table_queries(
|
1344
|
+
f"SELECT * FROM {tmp_table_name}",
|
1345
|
+
new_table,
|
1346
|
+
'duckdb',
|
1347
|
+
schema,
|
1348
|
+
) + [
|
1349
|
+
f"DROP TABLE {if_exists_str} {tmp_table_name}",
|
1350
|
+
f"DROP TABLE {if_exists_str} {old_table_name}",
|
1351
|
+
]
|
1352
|
+
)
|
1334
1353
|
|
1335
1354
|
return [f"ALTER TABLE {old_table_name} RENAME TO {new_table_name}"]
|
1336
1355
|
|
1337
1356
|
|
1338
1357
|
def get_create_table_query(
|
1339
|
-
|
1358
|
+
query_or_dtypes: Union[str, Dict[str, str]],
|
1340
1359
|
new_table: str,
|
1341
1360
|
flavor: str,
|
1342
1361
|
schema: Optional[str] = None,
|
1343
1362
|
) -> str:
|
1344
1363
|
"""
|
1364
|
+
NOTE: This function is deprecated. Use `get_create_index_queries()` instead.
|
1365
|
+
|
1345
1366
|
Return a query to create a new table from a `SELECT` query.
|
1346
1367
|
|
1347
1368
|
Parameters
|
1348
1369
|
----------
|
1349
|
-
query: str
|
1370
|
+
query: Union[str, Dict[str, str]]
|
1350
1371
|
The select query to use for the creation of the table.
|
1372
|
+
If a dictionary is provided, return a `CREATE TABLE` query from the given `dtypes` columns.
|
1351
1373
|
|
1352
1374
|
new_table: str
|
1353
1375
|
The unquoted name of the new table.
|
1354
1376
|
|
1355
1377
|
flavor: str
|
1356
|
-
The database flavor to use for the query (e.g. `'mssql'`, `'postgresql'
|
1378
|
+
The database flavor to use for the query (e.g. `'mssql'`, `'postgresql'`).
|
1357
1379
|
|
1358
1380
|
schema: Optional[str], default None
|
1359
1381
|
The schema on which the table will reside.
|
@@ -1362,26 +1384,164 @@ def get_create_table_query(
|
|
1362
1384
|
-------
|
1363
1385
|
A `CREATE TABLE` (or `SELECT INTO`) query for the database flavor.
|
1364
1386
|
"""
|
1387
|
+
return get_create_table_queries(
|
1388
|
+
query_or_dtypes,
|
1389
|
+
new_table,
|
1390
|
+
flavor,
|
1391
|
+
schema=schema,
|
1392
|
+
primary_key=None,
|
1393
|
+
)[0]
|
1394
|
+
|
1395
|
+
|
1396
|
+
def get_create_table_queries(
|
1397
|
+
query_or_dtypes: Union[str, Dict[str, str]],
|
1398
|
+
new_table: str,
|
1399
|
+
flavor: str,
|
1400
|
+
schema: Optional[str] = None,
|
1401
|
+
primary_key: Optional[str] = None,
|
1402
|
+
) -> List[str]:
|
1403
|
+
"""
|
1404
|
+
Return a query to create a new table from a `SELECT` query or a `dtypes` dictionary.
|
1405
|
+
|
1406
|
+
Parameters
|
1407
|
+
----------
|
1408
|
+
query_or_dtypes: Union[str, Dict[str, str]]
|
1409
|
+
The select query to use for the creation of the table.
|
1410
|
+
If a dictionary is provided, return a `CREATE TABLE` query from the given `dtypes` columns.
|
1411
|
+
|
1412
|
+
new_table: str
|
1413
|
+
The unquoted name of the new table.
|
1414
|
+
|
1415
|
+
flavor: str
|
1416
|
+
The database flavor to use for the query (e.g. `'mssql'`, `'postgresql'`).
|
1417
|
+
|
1418
|
+
schema: Optional[str], default None
|
1419
|
+
The schema on which the table will reside.
|
1420
|
+
|
1421
|
+
primary_key: Optional[str], default None
|
1422
|
+
If provided, designate this column as the primary key in the new table.
|
1423
|
+
|
1424
|
+
Returns
|
1425
|
+
-------
|
1426
|
+
A `CREATE TABLE` (or `SELECT INTO`) query for the database flavor.
|
1427
|
+
"""
|
1428
|
+
if not isinstance(query_or_dtypes, (str, dict)):
|
1429
|
+
raise TypeError("`query_or_dtypes` must be a query or a dtypes dictionary.")
|
1430
|
+
|
1431
|
+
method = (
|
1432
|
+
_get_create_table_query_from_cte
|
1433
|
+
if isinstance(query_or_dtypes, str)
|
1434
|
+
else _get_create_table_query_from_dtypes
|
1435
|
+
)
|
1436
|
+
return method(
|
1437
|
+
query_or_dtypes,
|
1438
|
+
new_table,
|
1439
|
+
flavor,
|
1440
|
+
schema=schema,
|
1441
|
+
primary_key=primary_key,
|
1442
|
+
)
|
1443
|
+
|
1444
|
+
|
1445
|
+
def _get_create_table_query_from_dtypes(
|
1446
|
+
dtypes: Dict[str, str],
|
1447
|
+
new_table: str,
|
1448
|
+
flavor: str,
|
1449
|
+
schema: Optional[str] = None,
|
1450
|
+
primary_key: Optional[str] = None,
|
1451
|
+
) -> List[str]:
|
1452
|
+
"""
|
1453
|
+
Create a new table from a `dtypes` dictionary.
|
1454
|
+
"""
|
1455
|
+
from meerschaum.utils.dtypes.sql import get_db_type_from_pd_type, AUTO_INCREMENT_COLUMN_FLAVORS
|
1456
|
+
if not dtypes and not primary_key:
|
1457
|
+
raise ValueError(f"Expecting columns for table '{new_table}'.")
|
1458
|
+
|
1459
|
+
cols_types = (
|
1460
|
+
[(primary_key, get_db_type_from_pd_type(dtypes.get(primary_key, 'int')))]
|
1461
|
+
if primary_key
|
1462
|
+
else []
|
1463
|
+
) + [
|
1464
|
+
(col, get_db_type_from_pd_type(typ))
|
1465
|
+
for col, typ in dtypes.items()
|
1466
|
+
if col != primary_key
|
1467
|
+
]
|
1468
|
+
|
1469
|
+
table_name = sql_item_name(new_table, schema=schema, flavor=flavor)
|
1470
|
+
query = f"CREATE TABLE {table_name} ("
|
1471
|
+
if primary_key:
|
1472
|
+
col_db_type = cols_types[0][1]
|
1473
|
+
auto_increment = (' ' + AUTO_INCREMENT_COLUMN_FLAVORS.get(
|
1474
|
+
flavor,
|
1475
|
+
AUTO_INCREMENT_COLUMN_FLAVORS['default']
|
1476
|
+
)) if primary_key not in dtypes else ''
|
1477
|
+
col_name = sql_item_name(primary_key, flavor=flavor, schema=None)
|
1478
|
+
|
1479
|
+
if flavor == 'sqlite':
|
1480
|
+
query += f"\n {col_name} INTEGER PRIMARY KEY{auto_increment} NOT NULL,"
|
1481
|
+
else:
|
1482
|
+
query += f"\n {col_name} {col_db_type} PRIMARY KEY{auto_increment} NOT NULL,"
|
1483
|
+
|
1484
|
+
for col, db_type in cols_types:
|
1485
|
+
if col == primary_key:
|
1486
|
+
continue
|
1487
|
+
col_name = sql_item_name(col, schema=None, flavor=flavor)
|
1488
|
+
query += f"\n {col_name} {db_type},"
|
1489
|
+
query = query[:-1]
|
1490
|
+
query += "\n)"
|
1491
|
+
|
1492
|
+
return [query]
|
1493
|
+
|
1494
|
+
|
1495
|
+
def _get_create_table_query_from_cte(
|
1496
|
+
query: str,
|
1497
|
+
new_table: str,
|
1498
|
+
flavor: str,
|
1499
|
+
schema: Optional[str] = None,
|
1500
|
+
primary_key: Optional[str] = None,
|
1501
|
+
) -> List[str]:
|
1502
|
+
"""
|
1503
|
+
Create a new table from a CTE query.
|
1504
|
+
"""
|
1365
1505
|
import textwrap
|
1506
|
+
from meerschaum.utils.dtypes.sql import AUTO_INCREMENT_COLUMN_FLAVORS
|
1366
1507
|
create_cte = 'create_query'
|
1367
1508
|
create_cte_name = sql_item_name(create_cte, flavor, None)
|
1368
1509
|
new_table_name = sql_item_name(new_table, flavor, schema)
|
1510
|
+
primary_key_constraint_name = (
|
1511
|
+
sql_item_name(f'pk_{new_table}', flavor, None)
|
1512
|
+
if primary_key
|
1513
|
+
else None
|
1514
|
+
)
|
1515
|
+
primary_key_name = (
|
1516
|
+
sql_item_name(primary_key, flavor, None)
|
1517
|
+
if primary_key
|
1518
|
+
else None
|
1519
|
+
)
|
1520
|
+
auto_increment = AUTO_INCREMENT_COLUMN_FLAVORS.get(
|
1521
|
+
flavor,
|
1522
|
+
AUTO_INCREMENT_COLUMN_FLAVORS['default']
|
1523
|
+
)
|
1369
1524
|
if flavor in ('mssql',):
|
1370
1525
|
query = query.lstrip()
|
1371
1526
|
if 'with ' in query.lower():
|
1372
1527
|
final_select_ix = query.lower().rfind('select')
|
1373
|
-
|
1528
|
+
create_table_query = (
|
1374
1529
|
query[:final_select_ix].rstrip() + ',\n'
|
1375
1530
|
+ f"{create_cte_name} AS (\n"
|
1376
1531
|
+ query[final_select_ix:]
|
1377
1532
|
+ "\n)\n"
|
1378
1533
|
+ f"SELECT *\nINTO {new_table_name}\nFROM {create_cte_name}"
|
1379
1534
|
)
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1535
|
+
else:
|
1536
|
+
create_table_query = f"""
|
1537
|
+
SELECT *
|
1538
|
+
INTO {new_table_name}
|
1539
|
+
FROM ({query}) AS {create_cte_name}
|
1540
|
+
"""
|
1541
|
+
|
1542
|
+
alter_type_query = f"""
|
1543
|
+
ALTER TABLE {new_table_name}
|
1544
|
+
ADD CONSTRAINT {primary_key_constraint_name} PRIMARY KEY ({primary_key_name})
|
1385
1545
|
"""
|
1386
1546
|
elif flavor in (None,):
|
1387
1547
|
create_table_query = f"""
|
@@ -1390,12 +1550,22 @@ def get_create_table_query(
|
|
1390
1550
|
SELECT *
|
1391
1551
|
FROM {create_cte_name}
|
1392
1552
|
"""
|
1553
|
+
|
1554
|
+
alter_type_query = f"""
|
1555
|
+
ALTER TABLE {new_table_name}
|
1556
|
+
ADD PRIMARY KEY ({primary_key_name})
|
1557
|
+
"""
|
1393
1558
|
elif flavor in ('sqlite', 'mysql', 'mariadb', 'duckdb', 'oracle'):
|
1394
1559
|
create_table_query = f"""
|
1395
1560
|
CREATE TABLE {new_table_name} AS
|
1396
1561
|
SELECT *
|
1397
1562
|
FROM ({query})""" + (f""" AS {create_cte_name}""" if flavor != 'oracle' else '') + """
|
1398
1563
|
"""
|
1564
|
+
|
1565
|
+
alter_type_query = f"""
|
1566
|
+
ALTER TABLE {new_table_name}
|
1567
|
+
ADD PRIMARY KEY ({primary_key_name})
|
1568
|
+
"""
|
1399
1569
|
else:
|
1400
1570
|
create_table_query = f"""
|
1401
1571
|
SELECT *
|
@@ -1403,7 +1573,21 @@ def get_create_table_query(
|
|
1403
1573
|
FROM ({query}) AS {create_cte_name}
|
1404
1574
|
"""
|
1405
1575
|
|
1406
|
-
|
1576
|
+
alter_type_query = f"""
|
1577
|
+
ALTER TABLE {new_table_name}
|
1578
|
+
ADD PRIMARY KEY ({primary_key_name})
|
1579
|
+
"""
|
1580
|
+
|
1581
|
+
create_table_query = textwrap.dedent(create_table_query)
|
1582
|
+
if not primary_key:
|
1583
|
+
return [create_table_query]
|
1584
|
+
|
1585
|
+
alter_type_query = textwrap.dedent(alter_type_query)
|
1586
|
+
|
1587
|
+
return [
|
1588
|
+
create_table_query,
|
1589
|
+
alter_type_query,
|
1590
|
+
]
|
1407
1591
|
|
1408
1592
|
|
1409
1593
|
def wrap_query_with_cte(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.6.0.dev1
|
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,10 +1,10 @@
|
|
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
|
-
meerschaum/_internal/arguments/_parser.py,sha256=
|
7
|
+
meerschaum/_internal/arguments/_parser.py,sha256=h0OQbfadr7h03Vyqw2B326BJ-feHRYZFWFbZ_ge9DIo,16486
|
8
8
|
meerschaum/_internal/docs/__init__.py,sha256=ZQYHWo6n0kfLLkyG36YXqTYvv2Pc7it5HZHMylT6cBA,126
|
9
9
|
meerschaum/_internal/docs/index.py,sha256=8nU5Ck4I8ZrTTT2yWRCJYx92g2OfL23LWNZZ2eFSXaU,24585
|
10
10
|
meerschaum/_internal/gui/__init__.py,sha256=KF6Opae0aBOjIndMZ2txoPs7ozCXRlR-lcTsicLO7fc,1313
|
@@ -30,7 +30,7 @@ meerschaum/actions/copy.py,sha256=NwTwj3IMdK1TFRuJXCxsbIEFNVeoNGoMkvE6H1ZQZzo,68
|
|
30
30
|
meerschaum/actions/deduplicate.py,sha256=puYyxeFYEUy1Sd2IOcZB2e6MrNxAZl2bTLmNzFDkCiw,1167
|
31
31
|
meerschaum/actions/delete.py,sha256=7hW4Ff_WSczW8If-EEDbEUU0U0XzV3fVbFb9gED4S9Q,19032
|
32
32
|
meerschaum/actions/drop.py,sha256=Hd5h4rrWd7qL2rTqglsTonUsEoH7qQlsfqNFSHGeqr0,2453
|
33
|
-
meerschaum/actions/edit.py,sha256=
|
33
|
+
meerschaum/actions/edit.py,sha256=gpIp5mc6Jc9A3_EdkDE0sK1eOardEaDzEj-eDdbOMPk,15419
|
34
34
|
meerschaum/actions/install.py,sha256=jdhOrR_KlvinTKr0YJNkUHsnh5EY6OzA7cRq0Vnp1oU,7494
|
35
35
|
meerschaum/actions/login.py,sha256=fNgsgkrFCn9wBQJY50SQhz2PwsN_TvEYYHnXK3JG4ig,4206
|
36
36
|
meerschaum/actions/os.py,sha256=dtoppoBhLzW3rLNF0SFovEfNxA4WJWt_9WrOGlS5KbA,2251
|
@@ -42,7 +42,7 @@ meerschaum/actions/restart.py,sha256=6ffp3-X9eTEgunVSdD41HnOwqp71yjuSAmXJ5j39ONI
|
|
42
42
|
meerschaum/actions/setup.py,sha256=KkAGWcgwzl_L6A19fTmTX1KtBjW2FwD8QenLjPy0mQQ,3205
|
43
43
|
meerschaum/actions/sh.py,sha256=hSkGNTVqP5dNjhJ64zy3V3VCFPTKnDlH3PxdKdxtkGQ,1990
|
44
44
|
meerschaum/actions/show.py,sha256=T8Ol1o-762cI9rlUzd-8svvwgT4slYXYfOPQETh9Koo,28446
|
45
|
-
meerschaum/actions/sql.py,sha256=
|
45
|
+
meerschaum/actions/sql.py,sha256=vAsxbSl-Hkw3wfrM1BLnKex_kJrZwIJICAXysprQGWM,4220
|
46
46
|
meerschaum/actions/stack.py,sha256=ZwrCTGJ0x3jjZkRieWcvqasQHYCqNtB1HYvTX-r3Z3g,5996
|
47
47
|
meerschaum/actions/start.py,sha256=26i2Pqg3c_Ltw3lgYzl3sZL2wG0XBgOuJrPK8qPPHdI,21281
|
48
48
|
meerschaum/actions/stop.py,sha256=5fdUw70YN-yuUWrC-NhA88cxr9FZ5NbssbQ8xXO8nFU,4632
|
@@ -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,25 +128,25 @@ 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
|
135
135
|
meerschaum/config/_default.py,sha256=gGkF9dGiwiKtMSXAE85LNhZ8ZXQ5EbeBPTSG0A9MBNQ,5675
|
136
|
-
meerschaum/config/_edit.py,sha256=
|
136
|
+
meerschaum/config/_edit.py,sha256=M9yX_SDD24gV5kWITZpy7p9AWTizJsIAGWAs3WZx-Ws,9087
|
137
137
|
meerschaum/config/_environment.py,sha256=Vv4DLDfc2vKLbCLsMvkQDj77K4kEvHKEBmUBo-wCrgo,4419
|
138
138
|
meerschaum/config/_formatting.py,sha256=OMuqS1EWOsj_34wSs2tOqGIWci3bTMIZ5l-uelZgsIM,6672
|
139
139
|
meerschaum/config/_jobs.py,sha256=gS_4mMGdmVP7WB4V5Sz8kYP0HmhWcMY2jSWGR7jX6cw,1279
|
140
140
|
meerschaum/config/_patch.py,sha256=21N30q1ANmWMDQ-2RUjpMx7KafWfPQ3lKx9rrMqg1s4,1526
|
141
141
|
meerschaum/config/_paths.py,sha256=Ycuj4TYTzXO-6JkWX40fMK0CVV6L5HG_rPlCi-Ckhto,9763
|
142
142
|
meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6wLs,1220
|
143
|
-
meerschaum/config/_read_config.py,sha256=
|
143
|
+
meerschaum/config/_read_config.py,sha256=RLC3HHi_1ndj7ITVDKLD9_uULY3caGRwSz3ATYE-ixA,15014
|
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=cA0isehD9CP_Cc43s4BvRQP7zVBmH2gobsdUOsN_05o,76
|
147
147
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
148
148
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
|
-
meerschaum/config/stack/__init__.py,sha256=
|
149
|
+
meerschaum/config/stack/__init__.py,sha256=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
|
150
150
|
meerschaum/config/stack/grafana/__init__.py,sha256=LNXQw2FvHKrD68RDhqDmi2wJjAHaKw9IWx8rNuyWEPo,2010
|
151
151
|
meerschaum/config/stack/mosquitto/__init__.py,sha256=-OwOjq8KiBoSH_pmgCAAF3Dp3CRD4KgAEdimZSadROs,186
|
152
152
|
meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -176,9 +176,9 @@ meerschaum/connectors/sql/_cli.py,sha256=1SgnWeMIAihoxp4FzbNrcq1npXf0dSOQnCntpU9
|
|
176
176
|
meerschaum/connectors/sql/_create_engine.py,sha256=zqeu1xHOw3n3Zgfjx-diy2aoynfdOlfOjwFuRrzB028,10452
|
177
177
|
meerschaum/connectors/sql/_fetch.py,sha256=J5e9EZrb70neXq8p78LFTTJiVukMIEKHuTXlILHDDGI,13005
|
178
178
|
meerschaum/connectors/sql/_instance.py,sha256=3KJI3ImwWAJkUfdZIrSL24pcW6Nic8wo5IUeGth9HP4,6459
|
179
|
-
meerschaum/connectors/sql/_pipes.py,sha256=
|
179
|
+
meerschaum/connectors/sql/_pipes.py,sha256=ztrRH4DXiAqNd8uiAWKwCZJlpboeTqtiasbkzkuMisc,103072
|
180
180
|
meerschaum/connectors/sql/_plugins.py,sha256=wbxcNxqTtjfDsxPvdVGTllasYf6NHHzODaQ72hEUSBQ,8135
|
181
|
-
meerschaum/connectors/sql/_sql.py,sha256=
|
181
|
+
meerschaum/connectors/sql/_sql.py,sha256=ymlfzdVdrn9mzSBvseuOT9_H4L5v7XE7rUuiWeaIoVA,36907
|
182
182
|
meerschaum/connectors/sql/_uri.py,sha256=0BrhQtqQdzg9mR04gWBZINs_BbPFtSlTECXT_TCUwik,3460
|
183
183
|
meerschaum/connectors/sql/_users.py,sha256=FJjYeJGhr-TDHziNc6p_5mupGRtGjezKPIYgHFEVSnY,9956
|
184
184
|
meerschaum/connectors/sql/tools.py,sha256=jz8huOaRCwGlYdtGfAqAh7SoK8uydYBrasKQba9FT38,187
|
@@ -187,26 +187,26 @@ meerschaum/connectors/sql/tables/types.py,sha256=Jc_MTHIBM-KHpQt__Lckp39CeOo7tGO
|
|
187
187
|
meerschaum/connectors/valkey/_ValkeyConnector.py,sha256=ReW8ZaZtXO0QDhrt0dMUIn244Ok2gfoKaMmGcpFIYIo,15755
|
188
188
|
meerschaum/connectors/valkey/__init__.py,sha256=jkVutsygQCvGPLN17cP6wHAjHajxVycnQJbm2eVMuY0,187
|
189
189
|
meerschaum/connectors/valkey/_fetch.py,sha256=MjeE0h3YI4M3LCzy7axQAc_fX_l82vUqX4WXcYoppxE,1920
|
190
|
-
meerschaum/connectors/valkey/_pipes.py,sha256=
|
190
|
+
meerschaum/connectors/valkey/_pipes.py,sha256=XPmW4KKW3d3g7BRzKbqQ2wrjC3zAtZG96ebbP19jLlM,22480
|
191
191
|
meerschaum/connectors/valkey/_plugins.py,sha256=ZqiEW4XZCOpw4G8DUK2IKY6Qrph4mYfTjgXWimgakYY,6267
|
192
192
|
meerschaum/connectors/valkey/_users.py,sha256=AS1vLarrkDA9yPK644GWwRiQiTZVa9x3nlLpyntq40g,7730
|
193
193
|
meerschaum/core/__init__.py,sha256=tjASW10n9uLV6bYhcwP4rggh-ESXSJzgxpSBbVsuISs,251
|
194
|
-
meerschaum/core/Pipe/__init__.py,sha256=
|
195
|
-
meerschaum/core/Pipe/_attributes.py,sha256=
|
194
|
+
meerschaum/core/Pipe/__init__.py,sha256=nr2o00q0vPGwvWiBm9HAbqnbzxkQxR3R9nnsIxIj4ZY,17880
|
195
|
+
meerschaum/core/Pipe/_attributes.py,sha256=AVKhg0nE_Auf2DvSSCc4s6IlLadPa322lOR006MR6Ww,16063
|
196
196
|
meerschaum/core/Pipe/_bootstrap.py,sha256=evyi07kkzAVMj66HfZkbYdcWk_oHUDsl6f13EnSPMYs,7723
|
197
197
|
meerschaum/core/Pipe/_clear.py,sha256=yFAYQnDmL3m6DzyAutgnBDXSOL9gjIrLvlQXd86YFV0,2193
|
198
198
|
meerschaum/core/Pipe/_copy.py,sha256=PcOeNUb0B4-HehTAAnBpjyT4uLLTR6VQOarY0SFA9wk,2912
|
199
|
-
meerschaum/core/Pipe/_data.py,sha256=
|
199
|
+
meerschaum/core/Pipe/_data.py,sha256=7V3TsdCqwA83ytPV4CeU17A6Vq4J-5V9DPH47MFhIHc,23494
|
200
200
|
meerschaum/core/Pipe/_deduplicate.py,sha256=ZiuYZBb6d8tUkgHp6Nj8Xle20u4sjxqW45Rk2N-up54,10191
|
201
201
|
meerschaum/core/Pipe/_delete.py,sha256=1geNp9BgrocXP1gt76dMbnlJWKYFMuSNqPFA4K4-hXE,2118
|
202
202
|
meerschaum/core/Pipe/_drop.py,sha256=gIKdHWm0RsIgC2nu768MtFnPbCXyiJjNxaiT1obyuIo,1036
|
203
|
-
meerschaum/core/Pipe/_dtypes.py,sha256=
|
203
|
+
meerschaum/core/Pipe/_dtypes.py,sha256=8cp1TwmhXjLvQ1OpgKNdpIP9af0OxkfqiphXNuCNvRQ,3818
|
204
204
|
meerschaum/core/Pipe/_edit.py,sha256=HrKWe9vhqKaNOjOcJzW5BNbaUBPIbgNAhJEK8OMsy7c,8416
|
205
|
-
meerschaum/core/Pipe/_fetch.py,sha256=
|
205
|
+
meerschaum/core/Pipe/_fetch.py,sha256=ejvqXIgRT22x6wN8-UXk1WBwHHmUafjDNLx1ufQxd-A,5422
|
206
206
|
meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2UbvA,2240
|
207
207
|
meerschaum/core/Pipe/_show.py,sha256=nG50y8eBT9TVuKkRgAKtNDNIxysJvMNxfu__lkL1F9k,1352
|
208
|
-
meerschaum/core/Pipe/_sync.py,sha256=
|
209
|
-
meerschaum/core/Pipe/_verify.py,sha256=
|
208
|
+
meerschaum/core/Pipe/_sync.py,sha256=qob_C8kPsus2k6As34necPyqECVqfQGGrrfa-DcSHhE,33497
|
209
|
+
meerschaum/core/Pipe/_verify.py,sha256=WSwm1USy20dZfATK4Dn98eSI4y3-ETbOSlVjGxFaC0I,14207
|
210
210
|
meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_uSJJDc,137
|
211
211
|
meerschaum/core/User/_User.py,sha256=JZ9Y1tsjZe-cgD24m9YfZ6ZwSOKn_sHc4rbQ7KblBz8,6592
|
212
212
|
meerschaum/core/User/__init__.py,sha256=lJ7beIZTG9sO4dAi3367fFBl17dXYEWHKi7HoaPlDyk,193
|
@@ -219,16 +219,16 @@ 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=ZqSsTMb0PRvV_7c6YuV7Vde6t-VBO03MJ-Vw--oi7zA,42897
|
223
223
|
meerschaum/utils/debug.py,sha256=GyIzJmunkoPnOcZNYVQdT4Sgd-aOb5MI2VbIgATOjIQ,3695
|
224
224
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
225
|
-
meerschaum/utils/misc.py,sha256=
|
225
|
+
meerschaum/utils/misc.py,sha256=mkiwoffLCElVKC0KxNP7bP52Gp6i1crf_bFT2qsfCFs,47125
|
226
226
|
meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRUc,1006
|
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=
|
231
|
-
meerschaum/utils/sql.py,sha256=
|
230
|
+
meerschaum/utils/schedule.py,sha256=9BQGEzDbInLAU1aFO-FvL3wKu9XCTUpS0V_aQID6xzc,11228
|
231
|
+
meerschaum/utils/sql.py,sha256=pVcS05-v-a5djf6vRBLfOHXFeYjQxnoxzCMKTiSyvPQ,55325
|
232
232
|
meerschaum/utils/threading.py,sha256=3N8JXPAnwqJiSjuQcbbJg3Rv9-CCUMJpeQRfKFR7MaA,2489
|
233
233
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
234
234
|
meerschaum/utils/warnings.py,sha256=n-phr3BftNNgyPnvnXC_VMSjtCvjiCZ-ewmVfcROhkc,6611
|
@@ -239,23 +239,23 @@ meerschaum/utils/daemon/RotatingFile.py,sha256=ePm_svjwyFDWh6V1k-bp1RHXCSWlyxDtl
|
|
239
239
|
meerschaum/utils/daemon/StdinFile.py,sha256=J6tyUReM8NEp3bBQAxMfe8mjJG5mWi6CzHN4x86VQBI,3237
|
240
240
|
meerschaum/utils/daemon/__init__.py,sha256=o9jWb4lRTIyny4EPt7fPXFgV_vIf1mUofsTwoE1ZecA,8751
|
241
241
|
meerschaum/utils/daemon/_names.py,sha256=d2ZwTxBoTAqXZkCfZ5LuX2XrkQmLNUq1OTlUqfoH5dA,4515
|
242
|
-
meerschaum/utils/dtypes/__init__.py,sha256=
|
243
|
-
meerschaum/utils/dtypes/sql.py,sha256=
|
242
|
+
meerschaum/utils/dtypes/__init__.py,sha256=3O6dFxPHOPlSJPFFOQxDWD9Ma0f_0YwiMdQ6xoNHYuk,7595
|
243
|
+
meerschaum/utils/dtypes/sql.py,sha256=IHKxOzj8CNgOwkSalSW3jqO0vj-sfiyYToFdbjYWGhA,17703
|
244
244
|
meerschaum/utils/formatting/__init__.py,sha256=GpJQWeqkdWw5IuDmW4Rgmapjzv-KkI4jhBZllJi4QIg,15999
|
245
245
|
meerschaum/utils/formatting/_jobs.py,sha256=izsqPJhTtUkXUUtWnbXtReYsUYwulXtci3pBj72Ne64,6637
|
246
246
|
meerschaum/utils/formatting/_pipes.py,sha256=840O5rg2aHhQoraCDOh2ZtBo43_W2W6R60yYufEoXp8,19494
|
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.
|
255
|
-
meerschaum-2.
|
256
|
-
meerschaum-2.
|
257
|
-
meerschaum-2.
|
258
|
-
meerschaum-2.
|
259
|
-
meerschaum-2.
|
260
|
-
meerschaum-2.
|
261
|
-
meerschaum-2.
|
254
|
+
meerschaum-2.6.0.dev1.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
255
|
+
meerschaum-2.6.0.dev1.dist-info/METADATA,sha256=4iC18RDqwzD2qj0V2RZ1FDfulCve5rHawxA5JW6zpbQ,24709
|
256
|
+
meerschaum-2.6.0.dev1.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
257
|
+
meerschaum-2.6.0.dev1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
258
|
+
meerschaum-2.6.0.dev1.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
259
|
+
meerschaum-2.6.0.dev1.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
260
|
+
meerschaum-2.6.0.dev1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
261
|
+
meerschaum-2.6.0.dev1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|