meerschaum 2.9.5__tar.gz → 3.0.0rc2__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 (309) hide show
  1. meerschaum-3.0.0rc2/MANIFEST.in +2 -0
  2. meerschaum-3.0.0rc2/NOTICE +2 -0
  3. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/PKG-INFO +92 -96
  4. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/__init__.py +5 -2
  5. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/__init__.py +1 -0
  6. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/arguments/_parse_arguments.py +4 -4
  7. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/arguments/_parser.py +19 -2
  8. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/docs/index.py +49 -2
  9. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/entry.py +6 -6
  10. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/shell/Shell.py +1 -1
  11. meerschaum-3.0.0rc2/meerschaum/_internal/static.py +356 -0
  12. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/api.py +12 -2
  13. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/bootstrap.py +7 -7
  14. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/edit.py +142 -18
  15. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/register.py +137 -6
  16. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/show.py +117 -29
  17. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/stop.py +4 -1
  18. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/sync.py +1 -1
  19. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/tag.py +9 -8
  20. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/verify.py +5 -8
  21. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/__init__.py +11 -3
  22. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/_events.py +39 -2
  23. meerschaum-3.0.0rc2/meerschaum/api/_oauth2.py +162 -0
  24. meerschaum-3.0.0rc2/meerschaum/api/_tokens.py +102 -0
  25. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/__init__.py +0 -3
  26. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/custom.py +2 -2
  27. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/dashboard.py +103 -19
  28. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/plugins.py +0 -1
  29. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/register.py +1 -1
  30. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/settings/__init__.py +1 -0
  31. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/settings/password_reset.py +2 -2
  32. meerschaum-3.0.0rc2/meerschaum/api/dash/callbacks/settings/tokens.py +388 -0
  33. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/components.py +30 -8
  34. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/keys.py +19 -93
  35. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/dashboard.py +1 -20
  36. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/settings/__init__.py +1 -0
  37. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/settings/password_reset.py +1 -1
  38. meerschaum-3.0.0rc2/meerschaum/api/dash/pages/settings/tokens.py +55 -0
  39. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pipes.py +94 -59
  40. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/sessions.py +12 -0
  41. meerschaum-3.0.0rc2/meerschaum/api/dash/tokens.py +606 -0
  42. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/websockets.py +1 -1
  43. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/webterm.py +4 -0
  44. meerschaum-3.0.0rc2/meerschaum/api/models/__init__.py +31 -0
  45. meerschaum-3.0.0rc2/meerschaum/api/models/_actions.py +22 -0
  46. meerschaum-3.0.0rc2/meerschaum/api/models/_pipes.py +99 -0
  47. meerschaum-3.0.0rc2/meerschaum/api/models/_tokens.py +81 -0
  48. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/templates/termpage.html +12 -0
  49. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/__init__.py +1 -0
  50. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_actions.py +3 -4
  51. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_connectors.py +3 -7
  52. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_jobs.py +14 -35
  53. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_login.py +49 -12
  54. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_misc.py +5 -10
  55. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_pipes.py +173 -140
  56. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_plugins.py +38 -28
  57. meerschaum-3.0.0rc2/meerschaum/api/routes/_tokens.py +236 -0
  58. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_users.py +47 -35
  59. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_version.py +3 -3
  60. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/__init__.py +43 -20
  61. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_default.py +43 -6
  62. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_edit.py +28 -24
  63. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_environment.py +1 -1
  64. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_patch.py +6 -6
  65. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_paths.py +5 -1
  66. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_read_config.py +65 -34
  67. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_sync.py +6 -3
  68. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_version.py +1 -1
  69. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/stack/__init__.py +31 -11
  70. meerschaum-3.0.0rc2/meerschaum/config/static.py +18 -0
  71. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/_Connector.py +10 -4
  72. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/__init__.py +4 -20
  73. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_APIConnector.py +34 -6
  74. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_actions.py +2 -2
  75. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_jobs.py +1 -1
  76. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_login.py +33 -7
  77. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_misc.py +2 -2
  78. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_pipes.py +16 -31
  79. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_plugins.py +2 -2
  80. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_request.py +1 -1
  81. meerschaum-3.0.0rc2/meerschaum/connectors/api/_tokens.py +146 -0
  82. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_users.py +70 -58
  83. meerschaum-3.0.0rc2/meerschaum/connectors/instance/_InstanceConnector.py +83 -0
  84. meerschaum-3.0.0rc2/meerschaum/connectors/instance/__init__.py +10 -0
  85. meerschaum-3.0.0rc2/meerschaum/connectors/instance/_pipes.py +442 -0
  86. meerschaum-3.0.0rc2/meerschaum/connectors/instance/_plugins.py +151 -0
  87. meerschaum-3.0.0rc2/meerschaum/connectors/instance/_tokens.py +296 -0
  88. meerschaum-3.0.0rc2/meerschaum/connectors/instance/_users.py +181 -0
  89. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/parse.py +4 -1
  90. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_SQLConnector.py +8 -5
  91. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_cli.py +12 -11
  92. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_create_engine.py +9 -168
  93. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_fetch.py +2 -18
  94. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_pipes.py +156 -190
  95. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_plugins.py +29 -0
  96. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_sql.py +46 -21
  97. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_users.py +29 -2
  98. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/tables/__init__.py +1 -1
  99. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/valkey/_ValkeyConnector.py +2 -4
  100. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/valkey/_pipes.py +53 -26
  101. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/valkey/_plugins.py +2 -26
  102. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/__init__.py +59 -19
  103. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_attributes.py +412 -90
  104. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_bootstrap.py +54 -24
  105. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_data.py +96 -18
  106. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_dtypes.py +48 -18
  107. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_edit.py +14 -4
  108. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_fetch.py +1 -1
  109. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_show.py +5 -5
  110. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_sync.py +118 -193
  111. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_verify.py +4 -4
  112. {meerschaum-2.9.5/meerschaum/plugins → meerschaum-3.0.0rc2/meerschaum/core/Plugin}/_Plugin.py +9 -11
  113. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Plugin/__init__.py +1 -1
  114. meerschaum-3.0.0rc2/meerschaum/core/Token/_Token.py +220 -0
  115. meerschaum-3.0.0rc2/meerschaum/core/Token/__init__.py +12 -0
  116. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/User/_User.py +34 -8
  117. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/User/__init__.py +9 -1
  118. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/__init__.py +1 -0
  119. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/jobs/_Job.py +3 -2
  120. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/jobs/__init__.py +3 -2
  121. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/jobs/systemd.py +1 -1
  122. meerschaum-3.0.0rc2/meerschaum/models/__init__.py +35 -0
  123. meerschaum-3.0.0rc2/meerschaum/models/pipes.py +247 -0
  124. meerschaum-3.0.0rc2/meerschaum/models/tokens.py +38 -0
  125. meerschaum-3.0.0rc2/meerschaum/models/users.py +26 -0
  126. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/plugins/__init__.py +22 -7
  127. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/plugins/bootstrap.py +2 -1
  128. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/_get_pipes.py +68 -27
  129. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/daemon/Daemon.py +2 -1
  130. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/daemon/__init__.py +30 -2
  131. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/dataframe.py +473 -81
  132. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/debug.py +15 -15
  133. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/dtypes/__init__.py +473 -34
  134. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/dtypes/sql.py +368 -28
  135. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/formatting/__init__.py +1 -1
  136. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/formatting/_pipes.py +5 -4
  137. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/formatting/_shell.py +11 -9
  138. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/misc.py +246 -148
  139. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/packages/__init__.py +10 -27
  140. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/packages/_packages.py +41 -34
  141. meerschaum-3.0.0rc2/meerschaum/utils/pipes.py +181 -0
  142. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/process.py +1 -1
  143. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/prompt.py +3 -1
  144. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/schedule.py +2 -1
  145. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/sql.py +121 -44
  146. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/typing.py +1 -4
  147. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/venv/_Venv.py +2 -2
  148. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/venv/__init__.py +5 -7
  149. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/PKG-INFO +92 -96
  150. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/SOURCES.txt +29 -16
  151. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/requires.txt +87 -79
  152. meerschaum-3.0.0rc2/pyproject.toml +60 -0
  153. meerschaum-3.0.0rc2/setup.cfg +21 -0
  154. meerschaum-3.0.0rc2/setup.py +31 -0
  155. meerschaum-2.9.5/meerschaum/api/_oauth2.py +0 -52
  156. meerschaum-2.9.5/meerschaum/api/models/__init__.py +0 -11
  157. meerschaum-2.9.5/meerschaum/api/models/_interfaces.py +0 -15
  158. meerschaum-2.9.5/meerschaum/api/models/_locations.py +0 -15
  159. meerschaum-2.9.5/meerschaum/api/models/_metrics.py +0 -15
  160. meerschaum-2.9.5/meerschaum/api/models/_pipes.py +0 -21
  161. meerschaum-2.9.5/meerschaum/config/static/__init__.py +0 -186
  162. meerschaum-2.9.5/setup.cfg +0 -4
  163. meerschaum-2.9.5/setup.py +0 -83
  164. meerschaum-2.9.5/tests/test_actions.py +0 -7
  165. meerschaum-2.9.5/tests/test_arguments.py +0 -112
  166. meerschaum-2.9.5/tests/test_deduplicate.py +0 -100
  167. meerschaum-2.9.5/tests/test_jobs.py +0 -34
  168. meerschaum-2.9.5/tests/test_pipe_data.py +0 -89
  169. meerschaum-2.9.5/tests/test_pipes_dtypes.py +0 -1197
  170. meerschaum-2.9.5/tests/test_sql.py +0 -114
  171. meerschaum-2.9.5/tests/test_sync.py +0 -1279
  172. meerschaum-2.9.5/tests/test_users.py +0 -20
  173. meerschaum-2.9.5/tests/test_verify.py +0 -127
  174. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/LICENSE +0 -0
  175. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/README.md +0 -0
  176. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/__main__.py +0 -0
  177. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/arguments/__init__.py +0 -0
  178. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/docs/__init__.py +0 -0
  179. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
  180. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
  181. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/shell/__init__.py +0 -0
  182. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/shell/resources/__init__.py +0 -0
  183. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/shell/updates.py +0 -0
  184. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/term/TermPageHandler.py +0 -0
  185. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/term/__init__.py +0 -0
  186. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/_internal/term/tools.py +0 -0
  187. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/__init__.py +0 -0
  188. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/attach.py +0 -0
  189. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/clear.py +0 -0
  190. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/copy.py +0 -0
  191. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/deduplicate.py +0 -0
  192. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/delete.py +0 -0
  193. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/drop.py +0 -0
  194. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/index.py +0 -0
  195. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/install.py +0 -0
  196. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/login.py +0 -0
  197. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/os.py +0 -0
  198. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/pause.py +0 -0
  199. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/python.py +0 -0
  200. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/reload.py +0 -0
  201. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/restart.py +0 -0
  202. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/setup.py +0 -0
  203. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/sh.py +0 -0
  204. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/sql.py +0 -0
  205. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/stack.py +0 -0
  206. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/start.py +0 -0
  207. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/uninstall.py +0 -0
  208. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/actions/upgrade.py +0 -0
  209. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/_chain.py +0 -0
  210. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/_chunks.py +0 -0
  211. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/_exceptions.py +0 -0
  212. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/_websockets.py +0 -0
  213. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/assets/__init__.py +0 -0
  214. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/assets/ansi_up.js +0 -0
  215. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
  216. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/assets/favicon.ico +0 -0
  217. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
  218. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
  219. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/__init__.py +0 -0
  220. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/jobs.py +0 -0
  221. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/login.py +0 -0
  222. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/callbacks/pipes.py +0 -0
  223. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/connectors.py +0 -0
  224. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/graphs.py +0 -0
  225. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/jobs.py +0 -0
  226. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/__init__.py +0 -0
  227. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/error.py +0 -0
  228. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/job.py +0 -0
  229. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/login.py +0 -0
  230. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/pipes.py +0 -0
  231. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/plugins.py +0 -0
  232. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/pages/register.py +0 -0
  233. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/plugins.py +0 -0
  234. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/sync.py +0 -0
  235. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/dash/users.py +0 -0
  236. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/__init__.py +0 -0
  237. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/__init__.py +0 -0
  238. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/css/__init__.py +0 -0
  239. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
  240. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/css/dash.css +0 -0
  241. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
  242. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/css/styles.css +0 -0
  243. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/css/xterm.css +0 -0
  244. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/ico/__init__.py +0 -0
  245. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/ico/logo.ico +0 -0
  246. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/js/__init__.py +0 -0
  247. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/js/action_button.js +0 -0
  248. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/js/main.js +0 -0
  249. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/js/terminado.js +0 -0
  250. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/js/xterm.js +0 -0
  251. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/static/png/__init__.py +0 -0
  252. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/templates/__init__.py +0 -0
  253. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/templates/index.html +0 -0
  254. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/templates/old_index.html +0 -0
  255. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/resources/templates/secret.html +0 -0
  256. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_index.py +0 -0
  257. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/routes/_webterm.py +0 -0
  258. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/api/tables/__init__.py +0 -0
  259. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_dash.py +0 -0
  260. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_formatting.py +0 -0
  261. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_jobs.py +0 -0
  262. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_preprocess.py +0 -0
  263. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/_shell.py +0 -0
  264. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/paths.py +0 -0
  265. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/resources/__init__.py +0 -0
  266. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/stack/grafana/__init__.py +0 -0
  267. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
  268. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
  269. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/config/stack/resources/__init__.py +0 -0
  270. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/__init__.py +0 -0
  271. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_fetch.py +0 -0
  272. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/api/_uri.py +0 -0
  273. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
  274. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/plugin/__init__.py +0 -0
  275. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/poll.py +0 -0
  276. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/__init__.py +0 -0
  277. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_instance.py +0 -0
  278. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/_uri.py +0 -0
  279. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/tables/types.py +0 -0
  280. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/sql/tools.py +0 -0
  281. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/valkey/__init__.py +0 -0
  282. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/valkey/_fetch.py +0 -0
  283. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/connectors/valkey/_users.py +0 -0
  284. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_clear.py +0 -0
  285. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_copy.py +0 -0
  286. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_deduplicate.py +0 -0
  287. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_delete.py +0 -0
  288. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_drop.py +0 -0
  289. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_index.py +0 -0
  290. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/core/Pipe/_register.py +0 -0
  291. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/jobs/_Executor.py +0 -0
  292. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/__init__.py +0 -0
  293. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -0
  294. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/daemon/RotatingFile.py +0 -0
  295. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/daemon/StdinFile.py +0 -0
  296. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/daemon/_names.py +0 -0
  297. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/formatting/_jobs.py +0 -0
  298. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/formatting/_pprint.py +0 -0
  299. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/interactive.py +0 -0
  300. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/networking.py +0 -0
  301. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/packages/lazy_loader.py +0 -0
  302. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/pool.py +0 -0
  303. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/threading.py +0 -0
  304. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/warnings.py +0 -0
  305. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum/utils/yaml.py +0 -0
  306. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/dependency_links.txt +0 -0
  307. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/entry_points.txt +0 -0
  308. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/top_level.txt +0 -0
  309. {meerschaum-2.9.5 → meerschaum-3.0.0rc2}/meerschaum.egg-info/zip-safe +0 -0
@@ -0,0 +1,2 @@
1
+ prune tests
2
+ prune docs
@@ -0,0 +1,2 @@
1
+ Consult the text file 'ACKNOWLEDGEMENTS.md' for licensing information regarding dynamically linked dependencies.
2
+
@@ -1,12 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meerschaum
3
- Version: 2.9.5
3
+ Version: 3.0.0rc2
4
4
  Summary: Sync Time-Series Pipes with Meerschaum
5
- Home-page: https://meerschaum.io
6
- Author: Bennett Meares
7
- Author-email: bennett.meares@gmail.com
8
- Maintainer-email: bennett.meares@gmail.com
9
- License: Apache Software License 2.0
5
+ Author-email: Bennett Meares <bennett.meares@gmail.com>
6
+ Maintainer-email: Bennett Meares <bennett.meares@gmail.com>
7
+ License-Expression: Apache-2.0
10
8
  Project-URL: Documentation, https://docs.meerschaum.io
11
9
  Project-URL: Changelog, https://meerschaum.io/news/changelog
12
10
  Project-URL: GitHub, https://github.com/bmeares/Meerschaum
@@ -29,6 +27,7 @@ Classifier: Natural Language :: English
29
27
  Requires-Python: >=3.8
30
28
  Description-Content-Type: text/markdown
31
29
  License-File: LICENSE
30
+ License-File: NOTICE
32
31
  Provides-Extra: required
33
32
  Provides-Extra: minimal
34
33
  Provides-Extra: formatting
@@ -63,14 +62,16 @@ Requires-Dist: fasteners>=0.19.0; extra == "core"
63
62
  Requires-Dist: virtualenv>=20.1.0; extra == "core"
64
63
  Requires-Dist: attrs>=24.2.0; extra == "core"
65
64
  Requires-Dist: uv>=0.2.11; extra == "core"
65
+ Requires-Dist: pydantic>=2.11.7; extra == "core"
66
+ Requires-Dist: annotated-types>=0.7.0; extra == "core"
66
67
  Provides-Extra: jobs
67
- Requires-Dist: dill>=0.3.3; extra == "jobs"
68
- Requires-Dist: python-daemon>=0.2.3; extra == "jobs"
69
- Requires-Dist: watchfiles>=0.21.0; extra == "jobs"
70
- Requires-Dist: psutil>=5.8.0; extra == "jobs"
68
+ Requires-Dist: dill>=0.4.0; extra == "jobs"
69
+ Requires-Dist: python-daemon>=3.1.2; extra == "jobs"
70
+ Requires-Dist: watchfiles>=1.1.0; extra == "jobs"
71
+ Requires-Dist: psutil>=7.0.0; extra == "jobs"
71
72
  Provides-Extra: drivers
72
73
  Requires-Dist: cryptography>=38.0.1; extra == "drivers"
73
- Requires-Dist: psycopg[binary]>=3.2.1; extra == "drivers"
74
+ Requires-Dist: psycopg[binary]>=3.2.9; extra == "drivers"
74
75
  Requires-Dist: PyMySQL>=0.9.0; extra == "drivers"
75
76
  Requires-Dist: aiomysql>=0.0.21; extra == "drivers"
76
77
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "drivers"
@@ -114,7 +115,7 @@ Requires-Dist: mkdocs-awesome-pages-plugin>=2.5.0; extra == "docs"
114
115
  Requires-Dist: mkdocs-section-index>=0.3.3; extra == "docs"
115
116
  Requires-Dist: mkdocs-linkcheck>=1.0.6; extra == "docs"
116
117
  Requires-Dist: mkdocs-redirects>=1.0.4; extra == "docs"
117
- Requires-Dist: jinja2==3.0.3; extra == "docs"
118
+ Requires-Dist: jinja2>=3.1.6; extra == "docs"
118
119
  Provides-Extra: gui
119
120
  Requires-Dist: pywebview>=3.6.3; extra == "gui"
120
121
  Requires-Dist: pycparser>=2.21.0; extra == "gui"
@@ -125,20 +126,20 @@ Requires-Dist: modin[ray]>=0.8.3; extra == "extras"
125
126
  Requires-Dist: nanoid>=2.0.0; extra == "extras"
126
127
  Requires-Dist: importlib-metadata>=4.12.0; extra == "extras"
127
128
  Provides-Extra: sql
128
- Requires-Dist: numpy>=1.18.5; extra == "sql"
129
- Requires-Dist: pandas[parquet]>=2.0.1; extra == "sql"
130
- Requires-Dist: pyarrow>=16.1.0; extra == "sql"
129
+ Requires-Dist: numpy>=2.3.1; extra == "sql"
130
+ Requires-Dist: pandas[parquet]>=2.3.1; extra == "sql"
131
+ Requires-Dist: pyarrow>=20.0.0; extra == "sql"
131
132
  Requires-Dist: dask[complete]>=2024.12.1; extra == "sql"
132
133
  Requires-Dist: partd>=1.4.2; extra == "sql"
133
134
  Requires-Dist: pytz; extra == "sql"
134
- Requires-Dist: joblib>=0.17.0; extra == "sql"
135
- Requires-Dist: SQLAlchemy>=2.0.5; extra == "sql"
135
+ Requires-Dist: joblib>=1.5.1; extra == "sql"
136
+ Requires-Dist: SQLAlchemy>=2.0.41; extra == "sql"
136
137
  Requires-Dist: GeoAlchemy2>=0.17.1; extra == "sql"
137
- Requires-Dist: databases>=0.4.0; extra == "sql"
138
- Requires-Dist: aiosqlite>=0.16.0; extra == "sql"
139
- Requires-Dist: asyncpg>=0.21.0; extra == "sql"
138
+ Requires-Dist: databases>=0.9.0; extra == "sql"
139
+ Requires-Dist: aiosqlite>=0.21.0; extra == "sql"
140
+ Requires-Dist: asyncpg>=0.30.0; extra == "sql"
140
141
  Requires-Dist: cryptography>=38.0.1; extra == "sql"
141
- Requires-Dist: psycopg[binary]>=3.2.1; extra == "sql"
142
+ Requires-Dist: psycopg[binary]>=3.2.9; extra == "sql"
142
143
  Requires-Dist: PyMySQL>=0.9.0; extra == "sql"
143
144
  Requires-Dist: aiomysql>=0.0.21; extra == "sql"
144
145
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "sql"
@@ -166,43 +167,45 @@ Requires-Dist: fasteners>=0.19.0; extra == "sql"
166
167
  Requires-Dist: virtualenv>=20.1.0; extra == "sql"
167
168
  Requires-Dist: attrs>=24.2.0; extra == "sql"
168
169
  Requires-Dist: uv>=0.2.11; extra == "sql"
170
+ Requires-Dist: pydantic>=2.11.7; extra == "sql"
171
+ Requires-Dist: annotated-types>=0.7.0; extra == "sql"
169
172
  Requires-Dist: pyproj>=3.7.1; extra == "sql"
170
173
  Requires-Dist: geopandas>=1.0.1; extra == "sql"
171
174
  Requires-Dist: shapely>=2.0.7; extra == "sql"
172
175
  Provides-Extra: dash
173
- Requires-Dist: Flask-Compress>=1.10.1; extra == "dash"
174
- Requires-Dist: dash>=2.6.2; extra == "dash"
176
+ Requires-Dist: Flask-Compress>=1.17.0; extra == "dash"
177
+ Requires-Dist: dash>=3.1.1; extra == "dash"
175
178
  Requires-Dist: dash-bootstrap-components>=1.7.1; extra == "dash"
176
179
  Requires-Dist: dash-ace>=0.2.1; extra == "dash"
177
- Requires-Dist: dash-extensions>=1.0.4; extra == "dash"
178
- Requires-Dist: dash-daq>=0.5.0; extra == "dash"
179
- Requires-Dist: terminado>=0.12.1; extra == "dash"
180
- Requires-Dist: tornado>=6.1.0; extra == "dash"
180
+ Requires-Dist: dash-extensions>=2.0.4; extra == "dash"
181
+ Requires-Dist: dash-daq>=0.6.0; extra == "dash"
182
+ Requires-Dist: terminado>=0.18.1; extra == "dash"
183
+ Requires-Dist: tornado>=6.5.1; extra == "dash"
181
184
  Provides-Extra: api
182
- Requires-Dist: uvicorn[standard]>=0.29.0; extra == "api"
183
- Requires-Dist: gunicorn>=22.0.0; extra == "api"
184
- Requires-Dist: python-dotenv>=0.20.0; extra == "api"
185
- Requires-Dist: websockets>=11.0.3; extra == "api"
186
- Requires-Dist: fastapi>=0.111.0; extra == "api"
187
- Requires-Dist: fastapi-login>=1.7.2; extra == "api"
188
- Requires-Dist: python-multipart>=0.0.9; extra == "api"
189
- Requires-Dist: httpx>=0.27.2; extra == "api"
190
- Requires-Dist: httpcore>=1.0.6; extra == "api"
191
- Requires-Dist: valkey>=6.0.0; extra == "api"
192
- Requires-Dist: numpy>=1.18.5; extra == "api"
193
- Requires-Dist: pandas[parquet]>=2.0.1; extra == "api"
194
- Requires-Dist: pyarrow>=16.1.0; extra == "api"
185
+ Requires-Dist: uvicorn[standard]>=0.35.0; extra == "api"
186
+ Requires-Dist: gunicorn>=23.0.0; extra == "api"
187
+ Requires-Dist: python-dotenv>=1.1.1; extra == "api"
188
+ Requires-Dist: websockets>=15.0.1; extra == "api"
189
+ Requires-Dist: fastapi>=0.116.0; extra == "api"
190
+ Requires-Dist: fastapi-login>=1.10.3; extra == "api"
191
+ Requires-Dist: python-multipart>=0.0.20; extra == "api"
192
+ Requires-Dist: httpx>=0.28.1; extra == "api"
193
+ Requires-Dist: httpcore>=1.0.9; extra == "api"
194
+ Requires-Dist: valkey>=6.1.0; extra == "api"
195
+ Requires-Dist: numpy>=2.3.1; extra == "api"
196
+ Requires-Dist: pandas[parquet]>=2.3.1; extra == "api"
197
+ Requires-Dist: pyarrow>=20.0.0; extra == "api"
195
198
  Requires-Dist: dask[complete]>=2024.12.1; extra == "api"
196
199
  Requires-Dist: partd>=1.4.2; extra == "api"
197
200
  Requires-Dist: pytz; extra == "api"
198
- Requires-Dist: joblib>=0.17.0; extra == "api"
199
- Requires-Dist: SQLAlchemy>=2.0.5; extra == "api"
201
+ Requires-Dist: joblib>=1.5.1; extra == "api"
202
+ Requires-Dist: SQLAlchemy>=2.0.41; extra == "api"
200
203
  Requires-Dist: GeoAlchemy2>=0.17.1; extra == "api"
201
- Requires-Dist: databases>=0.4.0; extra == "api"
202
- Requires-Dist: aiosqlite>=0.16.0; extra == "api"
203
- Requires-Dist: asyncpg>=0.21.0; extra == "api"
204
+ Requires-Dist: databases>=0.9.0; extra == "api"
205
+ Requires-Dist: aiosqlite>=0.21.0; extra == "api"
206
+ Requires-Dist: asyncpg>=0.30.0; extra == "api"
204
207
  Requires-Dist: cryptography>=38.0.1; extra == "api"
205
- Requires-Dist: psycopg[binary]>=3.2.1; extra == "api"
208
+ Requires-Dist: psycopg[binary]>=3.2.9; extra == "api"
206
209
  Requires-Dist: PyMySQL>=0.9.0; extra == "api"
207
210
  Requires-Dist: aiomysql>=0.0.21; extra == "api"
208
211
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "api"
@@ -230,6 +233,8 @@ Requires-Dist: fasteners>=0.19.0; extra == "api"
230
233
  Requires-Dist: virtualenv>=20.1.0; extra == "api"
231
234
  Requires-Dist: attrs>=24.2.0; extra == "api"
232
235
  Requires-Dist: uv>=0.2.11; extra == "api"
236
+ Requires-Dist: pydantic>=2.11.7; extra == "api"
237
+ Requires-Dist: annotated-types>=0.7.0; extra == "api"
233
238
  Requires-Dist: pyproj>=3.7.1; extra == "api"
234
239
  Requires-Dist: geopandas>=1.0.1; extra == "api"
235
240
  Requires-Dist: shapely>=2.0.7; extra == "api"
@@ -241,18 +246,18 @@ Requires-Dist: colorama>=0.4.3; extra == "api"
241
246
  Requires-Dist: rich>=13.4.2; extra == "api"
242
247
  Requires-Dist: more-termcolor>=1.1.3; extra == "api"
243
248
  Requires-Dist: humanfriendly>=10.0.0; extra == "api"
244
- Requires-Dist: Flask-Compress>=1.10.1; extra == "api"
245
- Requires-Dist: dash>=2.6.2; extra == "api"
249
+ Requires-Dist: Flask-Compress>=1.17.0; extra == "api"
250
+ Requires-Dist: dash>=3.1.1; extra == "api"
246
251
  Requires-Dist: dash-bootstrap-components>=1.7.1; extra == "api"
247
252
  Requires-Dist: dash-ace>=0.2.1; extra == "api"
248
- Requires-Dist: dash-extensions>=1.0.4; extra == "api"
249
- Requires-Dist: dash-daq>=0.5.0; extra == "api"
250
- Requires-Dist: terminado>=0.12.1; extra == "api"
251
- Requires-Dist: tornado>=6.1.0; extra == "api"
252
- Requires-Dist: dill>=0.3.3; extra == "api"
253
- Requires-Dist: python-daemon>=0.2.3; extra == "api"
254
- Requires-Dist: watchfiles>=0.21.0; extra == "api"
255
- Requires-Dist: psutil>=5.8.0; extra == "api"
253
+ Requires-Dist: dash-extensions>=2.0.4; extra == "api"
254
+ Requires-Dist: dash-daq>=0.6.0; extra == "api"
255
+ Requires-Dist: terminado>=0.18.1; extra == "api"
256
+ Requires-Dist: tornado>=6.5.1; extra == "api"
257
+ Requires-Dist: dill>=0.4.0; extra == "api"
258
+ Requires-Dist: python-daemon>=3.1.2; extra == "api"
259
+ Requires-Dist: watchfiles>=1.1.0; extra == "api"
260
+ Requires-Dist: psutil>=7.0.0; extra == "api"
256
261
  Provides-Extra: full
257
262
  Requires-Dist: pprintpp>=0.4.0; extra == "full"
258
263
  Requires-Dist: asciitree>=0.3.3; extra == "full"
@@ -284,12 +289,14 @@ Requires-Dist: fasteners>=0.19.0; extra == "full"
284
289
  Requires-Dist: virtualenv>=20.1.0; extra == "full"
285
290
  Requires-Dist: attrs>=24.2.0; extra == "full"
286
291
  Requires-Dist: uv>=0.2.11; extra == "full"
287
- Requires-Dist: dill>=0.3.3; extra == "full"
288
- Requires-Dist: python-daemon>=0.2.3; extra == "full"
289
- Requires-Dist: watchfiles>=0.21.0; extra == "full"
290
- Requires-Dist: psutil>=5.8.0; extra == "full"
292
+ Requires-Dist: pydantic>=2.11.7; extra == "full"
293
+ Requires-Dist: annotated-types>=0.7.0; extra == "full"
294
+ Requires-Dist: dill>=0.4.0; extra == "full"
295
+ Requires-Dist: python-daemon>=3.1.2; extra == "full"
296
+ Requires-Dist: watchfiles>=1.1.0; extra == "full"
297
+ Requires-Dist: psutil>=7.0.0; extra == "full"
291
298
  Requires-Dist: cryptography>=38.0.1; extra == "full"
292
- Requires-Dist: psycopg[binary]>=3.2.1; extra == "full"
299
+ Requires-Dist: psycopg[binary]>=3.2.9; extra == "full"
293
300
  Requires-Dist: PyMySQL>=0.9.0; extra == "full"
294
301
  Requires-Dist: aiomysql>=0.0.21; extra == "full"
295
302
  Requires-Dist: sqlalchemy-cockroachdb>=2.0.0; extra == "full"
@@ -300,49 +307,38 @@ Requires-Dist: geopandas>=1.0.1; extra == "full"
300
307
  Requires-Dist: shapely>=2.0.7; extra == "full"
301
308
  Requires-Dist: pywebview>=3.6.3; extra == "full"
302
309
  Requires-Dist: pycparser>=2.21.0; extra == "full"
303
- Requires-Dist: numpy>=1.18.5; extra == "full"
304
- Requires-Dist: pandas[parquet]>=2.0.1; extra == "full"
305
- Requires-Dist: pyarrow>=16.1.0; extra == "full"
310
+ Requires-Dist: numpy>=2.3.1; extra == "full"
311
+ Requires-Dist: pandas[parquet]>=2.3.1; extra == "full"
312
+ Requires-Dist: pyarrow>=20.0.0; extra == "full"
306
313
  Requires-Dist: dask[complete]>=2024.12.1; extra == "full"
307
314
  Requires-Dist: partd>=1.4.2; extra == "full"
308
315
  Requires-Dist: pytz; extra == "full"
309
- Requires-Dist: joblib>=0.17.0; extra == "full"
310
- Requires-Dist: SQLAlchemy>=2.0.5; extra == "full"
316
+ Requires-Dist: joblib>=1.5.1; extra == "full"
317
+ Requires-Dist: SQLAlchemy>=2.0.41; extra == "full"
311
318
  Requires-Dist: GeoAlchemy2>=0.17.1; extra == "full"
312
- Requires-Dist: databases>=0.4.0; extra == "full"
313
- Requires-Dist: aiosqlite>=0.16.0; extra == "full"
314
- Requires-Dist: asyncpg>=0.21.0; extra == "full"
315
- Requires-Dist: Flask-Compress>=1.10.1; extra == "full"
316
- Requires-Dist: dash>=2.6.2; extra == "full"
319
+ Requires-Dist: databases>=0.9.0; extra == "full"
320
+ Requires-Dist: aiosqlite>=0.21.0; extra == "full"
321
+ Requires-Dist: asyncpg>=0.30.0; extra == "full"
322
+ Requires-Dist: Flask-Compress>=1.17.0; extra == "full"
323
+ Requires-Dist: dash>=3.1.1; extra == "full"
317
324
  Requires-Dist: dash-bootstrap-components>=1.7.1; extra == "full"
318
325
  Requires-Dist: dash-ace>=0.2.1; extra == "full"
319
- Requires-Dist: dash-extensions>=1.0.4; extra == "full"
320
- Requires-Dist: dash-daq>=0.5.0; extra == "full"
321
- Requires-Dist: terminado>=0.12.1; extra == "full"
322
- Requires-Dist: tornado>=6.1.0; extra == "full"
323
- Requires-Dist: uvicorn[standard]>=0.29.0; extra == "full"
324
- Requires-Dist: gunicorn>=22.0.0; extra == "full"
325
- Requires-Dist: python-dotenv>=0.20.0; extra == "full"
326
- Requires-Dist: websockets>=11.0.3; extra == "full"
327
- Requires-Dist: fastapi>=0.111.0; extra == "full"
328
- Requires-Dist: fastapi-login>=1.7.2; extra == "full"
329
- Requires-Dist: python-multipart>=0.0.9; extra == "full"
330
- Requires-Dist: httpx>=0.27.2; extra == "full"
331
- Requires-Dist: httpcore>=1.0.6; extra == "full"
332
- Requires-Dist: valkey>=6.0.0; extra == "full"
333
- Dynamic: author
334
- Dynamic: author-email
335
- Dynamic: classifier
336
- Dynamic: description
337
- Dynamic: description-content-type
338
- Dynamic: home-page
339
- Dynamic: license
326
+ Requires-Dist: dash-extensions>=2.0.4; extra == "full"
327
+ Requires-Dist: dash-daq>=0.6.0; extra == "full"
328
+ Requires-Dist: terminado>=0.18.1; extra == "full"
329
+ Requires-Dist: tornado>=6.5.1; extra == "full"
330
+ Requires-Dist: uvicorn[standard]>=0.35.0; extra == "full"
331
+ Requires-Dist: gunicorn>=23.0.0; extra == "full"
332
+ Requires-Dist: python-dotenv>=1.1.1; extra == "full"
333
+ Requires-Dist: websockets>=15.0.1; extra == "full"
334
+ Requires-Dist: fastapi>=0.116.0; extra == "full"
335
+ Requires-Dist: fastapi-login>=1.10.3; extra == "full"
336
+ Requires-Dist: python-multipart>=0.0.20; extra == "full"
337
+ Requires-Dist: httpx>=0.28.1; extra == "full"
338
+ Requires-Dist: httpcore>=1.0.9; extra == "full"
339
+ Requires-Dist: valkey>=6.1.0; extra == "full"
340
340
  Dynamic: license-file
341
- Dynamic: maintainer-email
342
- Dynamic: project-url
343
341
  Dynamic: provides-extra
344
- Dynamic: requires-python
345
- Dynamic: summary
346
342
 
347
343
  <img src="https://meerschaum.io/assets/banner_1920x320.png" alt="Meerschaum banner" style="width: 100%"/>
348
344
 
@@ -3,7 +3,7 @@
3
3
  # vim:fenc=utf-8
4
4
 
5
5
  """
6
- Copyright 2023 Bennett Meares
6
+ Copyright 2025 Bennett Meares
7
7
 
8
8
  Licensed under the Apache License, Version 2.0 (the "License");
9
9
  you may not use this file except in compliance with the License.
@@ -19,13 +19,14 @@ limitations under the License.
19
19
  """
20
20
 
21
21
  import atexit
22
+
22
23
  from meerschaum.utils.typing import SuccessTuple
23
24
  from meerschaum.utils.packages import attempt_import
24
25
  from meerschaum.core.Pipe import Pipe
25
26
  from meerschaum.plugins import Plugin
26
27
  from meerschaum.utils.venv import Venv
27
28
  from meerschaum.jobs import Job, make_executor
28
- from meerschaum.connectors import get_connector, Connector, make_connector
29
+ from meerschaum.connectors import get_connector, Connector, InstanceConnector, make_connector
29
30
  from meerschaum.utils import get_pipes
30
31
  from meerschaum.utils.formatting import pprint
31
32
  from meerschaum._internal.docs import index as __doc__
@@ -42,6 +43,7 @@ __all__ = (
42
43
  "get_config",
43
44
  "Pipe",
44
45
  "Plugin",
46
+ "SuccessTuple",
45
47
  "Venv",
46
48
  "Plugin",
47
49
  "Job",
@@ -55,6 +57,7 @@ __all__ = (
55
57
  "utils",
56
58
  "SuccessTuple",
57
59
  "Connector",
60
+ "InstanceConnector",
58
61
  "make_connector",
59
62
  "entry",
60
63
  )
@@ -6,3 +6,4 @@
6
6
  Modules, classes, and variables declared in _internal are not intended for general public use.
7
7
  """
8
8
 
9
+ from meerschaum._internal.static import STATIC_CONFIG
@@ -23,7 +23,7 @@ def split_pipeline_sysargs(sysargs: List[str]) -> Tuple[List[str], List[str]]:
23
23
  """
24
24
  Split `sysargs` into the main pipeline and the flags following the pipeline separator (`:`).
25
25
  """
26
- from meerschaum.config.static import STATIC_CONFIG
26
+ from meerschaum._internal.static import STATIC_CONFIG
27
27
  pipeline_key = STATIC_CONFIG['system']['arguments']['pipeline_key']
28
28
  if pipeline_key not in sysargs:
29
29
  return sysargs, []
@@ -40,7 +40,7 @@ def split_chained_sysargs(sysargs: List[str]) -> List[List[str]]:
40
40
  Split a `sysargs` list containing "and" keys (`+`)
41
41
  into a list of individual `sysargs`.
42
42
  """
43
- from meerschaum.config.static import STATIC_CONFIG
43
+ from meerschaum._internal.static import STATIC_CONFIG
44
44
  and_key = STATIC_CONFIG['system']['arguments']['and_key']
45
45
 
46
46
  if not sysargs or and_key not in sysargs:
@@ -90,7 +90,7 @@ def parse_arguments(sysargs: List[str]) -> Dict[str, Any]:
90
90
 
91
91
  """
92
92
  import shlex
93
- from meerschaum.config.static import STATIC_CONFIG
93
+ from meerschaum._internal.static import STATIC_CONFIG
94
94
  from meerschaum._internal.arguments._parser import parser
95
95
 
96
96
  global _loaded_plugins_args
@@ -360,7 +360,7 @@ def remove_leading_action(
360
360
  """
361
361
  from meerschaum.actions import get_action, get_main_action_name
362
362
  from meerschaum.utils.warnings import warn
363
- from meerschaum.config.static import STATIC_CONFIG
363
+ from meerschaum._internal.static import STATIC_CONFIG
364
364
  action_function = get_action(action, _actions=_actions)
365
365
  if action_function is None:
366
366
  return action
@@ -40,7 +40,8 @@ class ArgumentParser(argparse.ArgumentParser):
40
40
 
41
41
  def parse_datetime(dt_str: str) -> Union[datetime, int, str]:
42
42
  """Parse a string into a datetime."""
43
- from meerschaum.utils.misc import is_int, round_time
43
+ from meerschaum.utils.dtypes import round_time
44
+ from meerschaum.utils.misc import is_int
44
45
  if is_int(dt_str):
45
46
  return int(dt_str)
46
47
 
@@ -195,6 +196,7 @@ groups['pipes'] = parser.add_argument_group(title='Pipes options')
195
196
  groups['sync'] = parser.add_argument_group(title='Sync options')
196
197
  groups['api'] = parser.add_argument_group(title='API options')
197
198
  groups['plugins'] = parser.add_argument_group(title='Plugins options')
199
+ groups['tokens'] = parser.add_argument_group(title='Tokens options')
198
200
  groups['packages'] = parser.add_argument_group(title='Packages options')
199
201
  groups['debug'] = parser.add_argument_group(title='Debugging options')
200
202
  groups['misc'] = parser.add_argument_group(title='Miscellaneous options')
@@ -393,7 +395,11 @@ groups['api'].add_argument(
393
395
  )
394
396
  groups['api'].add_argument(
395
397
  '--no-dash', '--nodash', action='store_true',
396
- help = 'When starting the API, do not start the Web interface.',
398
+ help = 'When starting the API, do not start the Web Console dashboard.',
399
+ )
400
+ groups['api'].add_argument(
401
+ '--no-webterm', '--nowebterm', action='store_true',
402
+ help="When starting the API, do not start the Webterm.",
397
403
  )
398
404
  groups['api'].add_argument(
399
405
  '--private', '--private-mode', action='store_true',
@@ -419,12 +425,23 @@ groups['api'].add_argument(
419
425
  '--certfile', type=str,
420
426
  help = "Start the API server with this certfile (requires --keyfile).",
421
427
  )
428
+
422
429
  ### Plugins options
423
430
  groups['plugins'].add_argument(
424
431
  '-r', '--repository', '--repo', type=str,
425
432
  help="Meerschaum plugins repository to connect to. Specify an API label (default: 'mrsm')"
426
433
  )
427
434
 
435
+ ### Tokens options
436
+ groups['tokens'].add_argument(
437
+ '--ttl-days', type=int,
438
+ help="For how many days should a token be valid.",
439
+ )
440
+ groups['tokens'].add_argument(
441
+ '--scopes', '--scope', nargs='+',
442
+ help="Which scope permissions to grant to a token.",
443
+ )
444
+
428
445
  ### Packages options
429
446
  groups['packages'].add_argument(
430
447
  '--venv', type=str,
@@ -98,7 +98,7 @@ Decorate your connector classes with `meerschaum.make_connector()` to designate
98
98
  from datetime import datetime, timezone
99
99
  from random import randint
100
100
  import meerschaum as mrsm
101
- from meerschaum.utils.misc import round_time
101
+ from meerschaum.utils.dtypes import round_time
102
102
 
103
103
  @mrsm.make_connector
104
104
  class FooConnector(mrsm.Connector):
@@ -535,14 +535,25 @@ def init_dash(dash_app):
535
535
  <p></p>
536
536
  <ul>
537
537
  <li><code>meerschaum.utils.dataframe.add_missing_cols_to_df()</code></li>
538
+ <li><code>meerschaum.utils.dataframe.chunksize_to_npartitions()</code></li>
539
+ <li><code>meerschaum.utils.dataframe.df_from_literal()</code></li>
538
540
  <li><code>meerschaum.utils.dataframe.df_is_chunk_generator()</code></li>
539
541
  <li><code>meerschaum.utils.dataframe.enforce_dtypes()</code></li>
540
542
  <li><code>meerschaum.utils.dataframe.filter_unseen_df()</code></li>
543
+ <li><code>meerschaum.utils.dataframe.get_bool_cols()</code></li>
544
+ <li><code>meerschaum.utils.dataframe.get_bytes_cols()</code></li>
541
545
  <li><code>meerschaum.utils.dataframe.get_datetime_bound_from_df()</code></li>
546
+ <li><code>meerschaum.utils.dataframe.get_datetime_cols()</code></li>
547
+ <li><code>meerschaum.utils.dataframe.get_datetime_cols_types()</code></li>
542
548
  <li><code>meerschaum.utils.dataframe.get_first_valid_dask_partition()</code></li>
549
+ <li><code>meerschaum.utils.dataframe.get_geometry_cols()</code></li>
550
+ <li><code>meerschaum.utils.dataframe.get_geometry_cols_types()</code></li>
543
551
  <li><code>meerschaum.utils.dataframe.get_json_cols()</code></li>
544
552
  <li><code>meerschaum.utils.dataframe.get_numeric_cols()</code></li>
553
+ <li><code>meerschaum.utils.dataframe.get_special_cols()</code></li>
545
554
  <li><code>meerschaum.utils.dataframe.get_unhashable_cols()</code></li>
555
+ <li><code>meerschaum.utils.dataframe.get_unique_index_values()</code></li>
556
+ <li><code>meerschaum.utils.dataframe.get_uuid_cols()</code></li>
546
557
  <li><code>meerschaum.utils.dataframe.parse_df_datetimes()</code></li>
547
558
  <li><code>meerschaum.utils.dataframe.query_df()</code></li>
548
559
  <li><code>meerschaum.utils.dataframe.to_json()</code></li>
@@ -559,14 +570,51 @@ def init_dash(dash_app):
559
570
  <p></p>
560
571
  <ul>
561
572
  <li><code>meerschaum.utils.dtypes.are_dtypes_equal()</code></li>
573
+ <li><code>meerschaum.utils.dtypes.attempt_cast_to_bytes()</code></li>
574
+ <li><code>meerschaum.utils.dtypes.attempt_cast_to_geometry()</code></li>
562
575
  <li><code>meerschaum.utils.dtypes.attempt_cast_to_numeric()</code></li>
576
+ <li><code>meerschaum.utils.dtypes.attempt_cast_to_uuid()</code></li>
577
+ <li><code>meerschaum.utils.dtypes.coerce_timezone()</code></li>
578
+ <li><code>meerschaum.utils.dtypes.deserialize_base64()</code></li>
579
+ <li><code>meerschaum.utils.dtypes.deserialize_bytes_string()</code></li>
580
+ <li><code>meerschaum.utils.dtypes.deserialize_geometry()</code></li>
581
+ <li><code>meerschaum.utils.dtypes.dtype_is_special()</code></li>
582
+ <li><code>meerschaum.utils.dtypes.encode_bytes_for_bytea()</code></li>
583
+ <li><code>meerschaum.utils.dtypes.geometry_is_wkt()</code></li>
584
+ <li><code>meerschaum.utils.dtypes.get_current_timestamp()</code></li>
585
+ <li><code>meerschaum.utils.dtypes.get_geometry_type_srid()</code></li>
563
586
  <li><code>meerschaum.utils.dtypes.is_dtype_numeric()</code></li>
587
+ <li><code>meerschaum.utils.dtypes.json_serialize_value()</code></li>
564
588
  <li><code>meerschaum.utils.dtypes.none_if_null()</code></li>
589
+ <li><code>meerschaum.utils.dtypes.project_geometry()</code></li>
565
590
  <li><code>meerschaum.utils.dtypes.quantize_decimal()</code></li>
591
+ <li><code>meerschaum.utils.dtypes.serialize_bytes()</code></li>
592
+ <li><code>meerschaum.utils.dtypes.serialize_datetime()</code></li>
593
+ <li><code>meerschaum.utils.dtypes.serialize_date()</code></li>
594
+ <li><code>meerschaum.utils.dtypes.serialize_decimal()</code></li>
595
+ <li><code>meerschaum.utils.dtypes.serialize_geometry()</code></li>
596
+ <li><code>meerschaum.utils.dtypes.to_datetime()</code></li>
566
597
  <li><code>meerschaum.utils.dtypes.to_pandas_dtype()</code></li>
567
598
  <li><code>meerschaum.utils.dtypes.value_is_null()</code></li>
599
+ <li><code>meerschaum.utils.dtypes.get_current_timestamp()</code></li>
600
+ <li><code>meerschaum.utils.dtypes.dtype_is_special()</code></li>
601
+ <li><code>meerschaum.utils.dtypes.get_next_precision_unit()</code></li>
602
+ <li><code>meerschaum.utils.dtypes.round_time()</code></li>
603
+ </ul>
604
+ </details>
605
+ </ul>
606
+
607
+ <ul>
608
+ <details>
609
+ <summary>
610
+ <code>meerschaum.utils.dtypes.sql</code><br>
611
+ Work with SQL data types.<br>
612
+ </summary>
613
+ <p></p>
614
+ <ul>
568
615
  <li><code>meerschaum.utils.dtypes.sql.get_pd_type_from_db_type()</code></li>
569
616
  <li><code>meerschaum.utils.dtypes.sql.get_db_type_from_pd_type()</code></li>
617
+ <li><code>meerschaum.utils.dtypes.sql.get_numeric_precision_scale()</code></li>
570
618
  </ul>
571
619
  </details>
572
620
  </ul>
@@ -605,7 +653,6 @@ def init_dash(dash_app):
605
653
  <p></p>
606
654
  <ul>
607
655
  <li><code>meerschaum.utils.misc.items_str()</code></li>
608
- <li><code>meerschaum.utils.misc.round_time()</code></li>
609
656
  <li><code>meerschaum.utils.misc.is_int()</code></li>
610
657
  <li><code>meerschaum.utils.misc.interval_str()</code></li>
611
658
  <li><code>meerschaum.utils.misc.filter_keywords()</code></li>
@@ -15,7 +15,7 @@ import pathlib
15
15
 
16
16
  import meerschaum as mrsm
17
17
  from meerschaum.utils.typing import SuccessTuple, List, Optional, Dict, Callable, Any
18
- from meerschaum.config.static import STATIC_CONFIG as _STATIC_CONFIG
18
+ from meerschaum._internal.static import STATIC_CONFIG as _STATIC_CONFIG
19
19
 
20
20
  _systemd_result_path = None
21
21
  if (_STATIC_CONFIG['environment']['systemd_log_path']) in os.environ:
@@ -66,7 +66,7 @@ def entry(
66
66
  sysargs_has_api_executor_keys,
67
67
  get_pipeline_sysargs,
68
68
  )
69
- from meerschaum.config.static import STATIC_CONFIG
69
+ from meerschaum._internal.static import STATIC_CONFIG
70
70
  if sysargs is None:
71
71
  sysargs = []
72
72
  if not isinstance(sysargs, list):
@@ -206,7 +206,7 @@ def entry_with_args(
206
206
  from meerschaum.actions import get_action
207
207
  from meerschaum._internal.arguments import remove_leading_action
208
208
  from meerschaum.utils.venv import active_venvs, deactivate_venv
209
- from meerschaum.config.static import STATIC_CONFIG
209
+ from meerschaum._internal.static import STATIC_CONFIG
210
210
  from meerschaum.utils.typing import is_success_tuple
211
211
 
212
212
  if _patch_args:
@@ -325,9 +325,9 @@ def _do_action_wrapper(
325
325
  import traceback
326
326
  traceback.print_exception(type(e), e, e.__traceback__)
327
327
  result = False, (
328
- f"Failed to execute `{action_name}` "
329
- + "with exception:\n\n" +
330
- f"{e}."
328
+ f"Failed to execute `{action_name.strip()}` "
329
+ + f"with `{type(e).__name__}`"
330
+ + (f':\n\n{e}' if str(e) else '.')
331
331
  + (
332
332
  "\n\nRun again with '--debug' to see a full stacktrace."
333
333
  if not kw.get('debug', False) else ''
@@ -35,7 +35,7 @@ _clear_screen = get_config('shell', 'clear_screen', patch=True)
35
35
  from meerschaum.utils.misc import string_width, remove_ansi
36
36
  from meerschaum.utils.warnings import warn
37
37
  from meerschaum.jobs import get_executor_keys_from_context
38
- from meerschaum.config.static import STATIC_CONFIG
38
+ from meerschaum._internal.static import STATIC_CONFIG
39
39
  from meerschaum._internal.arguments._parse_arguments import (
40
40
  split_chained_sysargs,
41
41
  split_pipeline_sysargs,