meerschaum 2.6.15__py3-none-any.whl → 2.6.17__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/_parse_arguments.py +1 -1
- meerschaum/actions/edit.py +22 -2
- meerschaum/actions/sync.py +2 -3
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/sql/_create_engine.py +3 -3
- meerschaum/connectors/sql/_pipes.py +21 -13
- meerschaum/core/Pipe/_attributes.py +8 -5
- meerschaum/jobs/_Job.py +2 -1
- meerschaum/utils/daemon/Daemon.py +2 -2
- meerschaum/utils/packages/_packages.py +1 -1
- meerschaum/utils/schedule.py +8 -3
- meerschaum/utils/sql.py +6 -25
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/METADATA +2 -2
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/RECORD +20 -20
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/LICENSE +0 -0
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/NOTICE +0 -0
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/WHEEL +0 -0
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/top_level.txt +0 -0
- {meerschaum-2.6.15.dist-info → meerschaum-2.6.17.dist-info}/zip-safe +0 -0
meerschaum/actions/edit.py
CHANGED
@@ -397,6 +397,7 @@ def _edit_jobs(
|
|
397
397
|
from meerschaum._internal.arguments import (
|
398
398
|
split_pipeline_sysargs,
|
399
399
|
split_chained_sysargs,
|
400
|
+
parse_arguments,
|
400
401
|
)
|
401
402
|
from meerschaum.utils.formatting import make_header, print_options
|
402
403
|
from meerschaum.utils.warnings import info
|
@@ -410,7 +411,26 @@ def _edit_jobs(
|
|
410
411
|
|
411
412
|
num_edited = 0
|
412
413
|
for name, job in jobs.items():
|
413
|
-
|
414
|
+
try:
|
415
|
+
sub_args_line = None
|
416
|
+
pipeline_args_line = None
|
417
|
+
if job.sysargs[:2] == ['start', 'pipeline']:
|
418
|
+
job_args = parse_arguments(job.sysargs)
|
419
|
+
mrsm.pprint(job_args)
|
420
|
+
sub_args_line = job_args['params']['sub_args_line']
|
421
|
+
params_index = job.sysargs[2:].index('-P')
|
422
|
+
indices_to_skip = (params_index, params_index + 1)
|
423
|
+
pipeline_args_line = shlex.join(
|
424
|
+
[a for i, a in enumerate(job.sysargs[2:]) if i not in indices_to_skip]
|
425
|
+
)
|
426
|
+
except (ValueError, IndexError):
|
427
|
+
sub_args_line = None
|
428
|
+
|
429
|
+
sysargs_str = (
|
430
|
+
f"{sub_args_line} : {pipeline_args_line}"
|
431
|
+
if sub_args_line is not None and pipeline_args_line is not None
|
432
|
+
else shlex.join(job.sysargs)
|
433
|
+
)
|
414
434
|
clear_screen(debug=debug)
|
415
435
|
info(
|
416
436
|
f"Editing arguments for job '{name}'.\n"
|
@@ -422,7 +442,7 @@ def _edit_jobs(
|
|
422
442
|
try:
|
423
443
|
new_sysargs_str = prompt(
|
424
444
|
"",
|
425
|
-
default_editable=
|
445
|
+
default_editable=job.label,
|
426
446
|
multiline=True,
|
427
447
|
icon=False,
|
428
448
|
completer=ShellCompleter(),
|
meerschaum/actions/sync.py
CHANGED
@@ -282,9 +282,8 @@ def _sync_pipes(
|
|
282
282
|
from meerschaum.utils.formatting import print_pipes_results
|
283
283
|
from meerschaum.config.static import STATIC_CONFIG
|
284
284
|
|
285
|
-
### NOTE: Removed MRSM_NONINTERACTIVE check.
|
286
285
|
noninteractive_val = os.environ.get(STATIC_CONFIG['environment']['noninteractive'], None)
|
287
|
-
|
286
|
+
noninteractive = str(noninteractive_val).lower() in ('1', 'true', 'yes')
|
288
287
|
|
289
288
|
run = True
|
290
289
|
msg = ""
|
@@ -292,7 +291,7 @@ def _sync_pipes(
|
|
292
291
|
cooldown = 2 * (min_seconds + 1)
|
293
292
|
success_pipes, failure_pipes = [], []
|
294
293
|
while run:
|
295
|
-
_progress = progress() if shell else None
|
294
|
+
_progress = progress() if shell and not noninteractive else None
|
296
295
|
cm = _progress if _progress is not None else contextlib.nullcontext()
|
297
296
|
|
298
297
|
lap_begin = time.perf_counter()
|
meerschaum/config/_version.py
CHANGED
@@ -107,7 +107,7 @@ flavor_configs = {
|
|
107
107
|
},
|
108
108
|
},
|
109
109
|
'oracle': {
|
110
|
-
'engine': 'oracle+
|
110
|
+
'engine': 'oracle+oracledb',
|
111
111
|
'create_engine': default_create_engine_args,
|
112
112
|
'omit_create_engine': {'method',},
|
113
113
|
'to_sql': {
|
@@ -164,7 +164,7 @@ install_flavor_drivers = {
|
|
164
164
|
'citus': ['psycopg'],
|
165
165
|
'cockroachdb': ['psycopg', 'sqlalchemy_cockroachdb', 'sqlalchemy_cockroachdb.psycopg'],
|
166
166
|
'mssql': ['pyodbc'],
|
167
|
-
'oracle': ['
|
167
|
+
'oracle': ['oracledb'],
|
168
168
|
}
|
169
169
|
require_patching_flavors = {'cockroachdb': [('sqlalchemy-cockroachdb', 'sqlalchemy_cockroachdb')]}
|
170
170
|
|
@@ -239,7 +239,7 @@ def create_engine(
|
|
239
239
|
self._sys_config['create_engine'] = {}
|
240
240
|
if 'connect_args' not in self._sys_config['create_engine']:
|
241
241
|
self._sys_config['create_engine']['connect_args'] = {}
|
242
|
-
self._sys_config['create_engine']['connect_args'].update({"check_same_thread"
|
242
|
+
self._sys_config['create_engine']['connect_args'].update({"check_same_thread": False})
|
243
243
|
else:
|
244
244
|
engine_str = (
|
245
245
|
_engine + "://" + (_username if _username is not None else '') +
|
@@ -1589,17 +1589,23 @@ def sync_pipe(
|
|
1589
1589
|
if not edit_success:
|
1590
1590
|
return edit_success, edit_msg
|
1591
1591
|
|
1592
|
-
|
1592
|
+
def _check_pk(_df_to_clear):
|
1593
|
+
if _df_to_clear is None:
|
1594
|
+
return
|
1595
|
+
if primary_key not in _df_to_clear.columns:
|
1596
|
+
return
|
1597
|
+
if not _df_to_clear[primary_key].notnull().any():
|
1598
|
+
del _df_to_clear[primary_key]
|
1599
|
+
|
1600
|
+
autoincrement_needs_reset = bool(
|
1601
|
+
autoincrement
|
1602
|
+
and primary_key
|
1603
|
+
and primary_key in unseen_df.columns
|
1604
|
+
and unseen_df[primary_key].notnull().any()
|
1605
|
+
)
|
1593
1606
|
if autoincrement and primary_key:
|
1594
|
-
|
1595
|
-
|
1596
|
-
del unseen_df[primary_key]
|
1597
|
-
if update_df is not None and primary_key in update_df.columns:
|
1598
|
-
del update_df[primary_key]
|
1599
|
-
if delta_df is not None and primary_key in delta_df.columns:
|
1600
|
-
del delta_df[primary_key]
|
1601
|
-
elif unseen_df[primary_key].notnull().any():
|
1602
|
-
autoincrement_needs_reset = True
|
1607
|
+
for _df_to_clear in (unseen_df, update_df, delta_df):
|
1608
|
+
_check_pk(_df_to_clear)
|
1603
1609
|
|
1604
1610
|
if is_new:
|
1605
1611
|
create_success, create_msg = self.create_pipe_table_from_df(
|
@@ -1612,6 +1618,7 @@ def sync_pipe(
|
|
1612
1618
|
|
1613
1619
|
do_identity_insert = bool(
|
1614
1620
|
self.flavor in ('mssql',)
|
1621
|
+
and primary_key
|
1615
1622
|
and primary_key in unseen_df.columns
|
1616
1623
|
and autoincrement
|
1617
1624
|
)
|
@@ -2591,7 +2598,7 @@ def get_pipe_rowcount(
|
|
2591
2598
|
result = self.value(query, debug=debug, silent=True)
|
2592
2599
|
try:
|
2593
2600
|
return int(result)
|
2594
|
-
except Exception
|
2601
|
+
except Exception:
|
2595
2602
|
return None
|
2596
2603
|
|
2597
2604
|
|
@@ -2616,10 +2623,11 @@ def drop_pipe(
|
|
2616
2623
|
from meerschaum.utils.sql import table_exists, sql_item_name, DROP_IF_EXISTS_FLAVORS
|
2617
2624
|
success = True
|
2618
2625
|
target = pipe.target
|
2626
|
+
schema = self.get_pipe_schema(pipe)
|
2619
2627
|
target_name = (
|
2620
|
-
sql_item_name(target, self.flavor,
|
2628
|
+
sql_item_name(target, self.flavor, schema)
|
2621
2629
|
)
|
2622
|
-
if table_exists(target, self, debug=debug):
|
2630
|
+
if table_exists(target, self, schema=schema, debug=debug):
|
2623
2631
|
if_exists_str = "IF EXISTS" if self.flavor in DROP_IF_EXISTS_FLAVORS else ""
|
2624
2632
|
success = self.exec(
|
2625
2633
|
f"DROP TABLE {if_exists_str} {target_name}", silent=True, debug=debug
|
@@ -627,11 +627,14 @@ def target(self) -> str:
|
|
627
627
|
from meerschaum.utils.sql import truncate_item_name
|
628
628
|
truncated_target = truncate_item_name(_target, self.instance_connector.flavor)
|
629
629
|
default_targets.add(truncated_target)
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
630
|
+
warned_target = self.__dict__.get('_warned_target', False)
|
631
|
+
if truncated_target != _target and not warned_target:
|
632
|
+
if not warned_target:
|
633
|
+
warn(
|
634
|
+
f"The target '{_target}' is too long for '{self.instance_connector.flavor}', "
|
635
|
+
+ f"will use {truncated_target} instead."
|
636
|
+
)
|
637
|
+
self.__dict__['_warned_target'] = True
|
635
638
|
_target = truncated_target
|
636
639
|
|
637
640
|
if _target in default_targets:
|
meerschaum/jobs/_Job.py
CHANGED
@@ -873,7 +873,7 @@ class Job:
|
|
873
873
|
"""
|
874
874
|
from meerschaum._internal.arguments import compress_pipeline_sysargs
|
875
875
|
sysargs = compress_pipeline_sysargs(self.sysargs)
|
876
|
-
return shlex.join(sysargs).replace(' + ', '\n+ ')
|
876
|
+
return shlex.join(sysargs).replace(' + ', '\n+ ').replace(' : ', '\n: ').lstrip().rstrip()
|
877
877
|
|
878
878
|
@property
|
879
879
|
def _externally_managed_file(self) -> pathlib.Path:
|
@@ -915,6 +915,7 @@ class Job:
|
|
915
915
|
'PYTHONUNBUFFERED': '1',
|
916
916
|
'LINES': str(get_config('jobs', 'terminal', 'lines')),
|
917
917
|
'COLUMNS': str(get_config('jobs', 'terminal', 'columns')),
|
918
|
+
STATIC_CONFIG['environment']['noninteractive']: 'true',
|
918
919
|
}
|
919
920
|
self._env = {**default_env, **_env}
|
920
921
|
return self._env
|
@@ -432,7 +432,7 @@ class Daemon:
|
|
432
432
|
+ "allow_dirty_run=True)"
|
433
433
|
)
|
434
434
|
env = dict(os.environ)
|
435
|
-
env['
|
435
|
+
env[STATIC_CONFIG['environment']['noninteractive']] = 'true'
|
436
436
|
_launch_success_bool = venv_exec(_launch_daemon_code, debug=debug, venv=None, env=env)
|
437
437
|
msg = (
|
438
438
|
"Success"
|
@@ -1000,7 +1000,7 @@ class Daemon:
|
|
1000
1000
|
try:
|
1001
1001
|
with open(self.properties_path, 'r', encoding='utf-8') as file:
|
1002
1002
|
properties = json.load(file)
|
1003
|
-
except Exception
|
1003
|
+
except Exception:
|
1004
1004
|
properties = {}
|
1005
1005
|
|
1006
1006
|
return properties
|
meerschaum/utils/schedule.py
CHANGED
@@ -132,7 +132,7 @@ def schedule_function(
|
|
132
132
|
|
133
133
|
try:
|
134
134
|
loop.run_until_complete(run_scheduler())
|
135
|
-
except (KeyboardInterrupt, SystemExit)
|
135
|
+
except (KeyboardInterrupt, SystemExit):
|
136
136
|
loop.run_until_complete(_stop_scheduler())
|
137
137
|
|
138
138
|
return True, "Success"
|
@@ -159,13 +159,13 @@ def parse_schedule(schedule: str, now: Optional[datetime] = None):
|
|
159
159
|
)
|
160
160
|
|
161
161
|
starting_ts = parse_start_time(schedule, now=now)
|
162
|
-
schedule = schedule.split(STARTING_KEYWORD)[0].strip()
|
162
|
+
schedule = schedule.split(STARTING_KEYWORD, maxsplit=1)[0].strip()
|
163
163
|
for alias_keyword, true_keyword in SCHEDULE_ALIASES.items():
|
164
164
|
schedule = schedule.replace(alias_keyword, true_keyword)
|
165
165
|
|
166
166
|
### TODO Allow for combining `and` + `or` logic.
|
167
167
|
if '&' in schedule and '|' in schedule:
|
168
|
-
raise ValueError(
|
168
|
+
raise ValueError("Cannot accept both 'and' + 'or' logic in the schedule frequency.")
|
169
169
|
|
170
170
|
join_str = '|' if '|' in schedule else '&'
|
171
171
|
join_trigger = (
|
@@ -300,6 +300,11 @@ def parse_start_time(schedule: str, now: Optional[datetime] = None) -> datetime:
|
|
300
300
|
try:
|
301
301
|
if starting_str == 'now':
|
302
302
|
starting_ts = now
|
303
|
+
elif starting_str.startswith('in '):
|
304
|
+
delta_vals = starting_str.replace('in ', '').split(' ', maxsplit=1)
|
305
|
+
delta_unit = delta_vals[-1].rstrip('s') + 's'
|
306
|
+
delta_num = float(delta_vals[0])
|
307
|
+
starting_ts = now + timedelta(**{delta_unit: delta_num})
|
303
308
|
elif 'tomorrow' in starting_str or 'today' in starting_str:
|
304
309
|
today = round_time(now, timedelta(days=1))
|
305
310
|
tomorrow = today + timedelta(days=1)
|
meerschaum/utils/sql.py
CHANGED
@@ -425,20 +425,10 @@ reset_autoincrement_queries: Dict[str, Union[str, List[str]]] = {
|
|
425
425
|
SET seq = {val}
|
426
426
|
WHERE name = '{table}'
|
427
427
|
""",
|
428
|
-
'oracle':
|
429
|
-
""
|
430
|
-
|
431
|
-
|
432
|
-
current_val NUMBER;
|
433
|
-
BEGIN
|
434
|
-
SELECT {table_seq_name}.NEXTVAL INTO current_val FROM dual;
|
435
|
-
|
436
|
-
WHILE current_val < max_id LOOP
|
437
|
-
SELECT {table_seq_name}.NEXTVAL INTO current_val FROM dual;
|
438
|
-
END LOOP;
|
439
|
-
END;
|
440
|
-
""",
|
441
|
-
],
|
428
|
+
'oracle': (
|
429
|
+
"ALTER TABLE {table_name} MODIFY {column_name} "
|
430
|
+
"GENERATED BY DEFAULT ON NULL AS IDENTITY (START WITH {val_plus_1})"
|
431
|
+
),
|
442
432
|
}
|
443
433
|
table_wrappers = {
|
444
434
|
'default' : ('"', '"'),
|
@@ -2225,18 +2215,8 @@ def get_reset_autoincrement_queries(
|
|
2225
2215
|
schema = schema or connector.schema
|
2226
2216
|
max_id_name = sql_item_name('max_id', connector.flavor)
|
2227
2217
|
table_name = sql_item_name(table, connector.flavor, schema)
|
2228
|
-
table_trunc = truncate_item_name(table, connector.flavor)
|
2229
2218
|
table_seq_name = sql_item_name(table + '_' + column + '_seq', connector.flavor, schema)
|
2230
2219
|
column_name = sql_item_name(column, connector.flavor)
|
2231
|
-
if connector.flavor == 'oracle':
|
2232
|
-
df = connector.read(f"""
|
2233
|
-
SELECT SEQUENCE_NAME
|
2234
|
-
FROM ALL_TAB_IDENTITY_COLS
|
2235
|
-
WHERE TABLE_NAME IN '{table_trunc.upper()}'
|
2236
|
-
""", debug=debug)
|
2237
|
-
if len(df) > 0:
|
2238
|
-
table_seq_name = df['sequence_name'][0]
|
2239
|
-
|
2240
2220
|
max_id = connector.value(
|
2241
2221
|
f"""
|
2242
2222
|
SELECT COALESCE(MAX({column_name}), 0) AS {max_id_name}
|
@@ -2261,7 +2241,8 @@ def get_reset_autoincrement_queries(
|
|
2261
2241
|
table=table,
|
2262
2242
|
table_name=table_name,
|
2263
2243
|
table_seq_name=table_seq_name,
|
2264
|
-
val=
|
2244
|
+
val=max_id,
|
2245
|
+
val_plus_1=(max_id + 1),
|
2265
2246
|
)
|
2266
2247
|
for query in reset_queries
|
2267
2248
|
]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.6.
|
3
|
+
Version: 2.6.17
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -80,7 +80,7 @@ Requires-Dist: duckdb>=1.0.0; extra == "drivers"
|
|
80
80
|
Requires-Dist: duckdb-engine>=0.13.0; extra == "drivers"
|
81
81
|
Provides-Extra: drivers-extras
|
82
82
|
Requires-Dist: pyodbc>=4.0.30; extra == "drivers-extras"
|
83
|
-
Requires-Dist:
|
83
|
+
Requires-Dist: oracledb>=2.5.0; extra == "drivers-extras"
|
84
84
|
Provides-Extra: cli
|
85
85
|
Requires-Dist: pgcli>=3.1.0; extra == "cli"
|
86
86
|
Requires-Dist: mycli>=1.23.2; extra == "cli"
|
@@ -3,7 +3,7 @@ meerschaum/__main__.py,sha256=r5UjYxH1WA6dGG9YGBPul5xOdgF3Iwl0X4dWDtXU-30,2646
|
|
3
3
|
meerschaum/_internal/__init__.py,sha256=ilC7utfKtin7GAvuN34fKyUQYfPyqH0Mm3MJF5iyEf4,169
|
4
4
|
meerschaum/_internal/entry.py,sha256=Y1m2ar3TWBo_XntPL1P9ehUpjEAfXp2ZGZ-V6r5fXWQ,12438
|
5
5
|
meerschaum/_internal/arguments/__init__.py,sha256=_nSKKVLXNsJeSv-buxEZsx8_c0BAbkhRyE4nT6Bv6q0,541
|
6
|
-
meerschaum/_internal/arguments/_parse_arguments.py,sha256
|
6
|
+
meerschaum/_internal/arguments/_parse_arguments.py,sha256=-_77CEJhgU0UgO7oTX7qThcZ4p0jJujt69dYTmN5XWQ,16335
|
7
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=ZkqXj-GhoLEpgMysy4ugvOlFhWVlnq7tFvzMhy43jUQ,24670
|
@@ -30,7 +30,7 @@ meerschaum/actions/copy.py,sha256=NHoC9cHJGgoox8L8B0afbu8lAxEh_MKa_pNeVunZsl0,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=SN-SnfFkhX0-pymAEofi9NDnq4hhia6gkKqr-zTn4I8,16222
|
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
|
@@ -46,7 +46,7 @@ meerschaum/actions/sql.py,sha256=vAsxbSl-Hkw3wfrM1BLnKex_kJrZwIJICAXysprQGWM,422
|
|
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
|
49
|
-
meerschaum/actions/sync.py,sha256=
|
49
|
+
meerschaum/actions/sync.py,sha256=QGhf0ZyrNaplPL6TkwHO9VQLEu_Gemmid93vdaovXoo,17153
|
50
50
|
meerschaum/actions/tag.py,sha256=SJf5qFW0ccLXjqlTdkK_0MCcrCMdg6xhYrhKdco0hdA,3053
|
51
51
|
meerschaum/actions/uninstall.py,sha256=tBXhdXggSieGEQe4EPGxpgMK0MZTJCweNvAJ9-59El0,5776
|
52
52
|
meerschaum/actions/upgrade.py,sha256=AjuC93Te-I_GWwIfuNkFJ2q1zVHDQ2Oco34S4JgK2iA,6485
|
@@ -143,7 +143,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
143
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=3MP2d3uOgIHFHI0NYBWcJdnYXKK4IJH4iwN3UKqHZt4,72
|
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=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
|
@@ -173,10 +173,10 @@ meerschaum/connectors/plugin/__init__.py,sha256=pwF7TGY4WNz2_HaVdmK4rPQ9ZwTOEuPH
|
|
173
173
|
meerschaum/connectors/sql/_SQLConnector.py,sha256=g9SFK30CZp7CTJI-SdpOanL1NQUBFQeUng7FSGacJA4,11985
|
174
174
|
meerschaum/connectors/sql/__init__.py,sha256=3cqYiDkVasn7zWdtOTAZbT4bo95AuvGOmDD2TkaAxtw,205
|
175
175
|
meerschaum/connectors/sql/_cli.py,sha256=1SgnWeMIAihoxp4FzbNrcq1npXf0dSOQnCntpU9hUXA,4405
|
176
|
-
meerschaum/connectors/sql/_create_engine.py,sha256=
|
176
|
+
meerschaum/connectors/sql/_create_engine.py,sha256=uFpDeTu9v1Duw6EZ8opeOIU5Z9aPgWAbaequV7vbLW0,10449
|
177
177
|
meerschaum/connectors/sql/_fetch.py,sha256=UIBAvMxassP-ofNxk_FoG-ukHzEac4jyu4lA0SXHcBg,13140
|
178
178
|
meerschaum/connectors/sql/_instance.py,sha256=3KJI3ImwWAJkUfdZIrSL24pcW6Nic8wo5IUeGth9HP4,6459
|
179
|
-
meerschaum/connectors/sql/_pipes.py,sha256=
|
179
|
+
meerschaum/connectors/sql/_pipes.py,sha256=7SrkUAImbDMl7sy9Ciy0OHU_kQEU5tgxIDZn0ak5pQU,117235
|
180
180
|
meerschaum/connectors/sql/_plugins.py,sha256=wbxcNxqTtjfDsxPvdVGTllasYf6NHHzODaQ72hEUSBQ,8135
|
181
181
|
meerschaum/connectors/sql/_sql.py,sha256=vdSslLKm8ftzIzfCs-0mL3q9zY2pmhZPTpzXSbKROag,37598
|
182
182
|
meerschaum/connectors/sql/_uri.py,sha256=0BrhQtqQdzg9mR04gWBZINs_BbPFtSlTECXT_TCUwik,3460
|
@@ -192,7 +192,7 @@ meerschaum/connectors/valkey/_plugins.py,sha256=ZqiEW4XZCOpw4G8DUK2IKY6Qrph4mYfT
|
|
192
192
|
meerschaum/connectors/valkey/_users.py,sha256=AS1vLarrkDA9yPK644GWwRiQiTZVa9x3nlLpyntq40g,7730
|
193
193
|
meerschaum/core/__init__.py,sha256=tjASW10n9uLV6bYhcwP4rggh-ESXSJzgxpSBbVsuISs,251
|
194
194
|
meerschaum/core/Pipe/__init__.py,sha256=knkz0gVpIrHb8au2b_YxvnSC9eXMgPKr5b7TxVQE9O0,18529
|
195
|
-
meerschaum/core/Pipe/_attributes.py,sha256=
|
195
|
+
meerschaum/core/Pipe/_attributes.py,sha256=cFQPWthsdlEjdddOjkXHuCIMBI9UHJRSqSoY2ChhvLg,21893
|
196
196
|
meerschaum/core/Pipe/_bootstrap.py,sha256=gTNGh5e2LmTMrgIpHqrVaL60uPKWCphhsuz8j-lJ2HI,7348
|
197
197
|
meerschaum/core/Pipe/_clear.py,sha256=LghXabgyyc1tD7FNQrh9ExT71ipcg2poM9FDA3k9e4M,2230
|
198
198
|
meerschaum/core/Pipe/_copy.py,sha256=YDclAapf_spm9phpFr4-CALyYyw7nUsyKyiaLM1cnm4,2965
|
@@ -211,7 +211,7 @@ meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_u
|
|
211
211
|
meerschaum/core/User/_User.py,sha256=qbI0GIkr3G0PI4d9S49uatbJQ2kH_-z5-GoVJ0fuEtA,6624
|
212
212
|
meerschaum/core/User/__init__.py,sha256=9qNy-Gobui4x6GiaE8U7-WOggsdniOM3_wegLN3SVKs,988
|
213
213
|
meerschaum/jobs/_Executor.py,sha256=qM62BhFTM4tyJ7p90KOM0y3qyeRY9k3ZV_aTDJMHnO8,1682
|
214
|
-
meerschaum/jobs/_Job.py,sha256=
|
214
|
+
meerschaum/jobs/_Job.py,sha256=BQlgjF2jKhdSqp0_yH2woX4YOPf4bODC4D1abobbn64,32093
|
215
215
|
meerschaum/jobs/__init__.py,sha256=q0f_2zWw91sAyafP50IgMM06abe-BIYSR_SCWmI4W3E,12177
|
216
216
|
meerschaum/jobs/systemd.py,sha256=Rq-tsDPslG17ZhpKMrVJ5r8Z0IPr6DEc9APObfIoXCg,24614
|
217
217
|
meerschaum/plugins/_Plugin.py,sha256=rTiGNQ9nIQeVSG_P9C6DHCMLW0K-J7zzuu3FjNXUOlE,34056
|
@@ -227,13 +227,13 @@ 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=SOpAvHcVFuk7-J4cqK_LkahWo6oJmLobeHg5fwM_9aY,18949
|
230
|
-
meerschaum/utils/schedule.py,sha256=
|
231
|
-
meerschaum/utils/sql.py,sha256=
|
230
|
+
meerschaum/utils/schedule.py,sha256=bUsaCO9CGn2vJO5UvoISScHDDGIiMdCPHxpTFmu7vwE,11531
|
231
|
+
meerschaum/utils/sql.py,sha256=RiAOK3hzWjo-jswEjpOPHIJKKQezJzh_vbnoXtwz4gU,71619
|
232
232
|
meerschaum/utils/threading.py,sha256=awjbVL_QR6G-o_9Qk85utac9cSdqkiC8tQSdERCdrG8,2814
|
233
233
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
234
234
|
meerschaum/utils/warnings.py,sha256=n-phr3BftNNgyPnvnXC_VMSjtCvjiCZ-ewmVfcROhkc,6611
|
235
235
|
meerschaum/utils/yaml.py,sha256=PoC1du0pn2hLwTHwL-zuOf_EBWZSbCGOz-P-AZ4BWN0,3901
|
236
|
-
meerschaum/utils/daemon/Daemon.py,sha256=
|
236
|
+
meerschaum/utils/daemon/Daemon.py,sha256=n6HlLwXPr4oc_DyRQWfyrvtFQb4KecUSxiz8bf9X4js,42424
|
237
237
|
meerschaum/utils/daemon/FileDescriptorInterceptor.py,sha256=MJKMO0Syf3d8yWUs6xXcQzg8Ptsuvh2aCRRoglOjusA,5257
|
238
238
|
meerschaum/utils/daemon/RotatingFile.py,sha256=ePm_svjwyFDWh6V1k-bp1RHXCSWlyxDtlFu4SU4XvPU,24369
|
239
239
|
meerschaum/utils/daemon/StdinFile.py,sha256=J6tyUReM8NEp3bBQAxMfe8mjJG5mWi6CzHN4x86VQBI,3237
|
@@ -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=Op93VJkAX3OL4H-js_p3dAaa_PT82jvjCna27aHOsUk,64199
|
250
|
-
meerschaum/utils/packages/_packages.py,sha256=
|
250
|
+
meerschaum/utils/packages/_packages.py,sha256=ykannoLv2Fm4iwZwiIlNAGZvt654cMJhjXr1VJPoEDo,8867
|
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.6.
|
255
|
-
meerschaum-2.6.
|
256
|
-
meerschaum-2.6.
|
257
|
-
meerschaum-2.6.
|
258
|
-
meerschaum-2.6.
|
259
|
-
meerschaum-2.6.
|
260
|
-
meerschaum-2.6.
|
261
|
-
meerschaum-2.6.
|
254
|
+
meerschaum-2.6.17.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
255
|
+
meerschaum-2.6.17.dist-info/METADATA,sha256=D8iWjbBsvLjjMpwhvtHsXFC2PTIIIqhCDxkmfAytGBg,24225
|
256
|
+
meerschaum-2.6.17.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
257
|
+
meerschaum-2.6.17.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
258
|
+
meerschaum-2.6.17.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
259
|
+
meerschaum-2.6.17.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
260
|
+
meerschaum-2.6.17.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
261
|
+
meerschaum-2.6.17.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|