meerschaum 2.6.16__tar.gz → 2.6.17__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. {meerschaum-2.6.16/meerschaum.egg-info → meerschaum-2.6.17}/PKG-INFO +2 -2
  2. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/arguments/_parse_arguments.py +1 -1
  3. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/edit.py +22 -2
  4. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/sync.py +2 -3
  5. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_version.py +1 -1
  6. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_create_engine.py +3 -3
  7. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_pipes.py +21 -13
  8. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/jobs/_Job.py +2 -1
  9. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/daemon/Daemon.py +2 -2
  10. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/packages/_packages.py +1 -1
  11. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/schedule.py +8 -3
  12. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/sql.py +6 -36
  13. {meerschaum-2.6.16 → meerschaum-2.6.17/meerschaum.egg-info}/PKG-INFO +2 -2
  14. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum.egg-info/requires.txt +1 -1
  15. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_sync.py +4 -2
  16. {meerschaum-2.6.16 → meerschaum-2.6.17}/LICENSE +0 -0
  17. {meerschaum-2.6.16 → meerschaum-2.6.17}/NOTICE +0 -0
  18. {meerschaum-2.6.16 → meerschaum-2.6.17}/README.md +0 -0
  19. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/__init__.py +0 -0
  20. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/__main__.py +0 -0
  21. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/__init__.py +0 -0
  22. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/arguments/__init__.py +0 -0
  23. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/arguments/_parser.py +0 -0
  24. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/docs/__init__.py +0 -0
  25. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/docs/index.py +0 -0
  26. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/entry.py +0 -0
  27. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/gui/__init__.py +0 -0
  28. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/gui/app/__init__.py +0 -0
  29. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/gui/app/_windows.py +0 -0
  30. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/gui/app/actions.py +0 -0
  31. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/gui/app/pipes.py +0 -0
  32. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/shell/Shell.py +0 -0
  33. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/shell/ShellCompleter.py +0 -0
  34. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/shell/ValidAutoSuggest.py +0 -0
  35. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/shell/__init__.py +0 -0
  36. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/shell/resources/__init__.py +0 -0
  37. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/shell/updates.py +0 -0
  38. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/term/TermPageHandler.py +0 -0
  39. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/term/__init__.py +0 -0
  40. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/_internal/term/tools.py +0 -0
  41. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/__init__.py +0 -0
  42. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/api.py +0 -0
  43. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/attach.py +0 -0
  44. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/bootstrap.py +0 -0
  45. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/clear.py +0 -0
  46. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/copy.py +0 -0
  47. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/deduplicate.py +0 -0
  48. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/delete.py +0 -0
  49. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/drop.py +0 -0
  50. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/install.py +0 -0
  51. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/login.py +0 -0
  52. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/os.py +0 -0
  53. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/pause.py +0 -0
  54. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/python.py +0 -0
  55. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/register.py +0 -0
  56. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/reload.py +0 -0
  57. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/restart.py +0 -0
  58. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/setup.py +0 -0
  59. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/sh.py +0 -0
  60. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/show.py +0 -0
  61. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/sql.py +0 -0
  62. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/stack.py +0 -0
  63. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/start.py +0 -0
  64. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/stop.py +0 -0
  65. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/tag.py +0 -0
  66. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/uninstall.py +0 -0
  67. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/upgrade.py +0 -0
  68. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/actions/verify.py +0 -0
  69. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/__init__.py +0 -0
  70. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/_chain.py +0 -0
  71. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/_events.py +0 -0
  72. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/_oauth2.py +0 -0
  73. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/_websockets.py +0 -0
  74. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/__init__.py +0 -0
  75. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/assets/__init__.py +0 -0
  76. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/assets/ansi_up.js +0 -0
  77. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/assets/banner_1920x320.png +0 -0
  78. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/assets/favicon.ico +0 -0
  79. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/assets/logo_48x48.png +0 -0
  80. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/assets/logo_500x500.png +0 -0
  81. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/__init__.py +0 -0
  82. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/custom.py +0 -0
  83. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/dashboard.py +0 -0
  84. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/jobs.py +0 -0
  85. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/login.py +0 -0
  86. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/pipes.py +0 -0
  87. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/plugins.py +0 -0
  88. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/callbacks/register.py +0 -0
  89. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/components.py +0 -0
  90. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/connectors.py +0 -0
  91. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/graphs.py +0 -0
  92. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/jobs.py +0 -0
  93. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/keys.py +0 -0
  94. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/__init__.py +0 -0
  95. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/dashboard.py +0 -0
  96. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/error.py +0 -0
  97. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/job.py +0 -0
  98. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/login.py +0 -0
  99. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/pipes.py +0 -0
  100. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/plugins.py +0 -0
  101. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pages/register.py +0 -0
  102. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/pipes.py +0 -0
  103. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/plugins.py +0 -0
  104. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/sessions.py +0 -0
  105. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/sync.py +0 -0
  106. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/users.py +0 -0
  107. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/websockets.py +0 -0
  108. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/dash/webterm.py +0 -0
  109. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/models/__init__.py +0 -0
  110. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/models/_interfaces.py +0 -0
  111. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/models/_locations.py +0 -0
  112. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/models/_metrics.py +0 -0
  113. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/models/_pipes.py +0 -0
  114. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/__init__.py +0 -0
  115. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/__init__.py +0 -0
  116. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/css/__init__.py +0 -0
  117. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/css/bootstrap.min.css +0 -0
  118. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/css/dash.css +0 -0
  119. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/css/dbc_dark.css +0 -0
  120. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/css/styles.css +0 -0
  121. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/css/xterm.css +0 -0
  122. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/ico/__init__.py +0 -0
  123. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/ico/logo.ico +0 -0
  124. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/js/__init__.py +0 -0
  125. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/js/action_button.js +0 -0
  126. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/js/main.js +0 -0
  127. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/js/terminado.js +0 -0
  128. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/js/xterm.js +0 -0
  129. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/static/png/__init__.py +0 -0
  130. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/templates/__init__.py +0 -0
  131. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/templates/index.html +0 -0
  132. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/templates/old_index.html +0 -0
  133. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/templates/secret.html +0 -0
  134. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/resources/templates/termpage.html +0 -0
  135. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/__init__.py +0 -0
  136. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_actions.py +0 -0
  137. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_connectors.py +0 -0
  138. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_index.py +0 -0
  139. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_jobs.py +0 -0
  140. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_login.py +0 -0
  141. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_misc.py +0 -0
  142. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_pipes.py +0 -0
  143. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_plugins.py +0 -0
  144. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_users.py +0 -0
  145. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_version.py +0 -0
  146. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/routes/_webterm.py +0 -0
  147. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/api/tables/__init__.py +0 -0
  148. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/__init__.py +0 -0
  149. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_dash.py +0 -0
  150. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_default.py +0 -0
  151. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_edit.py +0 -0
  152. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_environment.py +0 -0
  153. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_formatting.py +0 -0
  154. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_jobs.py +0 -0
  155. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_patch.py +0 -0
  156. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_paths.py +0 -0
  157. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_preprocess.py +0 -0
  158. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_read_config.py +0 -0
  159. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_shell.py +0 -0
  160. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/_sync.py +0 -0
  161. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/paths.py +0 -0
  162. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/resources/__init__.py +0 -0
  163. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/stack/__init__.py +0 -0
  164. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/stack/grafana/__init__.py +0 -0
  165. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/stack/mosquitto/__init__.py +0 -0
  166. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/stack/mosquitto/resources/__init__.py +0 -0
  167. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/stack/resources/__init__.py +0 -0
  168. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/config/static/__init__.py +0 -0
  169. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/_Connector.py +0 -0
  170. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/__init__.py +0 -0
  171. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_APIConnector.py +0 -0
  172. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/__init__.py +0 -0
  173. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_actions.py +0 -0
  174. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_fetch.py +0 -0
  175. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_jobs.py +0 -0
  176. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_login.py +0 -0
  177. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_misc.py +0 -0
  178. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_pipes.py +0 -0
  179. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_plugins.py +0 -0
  180. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_request.py +0 -0
  181. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_uri.py +0 -0
  182. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/api/_users.py +0 -0
  183. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/parse.py +0 -0
  184. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/plugin/PluginConnector.py +0 -0
  185. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/plugin/__init__.py +0 -0
  186. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/poll.py +0 -0
  187. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_SQLConnector.py +0 -0
  188. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/__init__.py +0 -0
  189. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_cli.py +0 -0
  190. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_fetch.py +0 -0
  191. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_instance.py +0 -0
  192. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_plugins.py +0 -0
  193. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_sql.py +0 -0
  194. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_uri.py +0 -0
  195. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/_users.py +0 -0
  196. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/tables/__init__.py +0 -0
  197. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/tables/types.py +0 -0
  198. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/sql/tools.py +0 -0
  199. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/valkey/_ValkeyConnector.py +0 -0
  200. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/valkey/__init__.py +0 -0
  201. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/valkey/_fetch.py +0 -0
  202. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/valkey/_pipes.py +0 -0
  203. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/valkey/_plugins.py +0 -0
  204. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/connectors/valkey/_users.py +0 -0
  205. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/__init__.py +0 -0
  206. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_attributes.py +0 -0
  207. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_bootstrap.py +0 -0
  208. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_clear.py +0 -0
  209. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_copy.py +0 -0
  210. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_data.py +0 -0
  211. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_deduplicate.py +0 -0
  212. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_delete.py +0 -0
  213. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_drop.py +0 -0
  214. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_dtypes.py +0 -0
  215. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_edit.py +0 -0
  216. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_fetch.py +0 -0
  217. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_register.py +0 -0
  218. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_show.py +0 -0
  219. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_sync.py +0 -0
  220. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Pipe/_verify.py +0 -0
  221. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/Plugin/__init__.py +0 -0
  222. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/User/_User.py +0 -0
  223. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/User/__init__.py +0 -0
  224. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/core/__init__.py +0 -0
  225. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/jobs/_Executor.py +0 -0
  226. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/jobs/__init__.py +0 -0
  227. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/jobs/systemd.py +0 -0
  228. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/plugins/_Plugin.py +0 -0
  229. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/plugins/__init__.py +0 -0
  230. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/plugins/bootstrap.py +0 -0
  231. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/__init__.py +0 -0
  232. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/_get_pipes.py +0 -0
  233. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -0
  234. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/daemon/RotatingFile.py +0 -0
  235. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/daemon/StdinFile.py +0 -0
  236. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/daemon/__init__.py +0 -0
  237. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/daemon/_names.py +0 -0
  238. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/dataframe.py +0 -0
  239. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/debug.py +0 -0
  240. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/dtypes/__init__.py +0 -0
  241. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/dtypes/sql.py +0 -0
  242. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/formatting/__init__.py +0 -0
  243. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/formatting/_jobs.py +0 -0
  244. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/formatting/_pipes.py +0 -0
  245. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/formatting/_pprint.py +0 -0
  246. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/formatting/_shell.py +0 -0
  247. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/interactive.py +0 -0
  248. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/misc.py +0 -0
  249. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/networking.py +0 -0
  250. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/packages/__init__.py +0 -0
  251. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/packages/lazy_loader.py +0 -0
  252. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/pool.py +0 -0
  253. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/process.py +0 -0
  254. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/prompt.py +0 -0
  255. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/threading.py +0 -0
  256. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/typing.py +0 -0
  257. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/venv/_Venv.py +0 -0
  258. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/venv/__init__.py +0 -0
  259. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/warnings.py +0 -0
  260. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum/utils/yaml.py +0 -0
  261. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum.egg-info/SOURCES.txt +0 -0
  262. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum.egg-info/dependency_links.txt +0 -0
  263. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum.egg-info/entry_points.txt +0 -0
  264. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum.egg-info/top_level.txt +0 -0
  265. {meerschaum-2.6.16 → meerschaum-2.6.17}/meerschaum.egg-info/zip-safe +0 -0
  266. {meerschaum-2.6.16 → meerschaum-2.6.17}/setup.cfg +0 -0
  267. {meerschaum-2.6.16 → meerschaum-2.6.17}/setup.py +0 -0
  268. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_actions.py +0 -0
  269. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_arguments.py +0 -0
  270. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_deduplicate.py +0 -0
  271. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_jobs.py +0 -0
  272. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_pipe_data.py +0 -0
  273. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_pipes_dtypes.py +0 -0
  274. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_sql.py +0 -0
  275. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_users.py +0 -0
  276. {meerschaum-2.6.16 → meerschaum-2.6.17}/tests/test_verify.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: meerschaum
3
- Version: 2.6.16
3
+ Version: 2.6.17
4
4
  Summary: Sync Time-Series Pipes with Meerschaum
5
5
  Home-page: https://meerschaum.io
6
6
  Author: Bennett Meares
@@ -80,7 +80,7 @@ Requires-Dist: duckdb>=1.0.0; extra == "drivers"
80
80
  Requires-Dist: duckdb-engine>=0.13.0; extra == "drivers"
81
81
  Provides-Extra: drivers-extras
82
82
  Requires-Dist: pyodbc>=4.0.30; extra == "drivers-extras"
83
- Requires-Dist: cx_Oracle>=8.3.0; extra == "drivers-extras"
83
+ Requires-Dist: oracledb>=2.5.0; extra == "drivers-extras"
84
84
  Provides-Extra: cli
85
85
  Requires-Dist: pgcli>=3.1.0; extra == "cli"
86
86
  Requires-Dist: mycli>=1.23.2; extra == "cli"
@@ -226,7 +226,7 @@ def parse_line(line: str) -> Dict[str, Any]:
226
226
  import shlex
227
227
  try:
228
228
  return parse_arguments(shlex.split(line))
229
- except Exception as e:
229
+ except Exception:
230
230
  return {'action': [], 'text': line}
231
231
 
232
232
 
@@ -397,6 +397,7 @@ def _edit_jobs(
397
397
  from meerschaum._internal.arguments import (
398
398
  split_pipeline_sysargs,
399
399
  split_chained_sysargs,
400
+ parse_arguments,
400
401
  )
401
402
  from meerschaum.utils.formatting import make_header, print_options
402
403
  from meerschaum.utils.warnings import info
@@ -410,7 +411,26 @@ def _edit_jobs(
410
411
 
411
412
  num_edited = 0
412
413
  for name, job in jobs.items():
413
- sysargs_str = shlex.join(job.sysargs)
414
+ try:
415
+ sub_args_line = None
416
+ pipeline_args_line = None
417
+ if job.sysargs[:2] == ['start', 'pipeline']:
418
+ job_args = parse_arguments(job.sysargs)
419
+ mrsm.pprint(job_args)
420
+ sub_args_line = job_args['params']['sub_args_line']
421
+ params_index = job.sysargs[2:].index('-P')
422
+ indices_to_skip = (params_index, params_index + 1)
423
+ pipeline_args_line = shlex.join(
424
+ [a for i, a in enumerate(job.sysargs[2:]) if i not in indices_to_skip]
425
+ )
426
+ except (ValueError, IndexError):
427
+ sub_args_line = None
428
+
429
+ sysargs_str = (
430
+ f"{sub_args_line} : {pipeline_args_line}"
431
+ if sub_args_line is not None and pipeline_args_line is not None
432
+ else shlex.join(job.sysargs)
433
+ )
414
434
  clear_screen(debug=debug)
415
435
  info(
416
436
  f"Editing arguments for job '{name}'.\n"
@@ -422,7 +442,7 @@ def _edit_jobs(
422
442
  try:
423
443
  new_sysargs_str = prompt(
424
444
  "",
425
- default_editable=sysargs_str.lstrip().rstrip().replace(' + ', '\n+ '),
445
+ default_editable=job.label,
426
446
  multiline=True,
427
447
  icon=False,
428
448
  completer=ShellCompleter(),
@@ -282,9 +282,8 @@ def _sync_pipes(
282
282
  from meerschaum.utils.formatting import print_pipes_results
283
283
  from meerschaum.config.static import STATIC_CONFIG
284
284
 
285
- ### NOTE: Removed MRSM_NONINTERACTIVE check.
286
285
  noninteractive_val = os.environ.get(STATIC_CONFIG['environment']['noninteractive'], None)
287
- _ = noninteractive_val in ('1', 'true', 'True', 'yes')
286
+ noninteractive = str(noninteractive_val).lower() in ('1', 'true', 'yes')
288
287
 
289
288
  run = True
290
289
  msg = ""
@@ -292,7 +291,7 @@ def _sync_pipes(
292
291
  cooldown = 2 * (min_seconds + 1)
293
292
  success_pipes, failure_pipes = [], []
294
293
  while run:
295
- _progress = progress() if shell else None
294
+ _progress = progress() if shell and not noninteractive else None
296
295
  cm = _progress if _progress is not None else contextlib.nullcontext()
297
296
 
298
297
  lap_begin = time.perf_counter()
@@ -2,4 +2,4 @@
2
2
  Specify the Meerschaum release version.
3
3
  """
4
4
 
5
- __version__ = "2.6.16"
5
+ __version__ = "2.6.17"
@@ -107,7 +107,7 @@ flavor_configs = {
107
107
  },
108
108
  },
109
109
  'oracle': {
110
- 'engine': 'oracle+cx_oracle',
110
+ 'engine': 'oracle+oracledb',
111
111
  'create_engine': default_create_engine_args,
112
112
  'omit_create_engine': {'method',},
113
113
  'to_sql': {
@@ -164,7 +164,7 @@ install_flavor_drivers = {
164
164
  'citus': ['psycopg'],
165
165
  'cockroachdb': ['psycopg', 'sqlalchemy_cockroachdb', 'sqlalchemy_cockroachdb.psycopg'],
166
166
  'mssql': ['pyodbc'],
167
- 'oracle': ['cx_Oracle'],
167
+ 'oracle': ['oracledb'],
168
168
  }
169
169
  require_patching_flavors = {'cockroachdb': [('sqlalchemy-cockroachdb', 'sqlalchemy_cockroachdb')]}
170
170
 
@@ -239,7 +239,7 @@ def create_engine(
239
239
  self._sys_config['create_engine'] = {}
240
240
  if 'connect_args' not in self._sys_config['create_engine']:
241
241
  self._sys_config['create_engine']['connect_args'] = {}
242
- self._sys_config['create_engine']['connect_args'].update({"check_same_thread" : False})
242
+ self._sys_config['create_engine']['connect_args'].update({"check_same_thread": False})
243
243
  else:
244
244
  engine_str = (
245
245
  _engine + "://" + (_username if _username is not None else '') +
@@ -1589,17 +1589,23 @@ def sync_pipe(
1589
1589
  if not edit_success:
1590
1590
  return edit_success, edit_msg
1591
1591
 
1592
- autoincrement_needs_reset = False
1592
+ def _check_pk(_df_to_clear):
1593
+ if _df_to_clear is None:
1594
+ return
1595
+ if primary_key not in _df_to_clear.columns:
1596
+ return
1597
+ if not _df_to_clear[primary_key].notnull().any():
1598
+ del _df_to_clear[primary_key]
1599
+
1600
+ autoincrement_needs_reset = bool(
1601
+ autoincrement
1602
+ and primary_key
1603
+ and primary_key in unseen_df.columns
1604
+ and unseen_df[primary_key].notnull().any()
1605
+ )
1593
1606
  if autoincrement and primary_key:
1594
- if primary_key not in df.columns:
1595
- if unseen_df is not None and primary_key in unseen_df.columns:
1596
- del unseen_df[primary_key]
1597
- if update_df is not None and primary_key in update_df.columns:
1598
- del update_df[primary_key]
1599
- if delta_df is not None and primary_key in delta_df.columns:
1600
- del delta_df[primary_key]
1601
- elif unseen_df[primary_key].notnull().any():
1602
- autoincrement_needs_reset = True
1607
+ for _df_to_clear in (unseen_df, update_df, delta_df):
1608
+ _check_pk(_df_to_clear)
1603
1609
 
1604
1610
  if is_new:
1605
1611
  create_success, create_msg = self.create_pipe_table_from_df(
@@ -1612,6 +1618,7 @@ def sync_pipe(
1612
1618
 
1613
1619
  do_identity_insert = bool(
1614
1620
  self.flavor in ('mssql',)
1621
+ and primary_key
1615
1622
  and primary_key in unseen_df.columns
1616
1623
  and autoincrement
1617
1624
  )
@@ -2591,7 +2598,7 @@ def get_pipe_rowcount(
2591
2598
  result = self.value(query, debug=debug, silent=True)
2592
2599
  try:
2593
2600
  return int(result)
2594
- except Exception as e:
2601
+ except Exception:
2595
2602
  return None
2596
2603
 
2597
2604
 
@@ -2616,10 +2623,11 @@ def drop_pipe(
2616
2623
  from meerschaum.utils.sql import table_exists, sql_item_name, DROP_IF_EXISTS_FLAVORS
2617
2624
  success = True
2618
2625
  target = pipe.target
2626
+ schema = self.get_pipe_schema(pipe)
2619
2627
  target_name = (
2620
- sql_item_name(target, self.flavor, self.get_pipe_schema(pipe))
2628
+ sql_item_name(target, self.flavor, schema)
2621
2629
  )
2622
- if table_exists(target, self, debug=debug):
2630
+ if table_exists(target, self, schema=schema, debug=debug):
2623
2631
  if_exists_str = "IF EXISTS" if self.flavor in DROP_IF_EXISTS_FLAVORS else ""
2624
2632
  success = self.exec(
2625
2633
  f"DROP TABLE {if_exists_str} {target_name}", silent=True, debug=debug
@@ -873,7 +873,7 @@ class Job:
873
873
  """
874
874
  from meerschaum._internal.arguments import compress_pipeline_sysargs
875
875
  sysargs = compress_pipeline_sysargs(self.sysargs)
876
- return shlex.join(sysargs).replace(' + ', '\n+ ')
876
+ return shlex.join(sysargs).replace(' + ', '\n+ ').replace(' : ', '\n: ').lstrip().rstrip()
877
877
 
878
878
  @property
879
879
  def _externally_managed_file(self) -> pathlib.Path:
@@ -915,6 +915,7 @@ class Job:
915
915
  'PYTHONUNBUFFERED': '1',
916
916
  'LINES': str(get_config('jobs', 'terminal', 'lines')),
917
917
  'COLUMNS': str(get_config('jobs', 'terminal', 'columns')),
918
+ STATIC_CONFIG['environment']['noninteractive']: 'true',
918
919
  }
919
920
  self._env = {**default_env, **_env}
920
921
  return self._env
@@ -432,7 +432,7 @@ class Daemon:
432
432
  + "allow_dirty_run=True)"
433
433
  )
434
434
  env = dict(os.environ)
435
- env['MRSM_NOASK'] = 'true'
435
+ env[STATIC_CONFIG['environment']['noninteractive']] = 'true'
436
436
  _launch_success_bool = venv_exec(_launch_daemon_code, debug=debug, venv=None, env=env)
437
437
  msg = (
438
438
  "Success"
@@ -1000,7 +1000,7 @@ class Daemon:
1000
1000
  try:
1001
1001
  with open(self.properties_path, 'r', encoding='utf-8') as file:
1002
1002
  properties = json.load(file)
1003
- except Exception as e:
1003
+ except Exception:
1004
1004
  properties = {}
1005
1005
 
1006
1006
  return properties
@@ -79,7 +79,7 @@ packages: Dict[str, Dict[str, str]] = {
79
79
  },
80
80
  'drivers-extras': {
81
81
  'pyodbc' : 'pyodbc>=4.0.30',
82
- 'cx_Oracle' : 'cx_Oracle>=8.3.0',
82
+ 'oracledb' : 'oracledb>=2.5.0',
83
83
  },
84
84
  'cli': {
85
85
  'pgcli' : 'pgcli>=3.1.0',
@@ -132,7 +132,7 @@ def schedule_function(
132
132
 
133
133
  try:
134
134
  loop.run_until_complete(run_scheduler())
135
- except (KeyboardInterrupt, SystemExit) as e:
135
+ except (KeyboardInterrupt, SystemExit):
136
136
  loop.run_until_complete(_stop_scheduler())
137
137
 
138
138
  return True, "Success"
@@ -159,13 +159,13 @@ def parse_schedule(schedule: str, now: Optional[datetime] = None):
159
159
  )
160
160
 
161
161
  starting_ts = parse_start_time(schedule, now=now)
162
- schedule = schedule.split(STARTING_KEYWORD)[0].strip()
162
+ schedule = schedule.split(STARTING_KEYWORD, maxsplit=1)[0].strip()
163
163
  for alias_keyword, true_keyword in SCHEDULE_ALIASES.items():
164
164
  schedule = schedule.replace(alias_keyword, true_keyword)
165
165
 
166
166
  ### TODO Allow for combining `and` + `or` logic.
167
167
  if '&' in schedule and '|' in schedule:
168
- raise ValueError(f"Cannot accept both 'and' + 'or' logic in the schedule frequency.")
168
+ raise ValueError("Cannot accept both 'and' + 'or' logic in the schedule frequency.")
169
169
 
170
170
  join_str = '|' if '|' in schedule else '&'
171
171
  join_trigger = (
@@ -300,6 +300,11 @@ def parse_start_time(schedule: str, now: Optional[datetime] = None) -> datetime:
300
300
  try:
301
301
  if starting_str == 'now':
302
302
  starting_ts = now
303
+ elif starting_str.startswith('in '):
304
+ delta_vals = starting_str.replace('in ', '').split(' ', maxsplit=1)
305
+ delta_unit = delta_vals[-1].rstrip('s') + 's'
306
+ delta_num = float(delta_vals[0])
307
+ starting_ts = now + timedelta(**{delta_unit: delta_num})
303
308
  elif 'tomorrow' in starting_str or 'today' in starting_str:
304
309
  today = round_time(now, timedelta(days=1))
305
310
  tomorrow = today + timedelta(days=1)
@@ -425,20 +425,10 @@ reset_autoincrement_queries: Dict[str, Union[str, List[str]]] = {
425
425
  SET seq = {val}
426
426
  WHERE name = '{table}'
427
427
  """,
428
- 'oracle': [
429
- """
430
- DECLARE
431
- max_id NUMBER := {val};
432
- current_val NUMBER;
433
- BEGIN
434
- SELECT {table_seq_name}.NEXTVAL INTO current_val FROM dual;
435
-
436
- WHILE current_val < max_id LOOP
437
- SELECT {table_seq_name}.NEXTVAL INTO current_val FROM dual;
438
- END LOOP;
439
- END;
440
- """,
441
- ],
428
+ 'oracle': (
429
+ "ALTER TABLE {table_name} MODIFY {column_name} "
430
+ "GENERATED BY DEFAULT ON NULL AS IDENTITY (START WITH {val_plus_1})"
431
+ ),
442
432
  }
443
433
  table_wrappers = {
444
434
  'default' : ('"', '"'),
@@ -2225,29 +2215,8 @@ def get_reset_autoincrement_queries(
2225
2215
  schema = schema or connector.schema
2226
2216
  max_id_name = sql_item_name('max_id', connector.flavor)
2227
2217
  table_name = sql_item_name(table, connector.flavor, schema)
2228
- table_trunc = truncate_item_name(table, connector.flavor)
2229
2218
  table_seq_name = sql_item_name(table + '_' + column + '_seq', connector.flavor, schema)
2230
2219
  column_name = sql_item_name(column, connector.flavor)
2231
- if connector.flavor == 'oracle':
2232
- potential_table_names = set([
2233
- f"'{table_trunc.upper()}'",
2234
- f"'{table_trunc}'",
2235
- f"'{table_name}'",
2236
- f"'{table_name.upper()}'",
2237
- ])
2238
- df = connector.read(
2239
- """
2240
- SELECT SEQUENCE_NAME
2241
- FROM ALL_TAB_IDENTITY_COLS
2242
- WHERE TABLE_NAME IN ("""
2243
- + ", ".join([name for name in potential_table_names])
2244
- + """)
2245
- """,
2246
- debug=debug
2247
- )
2248
- if len(df) > 0:
2249
- table_seq_name = df['sequence_name'][0]
2250
-
2251
2220
  max_id = connector.value(
2252
2221
  f"""
2253
2222
  SELECT COALESCE(MAX({column_name}), 0) AS {max_id_name}
@@ -2272,7 +2241,8 @@ def get_reset_autoincrement_queries(
2272
2241
  table=table,
2273
2242
  table_name=table_name,
2274
2243
  table_seq_name=table_seq_name,
2275
- val=(max_id),
2244
+ val=max_id,
2245
+ val_plus_1=(max_id + 1),
2276
2246
  )
2277
2247
  for query in reset_queries
2278
2248
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: meerschaum
3
- Version: 2.6.16
3
+ Version: 2.6.17
4
4
  Summary: Sync Time-Series Pipes with Meerschaum
5
5
  Home-page: https://meerschaum.io
6
6
  Author: Bennett Meares
@@ -80,7 +80,7 @@ Requires-Dist: duckdb>=1.0.0; extra == "drivers"
80
80
  Requires-Dist: duckdb-engine>=0.13.0; extra == "drivers"
81
81
  Provides-Extra: drivers-extras
82
82
  Requires-Dist: pyodbc>=4.0.30; extra == "drivers-extras"
83
- Requires-Dist: cx_Oracle>=8.3.0; extra == "drivers-extras"
83
+ Requires-Dist: oracledb>=2.5.0; extra == "drivers-extras"
84
84
  Provides-Extra: cli
85
85
  Requires-Dist: pgcli>=3.1.0; extra == "cli"
86
86
  Requires-Dist: mycli>=1.23.2; extra == "cli"
@@ -149,7 +149,7 @@ duckdb-engine>=0.13.0
149
149
 
150
150
  [drivers-extras]
151
151
  pyodbc>=4.0.30
152
- cx_Oracle>=8.3.0
152
+ oracledb>=2.5.0
153
153
 
154
154
  [extras]
155
155
  cmd2>=1.4.0
@@ -708,6 +708,7 @@ def test_nested_chunks(flavor: str):
708
708
  assert len(df) == num_docs
709
709
 
710
710
 
711
+ @pytest.mark.skip(reason="Python 3.13 Dask, numpy compatability.")
711
712
  @pytest.mark.parametrize("flavor", get_flavors())
712
713
  def test_sync_dask_dataframe(flavor: str):
713
714
  """
@@ -943,6 +944,7 @@ def test_autoincrement_primary_key(flavor: str):
943
944
  df = pipe.get_data(['shirt_size'], params={'id': [4, 5]}, debug=debug)
944
945
  assert list(df['shirt_size']) == ['L', 'M']
945
946
 
947
+ return pipe
946
948
  success, msg = pipe.sync([{'color': 'purple'}, {'shirt_size': 'S'}], debug=debug)
947
949
  assert success, msg
948
950
 
@@ -966,10 +968,10 @@ def test_autoincrement_primary_key_inferred(flavor: str):
966
968
  if conn.flavor in SKIP_AUTO_INCREMENT_FLAVORS:
967
969
  return
968
970
 
969
- pipe = mrsm.Pipe('test_sync', 'primary_key', 'implicit', instance=conn)
971
+ pipe = mrsm.Pipe('test_sync', 'pk', 'implicit', instance=conn)
970
972
  pipe.delete()
971
973
  pipe = mrsm.Pipe(
972
- 'test_sync', 'primary_key', 'implicit',
974
+ 'test_sync', 'pk', 'implicit',
973
975
  instance=conn,
974
976
  columns={
975
977
  'primary': 'id',
File without changes
File without changes
File without changes