meerschaum 2.2.0rc3__py3-none-any.whl → 2.2.0rc4__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.
@@ -589,8 +589,8 @@ def _show_logs(
589
589
  if not ANSI:
590
590
  info = print
591
591
  colors = get_config('jobs', 'logs', 'colors')
592
- timestamp_format = get_config('jobs', 'logs', 'timestamp_format')
593
- follow_timestamp_format = get_config('jobs', 'logs', 'follow_timestamp_format')
592
+ timestamp_format = get_config('jobs', 'logs', 'timestamps', 'format')
593
+ follow_timestamp_format = get_config('jobs', 'logs', 'timestamps', 'follow_format')
594
594
  daemons = get_filtered_daemons(action)
595
595
  now = datetime.now(timezone.utc)
596
596
  now_str = now.strftime(timestamp_format)
@@ -46,14 +46,19 @@ endpoints = STATIC_CONFIG['api']['endpoints']
46
46
  lazy = False,
47
47
  check_update = CHECK_UPDATE,
48
48
  )
49
- typing_extensions = attempt_import(
50
- 'typing_extensions', lazy=False, check_update=CHECK_UPDATE,
49
+ (
50
+ typing_extensions,
51
+ uvicorn_workers,
52
+ ) = attempt_import(
53
+ 'typing_extensions',
54
+ 'uvicorn.workers',
55
+ lazy = False,
56
+ check_update = CHECK_UPDATE,
51
57
  venv = None,
52
58
  )
53
59
  from meerschaum.api._chain import check_allow_chaining, DISALLOW_CHAINING_MESSAGE
54
60
  uvicorn_config_path = API_UVICORN_RESOURCES_PATH / SERVER_ID / 'config.json'
55
61
 
56
- uvicorn_workers = attempt_import('uvicorn.workers', venv=None, check_update=CHECK_UPDATE)
57
62
  uvicorn_config = None
58
63
  sys_config = get_config('system', 'api')
59
64
  permissions_config = get_config('system', 'api', 'permissions')
meerschaum/api/_oauth2.py CHANGED
@@ -7,11 +7,11 @@ Define JWT authorization here.
7
7
  """
8
8
 
9
9
  import os
10
- from meerschaum.api import app, endpoints
10
+ from meerschaum.api import app, endpoints, CHECK_UPDATE
11
11
  from meerschaum.utils.packages import attempt_import
12
- fastapi = attempt_import('fastapi', lazy=False)
13
- fastapi_responses = attempt_import('fastapi.responses', lazy=False)
14
- fastapi_login = attempt_import('fastapi_login')
12
+ fastapi = attempt_import('fastapi', lazy=False, check_update=CHECK_UPDATE)
13
+ fastapi_responses = attempt_import('fastapi.responses', lazy=False, check_update=CHECK_UPDATE)
14
+ fastapi_login = attempt_import('fastapi_login', check_update=CHECK_UPDATE)
15
15
 
16
16
  LoginManager = fastapi_login.LoginManager
17
17
  def generate_secret_key() -> str:
@@ -713,11 +713,11 @@ def download_pipe_csv(n_clicks):
713
713
  pipe = pipe_from_ctx(ctx, 'n_clicks')
714
714
  if pipe is None:
715
715
  raise PreventUpdate
716
- filename = str(pipe.target) + '.csv'
717
716
  bounds = pipe.get_chunk_bounds(bounded=True, debug=debug)
718
- begin, _ = bounds[-1]
717
+ begin, end = bounds[-1]
718
+ filename = str(pipe.target) + f" {begin} - {end}.csv"
719
719
  try:
720
- df = pipe.get_data(begin=begin, end=None, debug=debug)
720
+ df = pipe.get_data(begin=begin, end=end, debug=debug)
721
721
  except Exception as e:
722
722
  df = None
723
723
  if df is not None:
@@ -108,7 +108,7 @@ action_dropdown_row = html.Div(
108
108
  id = 'flags-dropdown',
109
109
  multi = True,
110
110
  placeholder = 'Boolean flags',
111
- options = [],
111
+ options = ['--yes'],
112
112
  value = ['--yes'],
113
113
  ),
114
114
  id = 'flags-dropdown-div',
@@ -11,12 +11,22 @@ from meerschaum.config import __doc__ as doc, get_config
11
11
  from meerschaum.utils.misc import get_connector_labels
12
12
  from meerschaum.utils.packages import attempt_import, import_html, import_dcc, import_pandas
13
13
  from meerschaum.api import endpoints, CHECK_UPDATE
14
- dex = attempt_import('dash_extensions', lazy=False, check_update=CHECK_UPDATE)
15
- dbc = attempt_import('dash_bootstrap_components', lazy=False, check_update=CHECK_UPDATE)
14
+ (
15
+ dex,
16
+ px,
17
+ daq,
18
+ dbc,
19
+ ) = attempt_import(
20
+ 'dash_extensions',
21
+ 'plotly.express',
22
+ 'dash_daq',
23
+ 'dash_bootstrap_components',
24
+ lazy = False,
25
+ warn = False,
26
+ check_update = CHECK_UPDATE,
27
+ )
16
28
  html, dcc = import_html(check_update=CHECK_UPDATE), import_dcc(check_update=CHECK_UPDATE)
17
29
  pd = import_pandas(check_update=CHECK_UPDATE)
18
- px = attempt_import('plotly.express', warn=False, check_update=CHECK_UPDATE)
19
- daq = attempt_import('dash_daq', warn=False, check_update=CHECK_UPDATE)
20
30
 
21
31
  from meerschaum.api.dash.components import (
22
32
  go_button,
@@ -14,13 +14,16 @@ default_jobs_config = {
14
14
  'columns': 70,
15
15
  },
16
16
  'logs': {
17
+ 'timestamps': {
18
+ 'enabled': True,
19
+ 'format': '%Y-%m-%d %H:%M',
20
+ 'follow_format': '%H:%M',
21
+ },
17
22
  'num_files_to_keep': 5,
18
23
  'max_file_size': 100_000,
19
24
  'lines_to_show': 30,
20
25
  'refresh_files_seconds': 5,
21
26
  'min_buffer_len': 5,
22
- 'timestamp_format': '%Y-%m-%d %H:%M',
23
- 'follow_timestamp_format': '%H:%M',
24
27
  'colors': [
25
28
  'cyan',
26
29
  'magenta',
@@ -2,4 +2,4 @@
2
2
  Specify the Meerschaum release version.
3
3
  """
4
4
 
5
- __version__ = "2.2.0rc3"
5
+ __version__ = "2.2.0rc4"
@@ -763,6 +763,7 @@ def get_pipe_data(
763
763
  if typ == 'numeric' and col in dtypes
764
764
  ]
765
765
  kw['coerce_float'] = kw.get('coerce_float', (len(numeric_columns) == 0))
766
+
766
767
  df = self.read(
767
768
  query,
768
769
  dtype = dtypes,
@@ -684,8 +684,8 @@ class Daemon:
684
684
  self._rotating_log = RotatingFile(
685
685
  self.log_path,
686
686
  redirect_streams = True,
687
- write_timestamps = True,
688
- timestamp_format = get_config('jobs', 'logs', 'timestamp_format'),
687
+ write_timestamps = get_config('jobs', 'logs', 'timestamps', 'enabled'),
688
+ timestamp_format = get_config('jobs', 'logs', 'timestamps', 'format'),
689
689
  )
690
690
  return self._rotating_log
691
691
 
@@ -699,7 +699,8 @@ class Daemon:
699
699
  self.rotating_log.file_path,
700
700
  num_files_to_keep = self.rotating_log.num_files_to_keep,
701
701
  max_file_size = self.rotating_log.max_file_size,
702
- write_timestamps = True,
702
+ write_timestamps = get_config('jobs', 'logs', 'timestamps', 'enabled'),
703
+ timestamp_format = get_config('jobs', 'logs', 'timestamps', 'format'),
703
704
  )
704
705
  return new_rotating_log.read()
705
706
 
@@ -272,7 +272,7 @@ class RotatingFile(io.IOBase):
272
272
  warn(
273
273
  f"Encountered an issue when redirecting streams:\n{traceback.format_exc()}"
274
274
  )
275
- if start_interception:
275
+ if start_interception and self.write_timestamps:
276
276
  self.start_log_fd_interception()
277
277
 
278
278
  create_new_file = (
@@ -363,7 +363,7 @@ class RotatingFile(io.IOBase):
363
363
  suffix_str = "\n" if self.write_timestamps else ""
364
364
  self.refresh_files(
365
365
  potential_new_len = len(prefix_str + data + suffix_str),
366
- start_interception = True,
366
+ start_interception = self.write_timestamps,
367
367
  )
368
368
  try:
369
369
  if prefix_str:
@@ -591,6 +591,9 @@ class RotatingFile(io.IOBase):
591
591
  """
592
592
  Start the file descriptor monitoring threads.
593
593
  """
594
+ if not self.write_timestamps:
595
+ return
596
+
594
597
  threads = self.__dict__.get('_interceptor_threads', [])
595
598
  self._stdout_interceptor = FileDescriptorInterceptor(
596
599
  sys.stdout.fileno(),
@@ -627,10 +630,13 @@ class RotatingFile(io.IOBase):
627
630
  ])
628
631
  self.stop_log_fd_interception(unused_only=True)
629
632
 
633
+
630
634
  def stop_log_fd_interception(self, unused_only: bool = False):
631
635
  """
632
636
  Stop the file descriptor monitoring threads.
633
637
  """
638
+ if not self.write_timestamps:
639
+ return
634
640
  interceptors = self.__dict__.get('_interceptors', [])
635
641
  interceptor_threads = self.__dict__.get('_interceptor_threads', [])
636
642
 
@@ -30,7 +30,7 @@ packages: Dict[str, Dict[str, str]] = {
30
30
  'more_termcolor' : 'more-termcolor>=1.1.3',
31
31
  'humanfriendly' : 'humanfriendly>=10.0.0',
32
32
  },
33
- '_required': {
33
+ 'core': {
34
34
  'wheel' : 'wheel>=0.34.2',
35
35
  'setuptools' : 'setuptools>=63.3.0',
36
36
  'yaml' : 'PyYAML>=5.3.1',
@@ -60,10 +60,10 @@ packages: Dict[str, Dict[str, str]] = {
60
60
  'pymysql' : 'PyMySQL>=0.9.0',
61
61
  'aiomysql' : 'aiomysql>=0.0.21',
62
62
  'sqlalchemy_cockroachdb' : 'sqlalchemy-cockroachdb>=2.0.0',
63
- 'duckdb' : 'duckdb<0.10.0',
63
+ 'duckdb' : 'duckdb<0.10.3',
64
64
  'duckdb_engine' : 'duckdb-engine>=0.9.2',
65
65
  },
66
- '_drivers': {
66
+ 'drivers-extras': {
67
67
  'pyodbc' : 'pyodbc>=4.0.30',
68
68
  'cx_Oracle' : 'cx_Oracle>=8.3.0',
69
69
  },
@@ -130,7 +130,7 @@ packages['sql'] = {
130
130
  'asyncpg' : 'asyncpg>=0.21.0',
131
131
  }
132
132
  packages['sql'].update(packages['drivers'])
133
- packages['sql'].update(packages['_required'])
133
+ packages['sql'].update(packages['core'])
134
134
  packages['dash'] = {
135
135
  'flask_compress' : 'Flask-Compress>=1.10.1',
136
136
  'dash' : 'dash>=2.6.2',
@@ -150,7 +150,6 @@ packages['api'] = {
150
150
  'fastapi_login' : 'fastapi-login>=1.7.2',
151
151
  'multipart' : 'python-multipart>=0.0.9',
152
152
  'httpx' : 'httpx>=0.24.1',
153
- 'websockets' : 'websockets>=11.0.3',
154
153
  }
155
154
  packages['api'].update(packages['sql'])
156
155
  packages['api'].update(packages['formatting'])
@@ -170,7 +169,7 @@ def get_install_names():
170
169
  install_names[get_install_no_version(_install_name)] = _import_name
171
170
  return install_names
172
171
 
173
- skip_groups = {'docs', 'build', 'cli', 'dev-tools', 'portable', 'extras', 'stack', '_drivers'}
172
+ skip_groups = {'docs', 'build', 'cli', 'dev-tools', 'portable', 'extras', 'stack', 'drivers-extras'}
174
173
  full = []
175
174
  _full = {}
176
175
  for group, import_names in packages.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: meerschaum
3
- Version: 2.2.0rc3
3
+ Version: 2.2.0rc4
4
4
  Summary: Sync Time-Series Pipes with Meerschaum
5
5
  Home-page: https://meerschaum.io
6
6
  Author: Bennett Meares
@@ -31,32 +31,6 @@ Requires-Python: >=3.8
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
33
  License-File: NOTICE
34
- Provides-Extra: _drivers
35
- Requires-Dist: pyodbc >=4.0.30 ; extra == '_drivers'
36
- Requires-Dist: cx-Oracle >=8.3.0 ; extra == '_drivers'
37
- Provides-Extra: _required
38
- Requires-Dist: wheel >=0.34.2 ; extra == '_required'
39
- Requires-Dist: setuptools >=63.3.0 ; extra == '_required'
40
- Requires-Dist: PyYAML >=5.3.1 ; extra == '_required'
41
- Requires-Dist: pip >=22.0.4 ; extra == '_required'
42
- Requires-Dist: update-checker >=0.18.0 ; extra == '_required'
43
- Requires-Dist: semver >=3.0.0 ; extra == '_required'
44
- Requires-Dist: pathspec >=0.9.0 ; extra == '_required'
45
- Requires-Dist: python-dateutil >=2.7.5 ; extra == '_required'
46
- Requires-Dist: requests >=2.23.0 ; extra == '_required'
47
- Requires-Dist: binaryornot >=0.4.4 ; extra == '_required'
48
- Requires-Dist: pyvim >=3.0.2 ; extra == '_required'
49
- Requires-Dist: aiofiles >=0.6.0 ; extra == '_required'
50
- Requires-Dist: packaging >=21.3.0 ; extra == '_required'
51
- Requires-Dist: prompt-toolkit >=3.0.39 ; extra == '_required'
52
- Requires-Dist: more-itertools >=8.7.0 ; extra == '_required'
53
- Requires-Dist: python-daemon >=0.2.3 ; extra == '_required'
54
- Requires-Dist: fasteners >=0.18.0 ; extra == '_required'
55
- Requires-Dist: psutil >=5.8.0 ; extra == '_required'
56
- Requires-Dist: watchfiles >=0.21.0 ; extra == '_required'
57
- Requires-Dist: dill >=0.3.3 ; extra == '_required'
58
- Requires-Dist: virtualenv >=20.1.0 ; extra == '_required'
59
- Requires-Dist: APScheduler >=4.0.0a5 ; extra == '_required'
60
34
  Provides-Extra: api
61
35
  Requires-Dist: uvicorn[standard] >=0.29.0 ; extra == 'api'
62
36
  Requires-Dist: gunicorn >=22.0.0 ; extra == 'api'
@@ -81,7 +55,7 @@ Requires-Dist: psycopg[binary] >=3.1.18 ; extra == 'api'
81
55
  Requires-Dist: PyMySQL >=0.9.0 ; extra == 'api'
82
56
  Requires-Dist: aiomysql >=0.0.21 ; extra == 'api'
83
57
  Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'api'
84
- Requires-Dist: duckdb <0.10.0 ; extra == 'api'
58
+ Requires-Dist: duckdb <0.10.3 ; extra == 'api'
85
59
  Requires-Dist: duckdb-engine >=0.9.2 ; extra == 'api'
86
60
  Requires-Dist: wheel >=0.34.2 ; extra == 'api'
87
61
  Requires-Dist: setuptools >=63.3.0 ; extra == 'api'
@@ -130,6 +104,29 @@ Requires-Dist: mycli >=1.23.2 ; extra == 'cli'
130
104
  Requires-Dist: litecli >=1.5.0 ; extra == 'cli'
131
105
  Requires-Dist: mssql-cli >=1.0.0 ; extra == 'cli'
132
106
  Requires-Dist: gadwall >=0.2.0 ; extra == 'cli'
107
+ Provides-Extra: core
108
+ Requires-Dist: wheel >=0.34.2 ; extra == 'core'
109
+ Requires-Dist: setuptools >=63.3.0 ; extra == 'core'
110
+ Requires-Dist: PyYAML >=5.3.1 ; extra == 'core'
111
+ Requires-Dist: pip >=22.0.4 ; extra == 'core'
112
+ Requires-Dist: update-checker >=0.18.0 ; extra == 'core'
113
+ Requires-Dist: semver >=3.0.0 ; extra == 'core'
114
+ Requires-Dist: pathspec >=0.9.0 ; extra == 'core'
115
+ Requires-Dist: python-dateutil >=2.7.5 ; extra == 'core'
116
+ Requires-Dist: requests >=2.23.0 ; extra == 'core'
117
+ Requires-Dist: binaryornot >=0.4.4 ; extra == 'core'
118
+ Requires-Dist: pyvim >=3.0.2 ; extra == 'core'
119
+ Requires-Dist: aiofiles >=0.6.0 ; extra == 'core'
120
+ Requires-Dist: packaging >=21.3.0 ; extra == 'core'
121
+ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'core'
122
+ Requires-Dist: more-itertools >=8.7.0 ; extra == 'core'
123
+ Requires-Dist: python-daemon >=0.2.3 ; extra == 'core'
124
+ Requires-Dist: fasteners >=0.18.0 ; extra == 'core'
125
+ Requires-Dist: psutil >=5.8.0 ; extra == 'core'
126
+ Requires-Dist: watchfiles >=0.21.0 ; extra == 'core'
127
+ Requires-Dist: dill >=0.3.3 ; extra == 'core'
128
+ Requires-Dist: virtualenv >=20.1.0 ; extra == 'core'
129
+ Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'core'
133
130
  Provides-Extra: dash
134
131
  Requires-Dist: Flask-Compress >=1.10.1 ; extra == 'dash'
135
132
  Requires-Dist: dash >=2.6.2 ; extra == 'dash'
@@ -164,8 +161,11 @@ Requires-Dist: psycopg[binary] >=3.1.18 ; extra == 'drivers'
164
161
  Requires-Dist: PyMySQL >=0.9.0 ; extra == 'drivers'
165
162
  Requires-Dist: aiomysql >=0.0.21 ; extra == 'drivers'
166
163
  Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'drivers'
167
- Requires-Dist: duckdb <0.10.0 ; extra == 'drivers'
164
+ Requires-Dist: duckdb <0.10.3 ; extra == 'drivers'
168
165
  Requires-Dist: duckdb-engine >=0.9.2 ; extra == 'drivers'
166
+ Provides-Extra: drivers-extras
167
+ Requires-Dist: pyodbc >=4.0.30 ; extra == 'drivers-extras'
168
+ Requires-Dist: cx-Oracle >=8.3.0 ; extra == 'drivers-extras'
169
169
  Provides-Extra: extras
170
170
  Requires-Dist: cmd2 >=1.4.0 ; extra == 'extras'
171
171
  Requires-Dist: ruamel.yaml >=0.16.12 ; extra == 'extras'
@@ -217,7 +217,7 @@ Requires-Dist: psycopg[binary] >=3.1.18 ; extra == 'full'
217
217
  Requires-Dist: PyMySQL >=0.9.0 ; extra == 'full'
218
218
  Requires-Dist: aiomysql >=0.0.21 ; extra == 'full'
219
219
  Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'full'
220
- Requires-Dist: duckdb <0.10.0 ; extra == 'full'
220
+ Requires-Dist: duckdb <0.10.3 ; extra == 'full'
221
221
  Requires-Dist: duckdb-engine >=0.9.2 ; extra == 'full'
222
222
  Requires-Dist: toga >=0.3.0-dev29 ; extra == 'full'
223
223
  Requires-Dist: pywebview >=3.6.3 ; extra == 'full'
@@ -271,7 +271,7 @@ Requires-Dist: psycopg[binary] >=3.1.18 ; extra == 'sql'
271
271
  Requires-Dist: PyMySQL >=0.9.0 ; extra == 'sql'
272
272
  Requires-Dist: aiomysql >=0.0.21 ; extra == 'sql'
273
273
  Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'sql'
274
- Requires-Dist: duckdb <0.10.0 ; extra == 'sql'
274
+ Requires-Dist: duckdb <0.10.3 ; extra == 'sql'
275
275
  Requires-Dist: duckdb-engine >=0.9.2 ; extra == 'sql'
276
276
  Requires-Dist: wheel >=0.34.2 ; extra == 'sql'
277
277
  Requires-Dist: setuptools >=63.3.0 ; extra == 'sql'
@@ -38,7 +38,7 @@ meerschaum/actions/register.py,sha256=l_21LWZCzKwJVex_xAXECC5WVW1VEuIX9HSp7CuyCw
38
38
  meerschaum/actions/reload.py,sha256=gMXeFBGVfyQ7uhKhYf6bLaDMD0fLPcA9BrLBSiuvWIc,508
39
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=9TCiRp_KWjzXkEw3yBInFh2h-qzooj7TAkYd6xhKYbA,29016
41
+ meerschaum/actions/show.py,sha256=p92UahbFeKOThGooO8Ul5Z6s6_Ll54FCxXsMAFnhuT0,29024
42
42
  meerschaum/actions/sql.py,sha256=wYofwk1vGO96U2ncigGEfMtYMZeprz2FR1PRRZhkAPI,4311
43
43
  meerschaum/actions/stack.py,sha256=WMRMebyYwZGNlbnj6Ja09qvCSDNteFJOTa8_joHlnVo,5886
44
44
  meerschaum/actions/start.py,sha256=mNFWqxc_o9moavvDQWE4YoZF6b-SW2nKyw5MtwIj-90,18384
@@ -48,10 +48,10 @@ meerschaum/actions/tag.py,sha256=SJf5qFW0ccLXjqlTdkK_0MCcrCMdg6xhYrhKdco0hdA,305
48
48
  meerschaum/actions/uninstall.py,sha256=2fUd5ZK45VGGCI8V4NLmSnavdKjOv7cGM22x2WlTStw,6068
49
49
  meerschaum/actions/upgrade.py,sha256=VQKyjCGioEF2FYbQmldHh21imDqApNl0xal0rhxzrJk,6302
50
50
  meerschaum/actions/verify.py,sha256=tY5slGpHiWiE0v9TDnjbmxSKn86zBnu9WBpixUgKNQU,4885
51
- meerschaum/api/__init__.py,sha256=TfhjWIyg3AbG74LWhMBpcr487L_4Aak7YNO1rGIV5Vc,7410
51
+ meerschaum/api/__init__.py,sha256=LEAAhOBNT6VHRTiLKWfVxBHBbqeucilHXLelrPkxjZI,7385
52
52
  meerschaum/api/_chain.py,sha256=h8-WXUGXX6AqzdALfsBC5uv0FkAcLdHJXCGzqzuq89k,875
53
53
  meerschaum/api/_events.py,sha256=NrjiabEr7rmHMfxnX07DOGzr9sPiEbRkFqPjuA_8Zx8,1603
54
- meerschaum/api/_oauth2.py,sha256=eH5r2rWuDmMHJPuukG0hj1E-LqtcDf5-lzp1YShOQOo,961
54
+ meerschaum/api/_oauth2.py,sha256=He8JnFDhfCq25Wlz1Jh3TcGz83VOttrJk6RgzJKbFLw,1056
55
55
  meerschaum/api/_websockets.py,sha256=OmrSDGx3xGlfP5XXeLEyYW6-Y3iRUcB-xSqL3RWsjqQ,1609
56
56
  meerschaum/api/dash/__init__.py,sha256=yr4zR7uFPlLFc_lDpwa2rCM1h9ZWGiu5-2XhHcM-5f8,2252
57
57
  meerschaum/api/dash/actions.py,sha256=eUClPPdNVNSCtyq8Ecr1saasxj5VBgd1gcXejvQxXEc,9418
@@ -59,7 +59,7 @@ meerschaum/api/dash/components.py,sha256=hdcxQahw9lHDBlZlztj-IKX4GueZRTVKfjGC6fF
59
59
  meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-0XMo,843
60
60
  meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
61
61
  meerschaum/api/dash/jobs.py,sha256=htqnrtAGCOgn2-THezMGYM8n1E-M-sM5A5qNmOGfHzg,7529
62
- meerschaum/api/dash/keys.py,sha256=anGVwK5pVR5alVQS0oStl7iq9c6klsocENfSjCRdGyQ,12591
62
+ meerschaum/api/dash/keys.py,sha256=hzEVeN60SAfVTVSO5lajGaykxRIKGhj9Ph00HRJnNoE,12598
63
63
  meerschaum/api/dash/pipes.py,sha256=yGlLesL32XiHqt2n28876s49BlGEov2X18ZZhZJRw-M,19233
64
64
  meerschaum/api/dash/plugins.py,sha256=JrLLw2r1Ar7asBgbMbSuiuz8dB9bME41ChynYN2KO-Y,3662
65
65
  meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
@@ -73,13 +73,13 @@ meerschaum/api/dash/assets/favicon.ico,sha256=nDEekVxwS60wEDno1nbw5GF3TJOcDV26SE
73
73
  meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3-80R-dzsxVmw,10218
74
74
  meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
75
75
  meerschaum/api/dash/callbacks/__init__.py,sha256=tAcK0ZX5qAN9mD5f7AYv0IBsGI6vI5r6wswPXfGgJfM,325
76
- meerschaum/api/dash/callbacks/dashboard.py,sha256=LfK3EuaDEdImM0gN7SShnigaxJ4fYxQoBTDeKvw8UFo,32283
76
+ meerschaum/api/dash/callbacks/dashboard.py,sha256=M3VJoRoI89jjPLSQejwp5v56-nkzs-g30r6rRvwIkCQ,32301
77
77
  meerschaum/api/dash/callbacks/jobs.py,sha256=OEYxJRlmnxqbsvHb5jBJJCsRvVCsMNusm9AClCT9Pm0,7689
78
78
  meerschaum/api/dash/callbacks/login.py,sha256=dfl0EOkEUcF7a-u8fq0WGNtwV63714ds30yWfOM2rqE,2613
79
79
  meerschaum/api/dash/callbacks/plugins.py,sha256=7CrwwbBI2N3DR4Yb1bKmrtJ3cAQ3dVv1l6E_AtZ6Wng,2777
80
80
  meerschaum/api/dash/callbacks/register.py,sha256=9AgTcl--TPt6oETKzirQCkH9Azlm3XrU9U6XJM2b8Lk,3600
81
81
  meerschaum/api/dash/pages/__init__.py,sha256=1g3KAVYklZ5L8bpW-LfG5jBXRebnUeA_wmNsuIMRZEE,273
82
- meerschaum/api/dash/pages/dashboard.py,sha256=rD4UVu_9K2UOLQJR7_Wsv50Tn-RTnGMrivGP55_Q_Dg,3930
82
+ meerschaum/api/dash/pages/dashboard.py,sha256=WKwy40kgm2Qy0k1ZTIueFnnVu0YBzFAd_8AT6CHHvfM,3835
83
83
  meerschaum/api/dash/pages/error.py,sha256=-uCrASuIBrceHcc-leLeEoLos2ibSBWG0XMFQzFwtbw,595
84
84
  meerschaum/api/dash/pages/login.py,sha256=FXPUuakS1SBsa3vSQShRX-Py5FwFvd7poeBUahmIB8A,4600
85
85
  meerschaum/api/dash/pages/plugins.py,sha256=9VpRqWW-3OhgZDUoo4J8PYswd231HaxlcSntxOOKsQA,1549
@@ -128,14 +128,14 @@ meerschaum/config/_default.py,sha256=DSbyVcAL55Xf8MJCTxpgF7ZXL-O9peeMEqL29WFfsJ4
128
128
  meerschaum/config/_edit.py,sha256=CE8gumBiOtnZZdTATCLAZgUnhL04yJdReaNCrv1yuJc,8218
129
129
  meerschaum/config/_environment.py,sha256=Vv4DLDfc2vKLbCLsMvkQDj77K4kEvHKEBmUBo-wCrgo,4419
130
130
  meerschaum/config/_formatting.py,sha256=RT_oU0OSfUkzeqbY5jvEJwuove_t9sP4MyUb1Px250U,6635
131
- meerschaum/config/_jobs.py,sha256=ki3Wb3QejAXyJhbBfme21EBhEntiOa6Pynp5OMfffp0,1227
131
+ meerschaum/config/_jobs.py,sha256=2bEikO48qVSguFS3lrbWz6uiKt_0b3oSRWhwyz8RRDM,1279
132
132
  meerschaum/config/_patch.py,sha256=21N30q1ANmWMDQ-2RUjpMx7KafWfPQ3lKx9rrMqg1s4,1526
133
133
  meerschaum/config/_paths.py,sha256=TihDGA6IQou3ms1xKYHmRTU48kOflqV5ZOMguG25NM4,8154
134
134
  meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6wLs,1220
135
135
  meerschaum/config/_read_config.py,sha256=WFZKIXZMDe_ca0ES7ivgM_mnwShvFxLdoeisT_X5-h0,14720
136
136
  meerschaum/config/_shell.py,sha256=s74cmJl8NrhM_Y1cB_P41_JDUYXV0g4WXnKFZWMtnrY,3551
137
137
  meerschaum/config/_sync.py,sha256=oK2ZujO2T1he08BXCFyiniBUevNGWSQKXLcS_jRv_7Y,4155
138
- meerschaum/config/_version.py,sha256=2-cyfpj01b8gfsTjUSjwd1-HjDjJ9lsq--ZPCqI2ZgA,74
138
+ meerschaum/config/_version.py,sha256=6-VmhSVm61Y2uCa9nlsUwmkBFChw3Ft25iUS-WOY4Ts,74
139
139
  meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
140
  meerschaum/config/stack/__init__.py,sha256=c_WdTSejVdj8lqSE_pK5MhIBkHoftiZWDuEuB9dmk2I,9007
141
141
  meerschaum/config/stack/grafana/__init__.py,sha256=LNXQw2FvHKrD68RDhqDmi2wJjAHaKw9IWx8rNuyWEPo,2010
@@ -166,7 +166,7 @@ meerschaum/connectors/sql/_cli.py,sha256=XaWjWZzGIfhMiYoXAs2FrwHUGNyZpxIzH4g4xug
166
166
  meerschaum/connectors/sql/_create_engine.py,sha256=vPVwR3cpfcQm0aW9xo_DUWA3gMdlkuB0wJ8JoTpRYD0,10396
167
167
  meerschaum/connectors/sql/_fetch.py,sha256=NYYWDoEd-aGIS337KwH-D9_3KVWVCZOHAspGLfdEuUE,13086
168
168
  meerschaum/connectors/sql/_instance.py,sha256=r_S96vzSuKnBVGROSKQAPl-DnFnOOEPUkz1KFDFPHFQ,6509
169
- meerschaum/connectors/sql/_pipes.py,sha256=WruMoLGMckUIardNtYzC7P0gavaz_HVlDb-IMv3pF9s,101357
169
+ meerschaum/connectors/sql/_pipes.py,sha256=rVNHYo7BwVe7PTNYBQVsjxH2bKT2XFqZO4Kakzv9AW8,101362
170
170
  meerschaum/connectors/sql/_plugins.py,sha256=OsCmDlZKyJnY77QAWghmpuXR0z_CmFq5uHpZK7Cj-ZI,8321
171
171
  meerschaum/connectors/sql/_sql.py,sha256=553BTPtvnnLMERYK8IcxR4CS3R4Sq7id-5hbApOEsIU,34199
172
172
  meerschaum/connectors/sql/_uri.py,sha256=0BrhQtqQdzg9mR04gWBZINs_BbPFtSlTECXT_TCUwik,3460
@@ -211,9 +211,9 @@ meerschaum/utils/threading.py,sha256=3N8JXPAnwqJiSjuQcbbJg3Rv9-CCUMJpeQRfKFR7MaA
211
211
  meerschaum/utils/typing.py,sha256=L05wOXfWdn_nJ0KnZVr-2zdMYcqjdyOW_7InT3xe6-s,2807
212
212
  meerschaum/utils/warnings.py,sha256=0b5O2DBbhEAGnu6RAB1hlHSVmwL_hcR3EiMkExXmBJ0,6535
213
213
  meerschaum/utils/yaml.py,sha256=vbCrFjdapKsZ9wRRaI9Ih8dVUwZ-KHpSzfGhRcpDBgQ,3162
214
- meerschaum/utils/daemon/Daemon.py,sha256=2e929fSd79TokURbgw5G3Cyopp_ztmV2_YxrJZYJB2Y,34414
214
+ meerschaum/utils/daemon/Daemon.py,sha256=iZzlPMF237sidfQJ3iNrhGJpV6onvEo1_9qtv9pE1j4,34595
215
215
  meerschaum/utils/daemon/FileDescriptorInterceptor.py,sha256=1cn5nQYLImL-BHXlLoxN_TadgN7XmGRLl1b7xecYMPc,4544
216
- meerschaum/utils/daemon/RotatingFile.py,sha256=qFGlpPVa_j1VCc_S6UtsAQ4nZyxGYLajFyXmAh-UfT4,23499
216
+ meerschaum/utils/daemon/RotatingFile.py,sha256=LuaHPs-c4GaMc3VkMjvL6WJ5r7wmMUOm9ZLyk4OHAlg,23658
217
217
  meerschaum/utils/daemon/__init__.py,sha256=I_ki51yml4vsh9OoH7BWTaz9SnATD8qM0i0fN3aUMn0,8375
218
218
  meerschaum/utils/daemon/_names.py,sha256=Prf7xA2GWDbKR_9Xq9_5RTTIf9GNWY3Yt0s4tEU3JgM,4330
219
219
  meerschaum/utils/dtypes/__init__.py,sha256=JR9PViJTzhukZhq0QoPIs73HOnXZZr8OmfhAAD4OAUA,6261
@@ -224,15 +224,15 @@ meerschaum/utils/formatting/_pipes.py,sha256=wy0iWJFsFl3X2VloaiA_gp9Yx9w6tD3FQZv
224
224
  meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
225
225
  meerschaum/utils/formatting/_shell.py,sha256=ox75O7VHDAiwzSvdMSJZhXLadvAqYJVeihU6WeZ2Ogc,3677
226
226
  meerschaum/utils/packages/__init__.py,sha256=HEJYz_rceqljpyRFlnToLR6vc_b7r-2d2K8zh_th2lg,57185
227
- meerschaum/utils/packages/_packages.py,sha256=EJ6nBHECMUj0UBeMZ0BWA5c1NlGPgvHE_37VcjPvUoo,7923
227
+ meerschaum/utils/packages/_packages.py,sha256=eAw_5D9AHblnUnKEiBMCElVgtCosxgrhQUAAktITSNA,7864
228
228
  meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
229
229
  meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
230
230
  meerschaum/utils/venv/__init__.py,sha256=sj-n8scWH2NPDJGAxfpqzsYqVUt2jMEr-7Uq9G7YUNQ,23183
231
- meerschaum-2.2.0rc3.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
232
- meerschaum-2.2.0rc3.dist-info/METADATA,sha256=FCRvolp0e892DTcU7zLQzgnG2csLBwyQXPNfR7c41-M,23903
233
- meerschaum-2.2.0rc3.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
234
- meerschaum-2.2.0rc3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
235
- meerschaum-2.2.0rc3.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
236
- meerschaum-2.2.0rc3.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
237
- meerschaum-2.2.0rc3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
238
- meerschaum-2.2.0rc3.dist-info/RECORD,,
231
+ meerschaum-2.2.0rc4.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
232
+ meerschaum-2.2.0rc4.dist-info/METADATA,sha256=KBLySrydHzynnwn50qWE8vmaRC7G5UjrRDU-R65BgoY,23806
233
+ meerschaum-2.2.0rc4.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
234
+ meerschaum-2.2.0rc4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
235
+ meerschaum-2.2.0rc4.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
236
+ meerschaum-2.2.0rc4.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
237
+ meerschaum-2.2.0rc4.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
238
+ meerschaum-2.2.0rc4.dist-info/RECORD,,