runtimepy 4.2.1__tar.gz → 4.2.2__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 (242) hide show
  1. {runtimepy-4.2.1/runtimepy.egg-info → runtimepy-4.2.2}/PKG-INFO +4 -4
  2. {runtimepy-4.2.1 → runtimepy-4.2.2}/README.md +2 -2
  3. {runtimepy-4.2.1 → runtimepy-4.2.2}/pyproject.toml +1 -1
  4. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/__init__.py +2 -2
  5. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/TabFilter.js +2 -0
  6. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/TabInterface.js +3 -0
  7. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/WindowHashManager.js +82 -12
  8. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/util.js +3 -1
  9. {runtimepy-4.2.1 → runtimepy-4.2.2/runtimepy.egg-info}/PKG-INFO +4 -4
  10. {runtimepy-4.2.1 → runtimepy-4.2.2}/LICENSE +0 -0
  11. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/__main__.py +0 -0
  12. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/app.py +0 -0
  13. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/__init__.py +0 -0
  14. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/__init__.py +0 -0
  15. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/array.py +0 -0
  16. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/base.py +0 -0
  17. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/command/__init__.py +0 -0
  18. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/command/parser.py +0 -0
  19. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/command/processor.py +0 -0
  20. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/command/result.py +0 -0
  21. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/create.py +0 -0
  22. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/file.py +0 -0
  23. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/sample.py +0 -0
  24. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/environment/telemetry.py +0 -0
  25. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/event/__init__.py +0 -0
  26. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/event/header.py +0 -0
  27. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/channel/registry.py +0 -0
  28. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/codec/__init__.py +0 -0
  29. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/codec/protocol/__init__.py +0 -0
  30. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/codec/protocol/base.py +0 -0
  31. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/codec/protocol/json.py +0 -0
  32. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/codec/system/__init__.py +0 -0
  33. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/__init__.py +0 -0
  34. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/all.py +0 -0
  35. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/arbiter.py +0 -0
  36. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/common.py +0 -0
  37. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/server.py +0 -0
  38. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/task.py +0 -0
  39. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/commands/tui.py +0 -0
  40. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/css/bootstrap_extra.css +0 -0
  41. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/css/main.css +0 -0
  42. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/dummy_load.yaml +0 -0
  43. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/factories.yaml +0 -0
  44. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/favicon.ico +0 -0
  45. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/DataConnection.js +0 -0
  46. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/JsonConnection.js +0 -0
  47. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/audio.js +0 -0
  48. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/App.js +0 -0
  49. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/ChannelTable.js +0 -0
  50. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/DataConnection.js +0 -0
  51. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/JsonConnection.js +0 -0
  52. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/Plot.js +0 -0
  53. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/PlotManager.js +0 -0
  54. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/PlotModalManager.js +0 -0
  55. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/classes/WorkerInterface.js +0 -0
  56. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/init.js +0 -0
  57. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/main.js +0 -0
  58. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/tab/env.js +0 -0
  59. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/tab/sound.js +0 -0
  60. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/unused/pyodide.js +0 -0
  61. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/js/worker.js +0 -0
  62. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/BitFields.yaml +0 -0
  63. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/Channel.yaml +0 -0
  64. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/ChannelCommand.yaml +0 -0
  65. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/ChannelRegistry.yaml +0 -0
  66. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/ClientConnectionConfig.yaml +0 -0
  67. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/ConnectionArbiterConfig.yaml +0 -0
  68. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/EnumRegistry.yaml +0 -0
  69. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/FindFile.yaml +0 -0
  70. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/PeerProcessConfig.yaml +0 -0
  71. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/RuntimeEnum.yaml +0 -0
  72. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/ServerConnectionConfig.yaml +0 -0
  73. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/StructConfig.yaml +0 -0
  74. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/TaskConfig.yaml +0 -0
  75. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/has_config.yaml +0 -0
  76. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/has_factory.yaml +0 -0
  77. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/has_name.yaml +0 -0
  78. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/schemas/has_request_flag.yaml +0 -0
  79. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/server.yaml +0 -0
  80. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/server_base.yaml +0 -0
  81. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/data/server_dev.yaml +0 -0
  82. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/dev_requirements.txt +0 -0
  83. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/entry.py +0 -0
  84. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/enum/__init__.py +0 -0
  85. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/enum/registry.py +0 -0
  86. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/enum/types.py +0 -0
  87. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mapping.py +0 -0
  88. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/message/__init__.py +0 -0
  89. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/message/handlers.py +0 -0
  90. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/message/interface.py +0 -0
  91. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/message/types.py +0 -0
  92. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/metrics/__init__.py +0 -0
  93. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/metrics/channel.py +0 -0
  94. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/metrics/connection.py +0 -0
  95. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/metrics/task.py +0 -0
  96. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/__init__.py +0 -0
  97. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/async_command.py +0 -0
  98. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/enum.py +0 -0
  99. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/environment.py +0 -0
  100. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/finalize.py +0 -0
  101. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/logging.py +0 -0
  102. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/psutil.py +0 -0
  103. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/mixins/regex.py +0 -0
  104. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/__init__.py +0 -0
  105. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/apps/__init__.py +0 -0
  106. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/__init__.py +0 -0
  107. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/base.py +0 -0
  108. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/config/__init__.py +0 -0
  109. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/config/codec.py +0 -0
  110. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/config/util.py +0 -0
  111. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/factory/__init__.py +0 -0
  112. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/factory/connection.py +0 -0
  113. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/factory/task.py +0 -0
  114. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/housekeeping/__init__.py +0 -0
  115. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/imports/__init__.py +0 -0
  116. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/imports/util.py +0 -0
  117. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/info.py +0 -0
  118. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/result.py +0 -0
  119. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/task.py +0 -0
  120. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/tcp/__init__.py +0 -0
  121. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/tcp/json.py +0 -0
  122. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/udp.py +0 -0
  123. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/arbiter/websocket.py +0 -0
  124. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/backoff.py +0 -0
  125. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/connection.py +0 -0
  126. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/factories/__init__.py +0 -0
  127. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/__init__.py +0 -0
  128. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/common.py +0 -0
  129. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/header.py +0 -0
  130. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/request_target.py +0 -0
  131. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/response.py +0 -0
  132. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/state.py +0 -0
  133. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/http/version.py +0 -0
  134. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/manager.py +0 -0
  135. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/mixin.py +0 -0
  136. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/__init__.py +0 -0
  137. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/__init__.py +0 -0
  138. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/base.py +0 -0
  139. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/bootstrap/__init__.py +0 -0
  140. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/bootstrap/elements.py +0 -0
  141. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/bootstrap/tabs.py +0 -0
  142. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/create.py +0 -0
  143. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/elements.py +0 -0
  144. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/__init__.py +0 -0
  145. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/modal.py +0 -0
  146. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/tab/__init__.py +0 -0
  147. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/tab/base.py +0 -0
  148. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/tab/html.py +0 -0
  149. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/tab/message.py +0 -0
  150. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/env/widgets.py +0 -0
  151. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/files.py +0 -0
  152. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/placeholder.py +0 -0
  153. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/pyodide.py +0 -0
  154. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/sound.py +0 -0
  155. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/app/tab.py +0 -0
  156. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/html.py +0 -0
  157. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/json.py +0 -0
  158. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/struct/__init__.py +0 -0
  159. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/websocket/__init__.py +0 -0
  160. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/server/websocket/state.py +0 -0
  161. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/stream/__init__.py +0 -0
  162. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/stream/base.py +0 -0
  163. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/stream/json/__init__.py +0 -0
  164. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/stream/string.py +0 -0
  165. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/__init__.py +0 -0
  166. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/connection.py +0 -0
  167. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/create.py +0 -0
  168. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/http/__init__.py +0 -0
  169. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/protocol.py +0 -0
  170. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/telnet/__init__.py +0 -0
  171. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/tcp/telnet/codes.py +0 -0
  172. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/udp/__init__.py +0 -0
  173. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/udp/connection.py +0 -0
  174. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/udp/create.py +0 -0
  175. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/udp/protocol.py +0 -0
  176. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/util.py +0 -0
  177. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/websocket/__init__.py +0 -0
  178. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/net/websocket/connection.py +0 -0
  179. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/__init__.py +0 -0
  180. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/array/__init__.py +0 -0
  181. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/base.py +0 -0
  182. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/bool.py +0 -0
  183. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/byte_order.py +0 -0
  184. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/field/__init__.py +0 -0
  185. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/field/fields.py +0 -0
  186. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/field/manager/__init__.py +0 -0
  187. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/field/manager/base.py +0 -0
  188. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/float.py +0 -0
  189. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/int.py +0 -0
  190. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/scaling.py +0 -0
  191. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/serializable/__init__.py +0 -0
  192. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/serializable/base.py +0 -0
  193. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/serializable/fixed.py +0 -0
  194. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/serializable/prefixed.py +0 -0
  195. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/string.py +0 -0
  196. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/types/__init__.py +0 -0
  197. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/types/base.py +0 -0
  198. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/types/bool.py +0 -0
  199. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/types/bounds.py +0 -0
  200. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/types/float.py +0 -0
  201. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/primitives/types/int.py +0 -0
  202. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/py.typed +0 -0
  203. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/registry/__init__.py +0 -0
  204. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/registry/bool.py +0 -0
  205. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/registry/item.py +0 -0
  206. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/registry/name.py +0 -0
  207. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/requirements.txt +0 -0
  208. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/sample/__init__.py +0 -0
  209. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/sample/peer.py +0 -0
  210. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/sample/program.py +0 -0
  211. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/schemas.py +0 -0
  212. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/struct/__init__.py +0 -0
  213. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/subprocess/__init__.py +0 -0
  214. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/subprocess/interface.py +0 -0
  215. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/subprocess/peer.py +0 -0
  216. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/subprocess/program.py +0 -0
  217. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/subprocess/protocol.py +0 -0
  218. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/__init__.py +0 -0
  219. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/asynchronous.py +0 -0
  220. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/basic/__init__.py +0 -0
  221. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/basic/manager.py +0 -0
  222. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/basic/periodic.py +0 -0
  223. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/sample.py +0 -0
  224. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/task/trig/__init__.py +0 -0
  225. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/telemetry/__init__.py +0 -0
  226. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/tui/__init__.py +0 -0
  227. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/tui/channels/__init__.py +0 -0
  228. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/tui/cursor.py +0 -0
  229. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/tui/mixin.py +0 -0
  230. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/tui/mock.py +0 -0
  231. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/tui/task.py +0 -0
  232. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy/util.py +0 -0
  233. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy.egg-info/SOURCES.txt +0 -0
  234. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy.egg-info/dependency_links.txt +0 -0
  235. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy.egg-info/entry_points.txt +0 -0
  236. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy.egg-info/requires.txt +1 -1
  237. {runtimepy-4.2.1 → runtimepy-4.2.2}/runtimepy.egg-info/top_level.txt +0 -0
  238. {runtimepy-4.2.1 → runtimepy-4.2.2}/setup.cfg +0 -0
  239. {runtimepy-4.2.1 → runtimepy-4.2.2}/setup.py +0 -0
  240. {runtimepy-4.2.1 → runtimepy-4.2.2}/tests/test_entry.py +0 -0
  241. {runtimepy-4.2.1 → runtimepy-4.2.2}/tests/test_mapping.py +0 -0
  242. {runtimepy-4.2.1 → runtimepy-4.2.2}/tests/test_resources.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: runtimepy
3
- Version: 4.2.1
3
+ Version: 4.2.2
4
4
  Summary: A framework for implementing Python services.
5
5
  Home-page: https://github.com/vkottler/runtimepy
6
6
  Author: Vaughn Kottler
@@ -17,10 +17,10 @@ Classifier: License :: OSI Approved :: MIT License
17
17
  Requires-Python: >=3.11
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
+ Requires-Dist: psutil
20
21
  Requires-Dist: vcorelib>=3.2.4
21
22
  Requires-Dist: svgen>=0.6.6
22
23
  Requires-Dist: websockets
23
- Requires-Dist: psutil
24
24
  Provides-Extra: test
25
25
  Requires-Dist: pylint; extra == "test"
26
26
  Requires-Dist: flake8; extra == "test"
@@ -44,11 +44,11 @@ Requires-Dist: uvloop; (sys_platform != "win32" and sys_platform != "cygwin") an
44
44
  =====================================
45
45
  generator=datazen
46
46
  version=3.1.4
47
- hash=ebb5664a436fde952d2499fe582fccd3
47
+ hash=5f56531d1be3002a8547ddb013d713f9
48
48
  =====================================
49
49
  -->
50
50
 
51
- # runtimepy ([4.2.1](https://pypi.org/project/runtimepy/))
51
+ # runtimepy ([4.2.2](https://pypi.org/project/runtimepy/))
52
52
 
53
53
  [![python](https://img.shields.io/pypi/pyversions/runtimepy.svg)](https://pypi.org/project/runtimepy/)
54
54
  ![Build Status](https://github.com/vkottler/runtimepy/workflows/Python%20Package/badge.svg)
@@ -2,11 +2,11 @@
2
2
  =====================================
3
3
  generator=datazen
4
4
  version=3.1.4
5
- hash=ebb5664a436fde952d2499fe582fccd3
5
+ hash=5f56531d1be3002a8547ddb013d713f9
6
6
  =====================================
7
7
  -->
8
8
 
9
- # runtimepy ([4.2.1](https://pypi.org/project/runtimepy/))
9
+ # runtimepy ([4.2.2](https://pypi.org/project/runtimepy/))
10
10
 
11
11
  [![python](https://img.shields.io/pypi/pyversions/runtimepy.svg)](https://pypi.org/project/runtimepy/)
12
12
  ![Build Status](https://github.com/vkottler/runtimepy/workflows/Python%20Package/badge.svg)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta:__legacy__"
4
4
 
5
5
  [project]
6
6
  name = "runtimepy"
7
- version = "4.2.1"
7
+ version = "4.2.2"
8
8
  description = "A framework for implementing Python services."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,7 +1,7 @@
1
1
  # =====================================
2
2
  # generator=datazen
3
3
  # version=3.1.4
4
- # hash=dce9eddca4f19e277a7cac5df515e475
4
+ # hash=9427b9a1aadbcbc5e128b88c10b37dbe
5
5
  # =====================================
6
6
 
7
7
  """
@@ -10,7 +10,7 @@ Useful defaults and other package metadata.
10
10
 
11
11
  DESCRIPTION = "A framework for implementing Python services."
12
12
  PKG_NAME = "runtimepy"
13
- VERSION = "4.2.1"
13
+ VERSION = "4.2.2"
14
14
 
15
15
  # runtimepy-specific content.
16
16
  METRICS_NAME = "metrics"
@@ -15,6 +15,8 @@ class TabFilter {
15
15
  }
16
16
 
17
17
  updateStyles(pattern) {
18
+ hash.setTabFilter(pattern);
19
+
18
20
  if (!pattern) {
19
21
  pattern = ".*";
20
22
  }
@@ -71,6 +71,8 @@ class TabInterface {
71
71
  }
72
72
 
73
73
  updateChannelStyles(pattern) {
74
+ hash.handleChannelFilter(this.name, pattern);
75
+
74
76
  if (!pattern) {
75
77
  pattern = ".*";
76
78
  }
@@ -96,6 +98,7 @@ class TabInterface {
96
98
  } else {
97
99
  curr += event.key;
98
100
  }
101
+
99
102
  this.updateChannelStyles(curr);
100
103
  }
101
104
  }
@@ -4,9 +4,11 @@ class WindowHashManager {
4
4
  this.original = this.hash();
5
5
 
6
6
  this.tab = "";
7
+ this.tabFilter = "";
7
8
  this.tabsShown = true;
8
9
  this.channelsShown = true;
9
10
  this.plotChannels = {};
11
+ this.filters = {};
10
12
  }
11
13
 
12
14
  tabClick(event) {
@@ -29,6 +31,11 @@ class WindowHashManager {
29
31
  this.update();
30
32
  }
31
33
 
34
+ handleChannelFilter(tabName, value) {
35
+ this.filters[tabName] = value;
36
+ this.update();
37
+ }
38
+
32
39
  handlePlotChannelToggle(tabName, channel, state) {
33
40
  /* Service settings modal. */
34
41
  if (modalManager) {
@@ -51,6 +58,29 @@ class WindowHashManager {
51
58
  }
52
59
  }
53
60
 
61
+ setTabFilter(value) {
62
+ this.tabFilter = value;
63
+ this.update();
64
+ }
65
+
66
+ updateTabFilter(value) {
67
+ this.tabFilter = value;
68
+ if (tabFilter) {
69
+ tabFilter.input.value = value;
70
+ tabFilter.updateStyles(value);
71
+ }
72
+ }
73
+
74
+ setTabChannelFilter(tabName, value) {
75
+ this.filters[tabName] = value;
76
+
77
+ let elem = tabs[tabName].query("#channel-filter");
78
+ if (elem) {
79
+ elem.value = value;
80
+ tabs[tabName].updateChannelStyles(value);
81
+ }
82
+ }
83
+
54
84
  clearPlotChannels(tabName) {
55
85
  if (tabName in this.plotChannels) {
56
86
  let channels = this.plotChannels[tabName];
@@ -85,7 +115,16 @@ class WindowHashManager {
85
115
  for (let i = 1; i < boolsChannels.length; i++) {
86
116
  let nameChannels = boolsChannels[i].split(":");
87
117
  for (let chan of nameChannels[1].split(",")) {
88
- this.togglePlotChannel(nameChannels[0], chan);
118
+ if (!chan.includes("=")) {
119
+ /* Handle regular channel names. */
120
+ this.togglePlotChannel(nameChannels[0], chan);
121
+ } else {
122
+ /* Handle key-value pairs. */
123
+ let keyVal = chan.split("=");
124
+ if (keyVal.length == 2 && keyVal[0] == "filter" && keyVal[1]) {
125
+ this.setTabChannelFilter(nameChannels[0], keyVal[1]);
126
+ }
127
+ }
89
128
  }
90
129
  }
91
130
 
@@ -95,6 +134,16 @@ class WindowHashManager {
95
134
  if (split.includes("hide-channels")) {
96
135
  channelsButton.click();
97
136
  }
137
+
138
+ /* Check for tab filter. */
139
+ for (let item of split) {
140
+ if (item.includes("=")) {
141
+ let keyVal = item.split("=");
142
+ if (keyVal.length == 2 && keyVal[0] == "filter" && keyVal[1]) {
143
+ this.updateTabFilter(keyVal[1]);
144
+ }
145
+ }
146
+ }
98
147
  }
99
148
  }
100
149
 
@@ -109,6 +158,9 @@ class WindowHashManager {
109
158
  update() {
110
159
  let hash = this.tab;
111
160
 
161
+ if (this.tabFilter) {
162
+ hash += ",filter=" + this.tabFilter;
163
+ }
112
164
  if (!this.tabsShown) {
113
165
  hash += ",hide-tabs"
114
166
  }
@@ -116,22 +168,40 @@ class WindowHashManager {
116
168
  hash += ",hide-channels"
117
169
  }
118
170
 
119
- for (let tab in this.plotChannels) {
171
+ for (let tab in tabs) {
120
172
  let firstChan = true;
121
- let channels = this.plotChannels[tab];
122
- for (let name in channels) {
123
- if (channels[name]) {
124
- if (firstChan) {
125
- hash += "/" + tab + ":"
126
- firstChan = false;
127
- }
128
173
 
129
- if (hash.slice(-1) != ":") {
130
- hash += ",";
174
+ /* Write plot channels if present. */
175
+ if (tab in this.plotChannels) {
176
+ let channels = this.plotChannels[tab];
177
+
178
+ for (let name in channels) {
179
+ if (channels[name]) {
180
+ if (firstChan) {
181
+ hash += "/" + tab + ":"
182
+ firstChan = false;
183
+ }
184
+
185
+ if (hash.slice(-1) != ":") {
186
+ hash += ",";
187
+ }
188
+ hash += name;
131
189
  }
132
- hash += name;
133
190
  }
134
191
  }
192
+
193
+ /* Write tab filter if present. */
194
+ if (tab in this.filters && this.filters[tab]) {
195
+ if (firstChan) {
196
+ hash += "/" + tab + ":"
197
+ firstChan = false;
198
+ }
199
+
200
+ if (hash.slice(-1) != ":") {
201
+ hash += ",";
202
+ }
203
+ hash += "filter=" + this.filters[tab];
204
+ }
135
205
  }
136
206
 
137
207
  window.location.hash = hash;
@@ -22,6 +22,8 @@ function worker_config(config) {
22
22
  return worker_cfg;
23
23
  }
24
24
 
25
+ let tabFilter = undefined;
26
+
25
27
  function bootstrap_init() {
26
28
  /*
27
29
  * Enable tooltips.
@@ -34,6 +36,6 @@ function bootstrap_init() {
34
36
  /* Initialize tab filter. */
35
37
  let tabs = document.getElementById("runtimepy-tabs");
36
38
  if (tabs) {
37
- const tabFilter = new TabFilter(tabs);
39
+ tabFilter = new TabFilter(tabs);
38
40
  }
39
41
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: runtimepy
3
- Version: 4.2.1
3
+ Version: 4.2.2
4
4
  Summary: A framework for implementing Python services.
5
5
  Home-page: https://github.com/vkottler/runtimepy
6
6
  Author: Vaughn Kottler
@@ -17,10 +17,10 @@ Classifier: License :: OSI Approved :: MIT License
17
17
  Requires-Python: >=3.11
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
+ Requires-Dist: psutil
20
21
  Requires-Dist: vcorelib>=3.2.4
21
22
  Requires-Dist: svgen>=0.6.6
22
23
  Requires-Dist: websockets
23
- Requires-Dist: psutil
24
24
  Provides-Extra: test
25
25
  Requires-Dist: pylint; extra == "test"
26
26
  Requires-Dist: flake8; extra == "test"
@@ -44,11 +44,11 @@ Requires-Dist: uvloop; (sys_platform != "win32" and sys_platform != "cygwin") an
44
44
  =====================================
45
45
  generator=datazen
46
46
  version=3.1.4
47
- hash=ebb5664a436fde952d2499fe582fccd3
47
+ hash=5f56531d1be3002a8547ddb013d713f9
48
48
  =====================================
49
49
  -->
50
50
 
51
- # runtimepy ([4.2.1](https://pypi.org/project/runtimepy/))
51
+ # runtimepy ([4.2.2](https://pypi.org/project/runtimepy/))
52
52
 
53
53
  [![python](https://img.shields.io/pypi/pyversions/runtimepy.svg)](https://pypi.org/project/runtimepy/)
54
54
  ![Build Status](https://github.com/vkottler/runtimepy/workflows/Python%20Package/badge.svg)
File without changes
File without changes
File without changes