meerschaum 2.2.0rc3__tar.gz → 2.2.0rc4__tar.gz

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 (249) hide show
  1. {meerschaum-2.2.0rc3/meerschaum.egg-info → meerschaum-2.2.0rc4}/PKG-INFO +31 -31
  2. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/show.py +2 -2
  3. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/__init__.py +8 -3
  4. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/_oauth2.py +4 -4
  5. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/callbacks/dashboard.py +3 -3
  6. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/keys.py +1 -1
  7. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pages/dashboard.py +14 -4
  8. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_jobs.py +5 -2
  9. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_version.py +1 -1
  10. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_pipes.py +1 -0
  11. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/daemon/Daemon.py +4 -3
  12. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/daemon/RotatingFile.py +8 -2
  13. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/packages/_packages.py +5 -6
  14. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4/meerschaum.egg-info}/PKG-INFO +31 -31
  15. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum.egg-info/requires.txt +32 -32
  16. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/LICENSE +0 -0
  17. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/NOTICE +0 -0
  18. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/README.md +0 -0
  19. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/__init__.py +0 -0
  20. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/__main__.py +0 -0
  21. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/__init__.py +0 -0
  22. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/arguments/__init__.py +0 -0
  23. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/arguments/_parse_arguments.py +0 -0
  24. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/arguments/_parser.py +0 -0
  25. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/docs/__init__.py +0 -0
  26. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/docs/index.py +0 -0
  27. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/entry.py +0 -0
  28. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/gui/__init__.py +0 -0
  29. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/gui/app/__init__.py +0 -0
  30. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/gui/app/_windows.py +0 -0
  31. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/gui/app/actions.py +0 -0
  32. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/gui/app/pipes.py +0 -0
  33. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/shell/Shell.py +0 -0
  34. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
  35. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
  36. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/shell/__init__.py +0 -0
  37. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/shell/resources/__init__.py +0 -0
  38. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/term/TermPageHandler.py +0 -0
  39. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/term/__init__.py +0 -0
  40. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/_internal/term/tools.py +0 -0
  41. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/__init__.py +0 -0
  42. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/api.py +0 -0
  43. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/bootstrap.py +0 -0
  44. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/clear.py +0 -0
  45. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/copy.py +0 -0
  46. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/deduplicate.py +0 -0
  47. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/delete.py +0 -0
  48. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/drop.py +0 -0
  49. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/edit.py +0 -0
  50. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/install.py +0 -0
  51. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/login.py +0 -0
  52. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/os.py +0 -0
  53. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/pause.py +0 -0
  54. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/python.py +0 -0
  55. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/register.py +0 -0
  56. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/reload.py +0 -0
  57. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/setup.py +0 -0
  58. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/sh.py +0 -0
  59. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/sql.py +0 -0
  60. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/stack.py +0 -0
  61. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/start.py +0 -0
  62. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/stop.py +0 -0
  63. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/sync.py +0 -0
  64. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/tag.py +0 -0
  65. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/uninstall.py +0 -0
  66. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/upgrade.py +0 -0
  67. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/actions/verify.py +0 -0
  68. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/_chain.py +0 -0
  69. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/_events.py +0 -0
  70. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/_websockets.py +0 -0
  71. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/__init__.py +0 -0
  72. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/actions.py +0 -0
  73. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/assets/__init__.py +0 -0
  74. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/assets/ansi_up.js +0 -0
  75. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
  76. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/assets/favicon.ico +0 -0
  77. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
  78. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
  79. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/callbacks/__init__.py +0 -0
  80. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/callbacks/jobs.py +0 -0
  81. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/callbacks/login.py +0 -0
  82. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/callbacks/plugins.py +0 -0
  83. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/callbacks/register.py +0 -0
  84. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/components.py +0 -0
  85. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/connectors.py +0 -0
  86. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/graphs.py +0 -0
  87. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/jobs.py +0 -0
  88. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pages/__init__.py +0 -0
  89. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pages/error.py +0 -0
  90. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pages/login.py +0 -0
  91. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pages/plugins.py +0 -0
  92. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pages/register.py +0 -0
  93. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/pipes.py +0 -0
  94. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/plugins.py +0 -0
  95. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/sync.py +0 -0
  96. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/users.py +0 -0
  97. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/websockets.py +0 -0
  98. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/dash/webterm.py +0 -0
  99. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/models/__init__.py +0 -0
  100. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/models/_interfaces.py +0 -0
  101. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/models/_locations.py +0 -0
  102. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/models/_metrics.py +0 -0
  103. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/models/_pipes.py +0 -0
  104. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/__init__.py +0 -0
  105. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/__init__.py +0 -0
  106. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/css/__init__.py +0 -0
  107. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
  108. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/css/dash.css +0 -0
  109. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
  110. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/css/styles.css +0 -0
  111. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/css/xterm.css +0 -0
  112. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/ico/__init__.py +0 -0
  113. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/ico/logo.ico +0 -0
  114. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/js/__init__.py +0 -0
  115. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/js/action_button.js +0 -0
  116. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/js/main.js +0 -0
  117. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/js/terminado.js +0 -0
  118. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/js/xterm.js +0 -0
  119. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/static/png/__init__.py +0 -0
  120. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/templates/__init__.py +0 -0
  121. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/templates/index.html +0 -0
  122. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/templates/old_index.html +0 -0
  123. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/templates/secret.html +0 -0
  124. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/resources/templates/termpage.html +0 -0
  125. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/__init__.py +0 -0
  126. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_actions.py +0 -0
  127. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_connectors.py +0 -0
  128. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_index.py +0 -0
  129. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_login.py +0 -0
  130. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_misc.py +0 -0
  131. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_pipes.py +0 -0
  132. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_plugins.py +0 -0
  133. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_users.py +0 -0
  134. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_version.py +0 -0
  135. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/routes/_webterm.py +0 -0
  136. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/api/tables/__init__.py +0 -0
  137. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/__init__.py +0 -0
  138. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_dash.py +0 -0
  139. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_default.py +0 -0
  140. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_edit.py +0 -0
  141. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_environment.py +0 -0
  142. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_formatting.py +0 -0
  143. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_patch.py +0 -0
  144. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_paths.py +0 -0
  145. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_preprocess.py +0 -0
  146. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_read_config.py +0 -0
  147. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_shell.py +0 -0
  148. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/_sync.py +0 -0
  149. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/resources/__init__.py +0 -0
  150. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/stack/__init__.py +0 -0
  151. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/stack/grafana/__init__.py +0 -0
  152. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
  153. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
  154. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/stack/resources/__init__.py +0 -0
  155. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/config/static/__init__.py +0 -0
  156. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/Connector.py +0 -0
  157. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/__init__.py +0 -0
  158. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/APIConnector.py +0 -0
  159. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/__init__.py +0 -0
  160. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_actions.py +0 -0
  161. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_fetch.py +0 -0
  162. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_login.py +0 -0
  163. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_misc.py +0 -0
  164. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_pipes.py +0 -0
  165. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_plugins.py +0 -0
  166. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_request.py +0 -0
  167. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_uri.py +0 -0
  168. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/api/_users.py +0 -0
  169. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/parse.py +0 -0
  170. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
  171. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/plugin/__init__.py +0 -0
  172. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/poll.py +0 -0
  173. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/SQLConnector.py +0 -0
  174. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/__init__.py +0 -0
  175. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_cli.py +0 -0
  176. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_create_engine.py +0 -0
  177. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_fetch.py +0 -0
  178. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_instance.py +0 -0
  179. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_plugins.py +0 -0
  180. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_sql.py +0 -0
  181. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_uri.py +0 -0
  182. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/_users.py +0 -0
  183. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/tables/__init__.py +0 -0
  184. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/tables/types.py +0 -0
  185. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/connectors/sql/tools.py +0 -0
  186. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/__init__.py +0 -0
  187. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_attributes.py +0 -0
  188. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_bootstrap.py +0 -0
  189. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_clear.py +0 -0
  190. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_data.py +0 -0
  191. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_deduplicate.py +0 -0
  192. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_delete.py +0 -0
  193. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_drop.py +0 -0
  194. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_dtypes.py +0 -0
  195. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_edit.py +0 -0
  196. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_fetch.py +0 -0
  197. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_register.py +0 -0
  198. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_show.py +0 -0
  199. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_sync.py +0 -0
  200. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Pipe/_verify.py +0 -0
  201. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/Plugin/__init__.py +0 -0
  202. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/User/_User.py +0 -0
  203. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/User/__init__.py +0 -0
  204. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/core/__init__.py +0 -0
  205. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/plugins/_Plugin.py +0 -0
  206. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/plugins/__init__.py +0 -0
  207. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/__init__.py +0 -0
  208. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/_get_pipes.py +0 -0
  209. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -0
  210. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/daemon/__init__.py +0 -0
  211. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/daemon/_names.py +0 -0
  212. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/dataframe.py +0 -0
  213. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/debug.py +0 -0
  214. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/dtypes/__init__.py +0 -0
  215. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/dtypes/sql.py +0 -0
  216. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/formatting/__init__.py +0 -0
  217. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/formatting/_jobs.py +0 -0
  218. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/formatting/_pipes.py +0 -0
  219. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/formatting/_pprint.py +0 -0
  220. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/formatting/_shell.py +0 -0
  221. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/interactive.py +0 -0
  222. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/misc.py +0 -0
  223. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/networking.py +0 -0
  224. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/packages/__init__.py +0 -0
  225. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/packages/lazy_loader.py +0 -0
  226. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/pool.py +0 -0
  227. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/process.py +0 -0
  228. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/prompt.py +0 -0
  229. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/schedule.py +0 -0
  230. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/sql.py +0 -0
  231. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/threading.py +0 -0
  232. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/typing.py +0 -0
  233. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/venv/_Venv.py +0 -0
  234. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/venv/__init__.py +0 -0
  235. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/warnings.py +0 -0
  236. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum/utils/yaml.py +0 -0
  237. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum.egg-info/SOURCES.txt +0 -0
  238. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum.egg-info/dependency_links.txt +0 -0
  239. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum.egg-info/entry_points.txt +0 -0
  240. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum.egg-info/top_level.txt +0 -0
  241. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/meerschaum.egg-info/zip-safe +0 -0
  242. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/setup.cfg +0 -0
  243. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/setup.py +0 -0
  244. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/tests/test_deduplicate.py +0 -0
  245. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/tests/test_pipes_dtypes.py +0 -0
  246. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/tests/test_sql.py +0 -0
  247. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/tests/test_sync.py +0 -0
  248. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/tests/test_users.py +0 -0
  249. {meerschaum-2.2.0rc3 → meerschaum-2.2.0rc4}/tests/test_verify.py +0 -0
@@ -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
@@ -42,40 +42,40 @@ Requires-Dist: colorama>=0.4.3; extra == "formatting"
42
42
  Requires-Dist: rich>=13.4.2; extra == "formatting"
43
43
  Requires-Dist: more-termcolor>=1.1.3; extra == "formatting"
44
44
  Requires-Dist: humanfriendly>=10.0.0; extra == "formatting"
45
- Provides-Extra: required
46
- Requires-Dist: wheel>=0.34.2; extra == "required"
47
- Requires-Dist: setuptools>=63.3.0; extra == "required"
48
- Requires-Dist: PyYAML>=5.3.1; extra == "required"
49
- Requires-Dist: pip>=22.0.4; extra == "required"
50
- Requires-Dist: update-checker>=0.18.0; extra == "required"
51
- Requires-Dist: semver>=3.0.0; extra == "required"
52
- Requires-Dist: pathspec>=0.9.0; extra == "required"
53
- Requires-Dist: python-dateutil>=2.7.5; extra == "required"
54
- Requires-Dist: requests>=2.23.0; extra == "required"
55
- Requires-Dist: binaryornot>=0.4.4; extra == "required"
56
- Requires-Dist: pyvim>=3.0.2; extra == "required"
57
- Requires-Dist: aiofiles>=0.6.0; extra == "required"
58
- Requires-Dist: packaging>=21.3.0; extra == "required"
59
- Requires-Dist: prompt-toolkit>=3.0.39; extra == "required"
60
- Requires-Dist: more-itertools>=8.7.0; extra == "required"
61
- Requires-Dist: python-daemon>=0.2.3; extra == "required"
62
- Requires-Dist: fasteners>=0.18.0; extra == "required"
63
- Requires-Dist: psutil>=5.8.0; extra == "required"
64
- Requires-Dist: watchfiles>=0.21.0; extra == "required"
65
- Requires-Dist: dill>=0.3.3; extra == "required"
66
- Requires-Dist: virtualenv>=20.1.0; extra == "required"
67
- Requires-Dist: APScheduler>=4.0.0a5; extra == "required"
45
+ Provides-Extra: core
46
+ Requires-Dist: wheel>=0.34.2; extra == "core"
47
+ Requires-Dist: setuptools>=63.3.0; extra == "core"
48
+ Requires-Dist: PyYAML>=5.3.1; extra == "core"
49
+ Requires-Dist: pip>=22.0.4; extra == "core"
50
+ Requires-Dist: update-checker>=0.18.0; extra == "core"
51
+ Requires-Dist: semver>=3.0.0; extra == "core"
52
+ Requires-Dist: pathspec>=0.9.0; extra == "core"
53
+ Requires-Dist: python-dateutil>=2.7.5; extra == "core"
54
+ Requires-Dist: requests>=2.23.0; extra == "core"
55
+ Requires-Dist: binaryornot>=0.4.4; extra == "core"
56
+ Requires-Dist: pyvim>=3.0.2; extra == "core"
57
+ Requires-Dist: aiofiles>=0.6.0; extra == "core"
58
+ Requires-Dist: packaging>=21.3.0; extra == "core"
59
+ Requires-Dist: prompt-toolkit>=3.0.39; extra == "core"
60
+ Requires-Dist: more-itertools>=8.7.0; extra == "core"
61
+ Requires-Dist: python-daemon>=0.2.3; extra == "core"
62
+ Requires-Dist: fasteners>=0.18.0; extra == "core"
63
+ Requires-Dist: psutil>=5.8.0; extra == "core"
64
+ Requires-Dist: watchfiles>=0.21.0; extra == "core"
65
+ Requires-Dist: dill>=0.3.3; extra == "core"
66
+ Requires-Dist: virtualenv>=20.1.0; extra == "core"
67
+ Requires-Dist: APScheduler>=4.0.0a5; extra == "core"
68
68
  Provides-Extra: drivers
69
69
  Requires-Dist: cryptography>=38.0.1; extra == "drivers"
70
70
  Requires-Dist: psycopg[binary]>=3.1.18; extra == "drivers"
71
71
  Requires-Dist: PyMySQL>=0.9.0; extra == "drivers"
72
72
  Requires-Dist: aiomysql>=0.0.21; extra == "drivers"
73
73
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "drivers"
74
- Requires-Dist: duckdb<0.10.0; extra == "drivers"
74
+ Requires-Dist: duckdb<0.10.3; extra == "drivers"
75
75
  Requires-Dist: duckdb-engine>=0.9.2; extra == "drivers"
76
- Provides-Extra: drivers
77
- Requires-Dist: pyodbc>=4.0.30; extra == "drivers"
78
- Requires-Dist: cx_Oracle>=8.3.0; extra == "drivers"
76
+ Provides-Extra: drivers-extras
77
+ Requires-Dist: pyodbc>=4.0.30; extra == "drivers-extras"
78
+ Requires-Dist: cx_Oracle>=8.3.0; extra == "drivers-extras"
79
79
  Provides-Extra: cli
80
80
  Requires-Dist: pgcli>=3.1.0; extra == "cli"
81
81
  Requires-Dist: mycli>=1.23.2; extra == "cli"
@@ -133,7 +133,7 @@ Requires-Dist: psycopg[binary]>=3.1.18; extra == "sql"
133
133
  Requires-Dist: PyMySQL>=0.9.0; extra == "sql"
134
134
  Requires-Dist: aiomysql>=0.0.21; extra == "sql"
135
135
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "sql"
136
- Requires-Dist: duckdb<0.10.0; extra == "sql"
136
+ Requires-Dist: duckdb<0.10.3; extra == "sql"
137
137
  Requires-Dist: duckdb-engine>=0.9.2; extra == "sql"
138
138
  Requires-Dist: wheel>=0.34.2; extra == "sql"
139
139
  Requires-Dist: setuptools>=63.3.0; extra == "sql"
@@ -190,7 +190,7 @@ Requires-Dist: psycopg[binary]>=3.1.18; extra == "api"
190
190
  Requires-Dist: PyMySQL>=0.9.0; extra == "api"
191
191
  Requires-Dist: aiomysql>=0.0.21; extra == "api"
192
192
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "api"
193
- Requires-Dist: duckdb<0.10.0; extra == "api"
193
+ Requires-Dist: duckdb<0.10.3; extra == "api"
194
194
  Requires-Dist: duckdb-engine>=0.9.2; extra == "api"
195
195
  Requires-Dist: wheel>=0.34.2; extra == "api"
196
196
  Requires-Dist: setuptools>=63.3.0; extra == "api"
@@ -266,7 +266,7 @@ Requires-Dist: psycopg[binary]>=3.1.18; extra == "full"
266
266
  Requires-Dist: PyMySQL>=0.9.0; extra == "full"
267
267
  Requires-Dist: aiomysql>=0.0.21; extra == "full"
268
268
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "full"
269
- Requires-Dist: duckdb<0.10.0; extra == "full"
269
+ Requires-Dist: duckdb<0.10.3; extra == "full"
270
270
  Requires-Dist: duckdb-engine>=0.9.2; extra == "full"
271
271
  Requires-Dist: toga>=0.3.0-dev29; extra == "full"
272
272
  Requires-Dist: pywebview>=3.6.3; extra == "full"
@@ -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')
@@ -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
@@ -42,40 +42,40 @@ Requires-Dist: colorama>=0.4.3; extra == "formatting"
42
42
  Requires-Dist: rich>=13.4.2; extra == "formatting"
43
43
  Requires-Dist: more-termcolor>=1.1.3; extra == "formatting"
44
44
  Requires-Dist: humanfriendly>=10.0.0; extra == "formatting"
45
- Provides-Extra: required
46
- Requires-Dist: wheel>=0.34.2; extra == "required"
47
- Requires-Dist: setuptools>=63.3.0; extra == "required"
48
- Requires-Dist: PyYAML>=5.3.1; extra == "required"
49
- Requires-Dist: pip>=22.0.4; extra == "required"
50
- Requires-Dist: update-checker>=0.18.0; extra == "required"
51
- Requires-Dist: semver>=3.0.0; extra == "required"
52
- Requires-Dist: pathspec>=0.9.0; extra == "required"
53
- Requires-Dist: python-dateutil>=2.7.5; extra == "required"
54
- Requires-Dist: requests>=2.23.0; extra == "required"
55
- Requires-Dist: binaryornot>=0.4.4; extra == "required"
56
- Requires-Dist: pyvim>=3.0.2; extra == "required"
57
- Requires-Dist: aiofiles>=0.6.0; extra == "required"
58
- Requires-Dist: packaging>=21.3.0; extra == "required"
59
- Requires-Dist: prompt-toolkit>=3.0.39; extra == "required"
60
- Requires-Dist: more-itertools>=8.7.0; extra == "required"
61
- Requires-Dist: python-daemon>=0.2.3; extra == "required"
62
- Requires-Dist: fasteners>=0.18.0; extra == "required"
63
- Requires-Dist: psutil>=5.8.0; extra == "required"
64
- Requires-Dist: watchfiles>=0.21.0; extra == "required"
65
- Requires-Dist: dill>=0.3.3; extra == "required"
66
- Requires-Dist: virtualenv>=20.1.0; extra == "required"
67
- Requires-Dist: APScheduler>=4.0.0a5; extra == "required"
45
+ Provides-Extra: core
46
+ Requires-Dist: wheel>=0.34.2; extra == "core"
47
+ Requires-Dist: setuptools>=63.3.0; extra == "core"
48
+ Requires-Dist: PyYAML>=5.3.1; extra == "core"
49
+ Requires-Dist: pip>=22.0.4; extra == "core"
50
+ Requires-Dist: update-checker>=0.18.0; extra == "core"
51
+ Requires-Dist: semver>=3.0.0; extra == "core"
52
+ Requires-Dist: pathspec>=0.9.0; extra == "core"
53
+ Requires-Dist: python-dateutil>=2.7.5; extra == "core"
54
+ Requires-Dist: requests>=2.23.0; extra == "core"
55
+ Requires-Dist: binaryornot>=0.4.4; extra == "core"
56
+ Requires-Dist: pyvim>=3.0.2; extra == "core"
57
+ Requires-Dist: aiofiles>=0.6.0; extra == "core"
58
+ Requires-Dist: packaging>=21.3.0; extra == "core"
59
+ Requires-Dist: prompt-toolkit>=3.0.39; extra == "core"
60
+ Requires-Dist: more-itertools>=8.7.0; extra == "core"
61
+ Requires-Dist: python-daemon>=0.2.3; extra == "core"
62
+ Requires-Dist: fasteners>=0.18.0; extra == "core"
63
+ Requires-Dist: psutil>=5.8.0; extra == "core"
64
+ Requires-Dist: watchfiles>=0.21.0; extra == "core"
65
+ Requires-Dist: dill>=0.3.3; extra == "core"
66
+ Requires-Dist: virtualenv>=20.1.0; extra == "core"
67
+ Requires-Dist: APScheduler>=4.0.0a5; extra == "core"
68
68
  Provides-Extra: drivers
69
69
  Requires-Dist: cryptography>=38.0.1; extra == "drivers"
70
70
  Requires-Dist: psycopg[binary]>=3.1.18; extra == "drivers"
71
71
  Requires-Dist: PyMySQL>=0.9.0; extra == "drivers"
72
72
  Requires-Dist: aiomysql>=0.0.21; extra == "drivers"
73
73
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "drivers"
74
- Requires-Dist: duckdb<0.10.0; extra == "drivers"
74
+ Requires-Dist: duckdb<0.10.3; extra == "drivers"
75
75
  Requires-Dist: duckdb-engine>=0.9.2; extra == "drivers"
76
- Provides-Extra: drivers
77
- Requires-Dist: pyodbc>=4.0.30; extra == "drivers"
78
- Requires-Dist: cx_Oracle>=8.3.0; extra == "drivers"
76
+ Provides-Extra: drivers-extras
77
+ Requires-Dist: pyodbc>=4.0.30; extra == "drivers-extras"
78
+ Requires-Dist: cx_Oracle>=8.3.0; extra == "drivers-extras"
79
79
  Provides-Extra: cli
80
80
  Requires-Dist: pgcli>=3.1.0; extra == "cli"
81
81
  Requires-Dist: mycli>=1.23.2; extra == "cli"
@@ -133,7 +133,7 @@ Requires-Dist: psycopg[binary]>=3.1.18; extra == "sql"
133
133
  Requires-Dist: PyMySQL>=0.9.0; extra == "sql"
134
134
  Requires-Dist: aiomysql>=0.0.21; extra == "sql"
135
135
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "sql"
136
- Requires-Dist: duckdb<0.10.0; extra == "sql"
136
+ Requires-Dist: duckdb<0.10.3; extra == "sql"
137
137
  Requires-Dist: duckdb-engine>=0.9.2; extra == "sql"
138
138
  Requires-Dist: wheel>=0.34.2; extra == "sql"
139
139
  Requires-Dist: setuptools>=63.3.0; extra == "sql"
@@ -190,7 +190,7 @@ Requires-Dist: psycopg[binary]>=3.1.18; extra == "api"
190
190
  Requires-Dist: PyMySQL>=0.9.0; extra == "api"
191
191
  Requires-Dist: aiomysql>=0.0.21; extra == "api"
192
192
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "api"
193
- Requires-Dist: duckdb<0.10.0; extra == "api"
193
+ Requires-Dist: duckdb<0.10.3; extra == "api"
194
194
  Requires-Dist: duckdb-engine>=0.9.2; extra == "api"
195
195
  Requires-Dist: wheel>=0.34.2; extra == "api"
196
196
  Requires-Dist: setuptools>=63.3.0; extra == "api"
@@ -266,7 +266,7 @@ Requires-Dist: psycopg[binary]>=3.1.18; extra == "full"
266
266
  Requires-Dist: PyMySQL>=0.9.0; extra == "full"
267
267
  Requires-Dist: aiomysql>=0.0.21; extra == "full"
268
268
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "full"
269
- Requires-Dist: duckdb<0.10.0; extra == "full"
269
+ Requires-Dist: duckdb<0.10.3; extra == "full"
270
270
  Requires-Dist: duckdb-engine>=0.9.2; extra == "full"
271
271
  Requires-Dist: toga>=0.3.0-dev29; extra == "full"
272
272
  Requires-Dist: pywebview>=3.6.3; extra == "full"
@@ -1,32 +1,4 @@
1
1
 
2
- [_drivers]
3
- pyodbc>=4.0.30
4
- cx_Oracle>=8.3.0
5
-
6
- [_required]
7
- wheel>=0.34.2
8
- setuptools>=63.3.0
9
- PyYAML>=5.3.1
10
- pip>=22.0.4
11
- update-checker>=0.18.0
12
- semver>=3.0.0
13
- pathspec>=0.9.0
14
- python-dateutil>=2.7.5
15
- requests>=2.23.0
16
- binaryornot>=0.4.4
17
- pyvim>=3.0.2
18
- aiofiles>=0.6.0
19
- packaging>=21.3.0
20
- prompt-toolkit>=3.0.39
21
- more-itertools>=8.7.0
22
- python-daemon>=0.2.3
23
- fasteners>=0.18.0
24
- psutil>=5.8.0
25
- watchfiles>=0.21.0
26
- dill>=0.3.3
27
- virtualenv>=20.1.0
28
- APScheduler>=4.0.0a5
29
-
30
2
  [api]
31
3
  uvicorn[standard]>=0.29.0
32
4
  gunicorn>=22.0.0
@@ -51,7 +23,7 @@ psycopg[binary]>=3.1.18
51
23
  PyMySQL>=0.9.0
52
24
  aiomysql>=0.0.21
53
25
  sqlalchemy-cockroachdb>=2.0.0
54
- duckdb<0.10.0
26
+ duckdb<0.10.3
55
27
  duckdb-engine>=0.9.2
56
28
  wheel>=0.34.2
57
29
  setuptools>=63.3.0
@@ -103,6 +75,30 @@ litecli>=1.5.0
103
75
  mssql-cli>=1.0.0
104
76
  gadwall>=0.2.0
105
77
 
78
+ [core]
79
+ wheel>=0.34.2
80
+ setuptools>=63.3.0
81
+ PyYAML>=5.3.1
82
+ pip>=22.0.4
83
+ update-checker>=0.18.0
84
+ semver>=3.0.0
85
+ pathspec>=0.9.0
86
+ python-dateutil>=2.7.5
87
+ requests>=2.23.0
88
+ binaryornot>=0.4.4
89
+ pyvim>=3.0.2
90
+ aiofiles>=0.6.0
91
+ packaging>=21.3.0
92
+ prompt-toolkit>=3.0.39
93
+ more-itertools>=8.7.0
94
+ python-daemon>=0.2.3
95
+ fasteners>=0.18.0
96
+ psutil>=5.8.0
97
+ watchfiles>=0.21.0
98
+ dill>=0.3.3
99
+ virtualenv>=20.1.0
100
+ APScheduler>=4.0.0a5
101
+
106
102
  [dash]
107
103
  Flask-Compress>=1.10.1
108
104
  dash>=2.6.2
@@ -140,9 +136,13 @@ psycopg[binary]>=3.1.18
140
136
  PyMySQL>=0.9.0
141
137
  aiomysql>=0.0.21
142
138
  sqlalchemy-cockroachdb>=2.0.0
143
- duckdb<0.10.0
139
+ duckdb<0.10.3
144
140
  duckdb-engine>=0.9.2
145
141
 
142
+ [drivers-extras]
143
+ pyodbc>=4.0.30
144
+ cx_Oracle>=8.3.0
145
+
146
146
  [extras]
147
147
  cmd2>=1.4.0
148
148
  ruamel.yaml>=0.16.12
@@ -196,7 +196,7 @@ psycopg[binary]>=3.1.18
196
196
  PyMySQL>=0.9.0
197
197
  aiomysql>=0.0.21
198
198
  sqlalchemy-cockroachdb>=2.0.0
199
- duckdb<0.10.0
199
+ duckdb<0.10.3
200
200
  duckdb-engine>=0.9.2
201
201
  toga>=0.3.0-dev29
202
202
  pywebview>=3.6.3
@@ -255,7 +255,7 @@ psycopg[binary]>=3.1.18
255
255
  PyMySQL>=0.9.0
256
256
  aiomysql>=0.0.21
257
257
  sqlalchemy-cockroachdb>=2.0.0
258
- duckdb<0.10.0
258
+ duckdb<0.10.3
259
259
  duckdb-engine>=0.9.2
260
260
  wheel>=0.34.2
261
261
  setuptools>=63.3.0
File without changes
File without changes
File without changes