remotivelabs-cli 0.0.37__tar.gz → 0.0.39__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 (52) hide show
  1. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/PKG-INFO +1 -1
  2. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/signals.py +4 -3
  3. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/connect/connect.py +5 -1
  4. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/connect/protopie/protopie.py +8 -4
  5. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/pyproject.toml +1 -1
  6. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/LICENSE +0 -0
  7. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/README.md +0 -0
  8. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/__init__.py +0 -0
  9. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/brokers.py +0 -0
  10. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/export.py +0 -0
  11. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/files.py +0 -0
  12. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/lib/__about__.py +0 -0
  13. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/lib/broker.py +0 -0
  14. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/license_flows.py +0 -0
  15. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/licenses.py +0 -0
  16. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/playback.py +0 -0
  17. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/record.py +0 -0
  18. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/broker/scripting.py +0 -0
  19. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/__init__.py +0 -0
  20. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/auth/__init__.py +0 -0
  21. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/auth/cmd.py +0 -0
  22. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/auth/login.py +0 -0
  23. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/auth_tokens.py +0 -0
  24. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/brokers.py +0 -0
  25. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/cloud_cli.py +0 -0
  26. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/configs.py +0 -0
  27. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/organisations.py +0 -0
  28. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/projects.py +0 -0
  29. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/recordings.py +0 -0
  30. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/recordings_playback.py +0 -0
  31. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/rest_helper.py +0 -0
  32. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/resumable_upload.py +0 -0
  33. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/sample_recordings.py +0 -0
  34. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/service_account_tokens.py +0 -0
  35. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/service_accounts.py +0 -0
  36. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/storage/__init__.py +0 -0
  37. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/storage/cmd.py +0 -0
  38. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/storage/copy.py +0 -0
  39. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/storage/uri_or_path.py +0 -0
  40. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/cloud/uri.py +0 -0
  41. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/connect/__init__.py +0 -0
  42. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/errors.py +0 -0
  43. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/remotive.py +0 -0
  44. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/settings/__init__.py +0 -0
  45. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/settings/cmd.py +0 -0
  46. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/settings/core.py +0 -0
  47. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/settings/token_file.py +0 -0
  48. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/tools/__init__.py +0 -0
  49. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/tools/can/RemotiveLabs.can1.log +0 -0
  50. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/tools/can/__init__.py +0 -0
  51. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/tools/can/can.py +0 -0
  52. {remotivelabs_cli-0.0.37 → remotivelabs_cli-0.0.39}/cli/tools/tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: remotivelabs-cli
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: CLI for operating RemotiveCloud and RemotiveBroker
5
5
  Author: Johan Rask
6
6
  Author-email: johan.rask@remotivelabs.com
@@ -19,6 +19,7 @@ from .lib.broker import Broker, SubscribableSignal
19
19
 
20
20
  app = typer.Typer(help=help) # type: ignore
21
21
 
22
+ DEFAULT_GRPC_URL = "http://localhost:50051"
22
23
 
23
24
  # signal_values:list = list()
24
25
 
@@ -33,7 +34,7 @@ signal_values: Dict[Any, Any] = {}
33
34
 
34
35
  @app.command(name="list")
35
36
  def list_signals(
36
- url: str = typer.Option(..., help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
37
+ url: str = typer.Option(DEFAULT_GRPC_URL, help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
37
38
  api_key: str = typer.Option(None, help="Cloud Broker API-KEY or access token", envvar="REMOTIVE_BROKER_API_KEY"),
38
39
  name_starts_with: Union[str, None] = typer.Option(None, help="Signal name prefix to include"),
39
40
  name_ends_with: Union[str, None] = typer.Option(None, help="Signal name suffix to include"),
@@ -63,7 +64,7 @@ def read_scripted_code_file(file_path: Path) -> bytes:
63
64
 
64
65
  @app.command()
65
66
  def subscribe( # noqa: C901
66
- url: str = typer.Option(..., help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
67
+ url: str = typer.Option(DEFAULT_GRPC_URL, help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
67
68
  api_key: str = typer.Option(None, help="Cloud Broker API-KEY or access token", envvar="REMOTIVE_BROKER_API_KEY"),
68
69
  signal: List[str] = typer.Option([], help="Signal names to subscribe to, mandatory when not using script"),
69
70
  script: Path = typer.Option(
@@ -186,7 +187,7 @@ def subscribe( # noqa: C901
186
187
 
187
188
  @app.command(help="List namespaces on broker")
188
189
  def namespaces(
189
- url: str = typer.Option(..., help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
190
+ url: str = typer.Option(DEFAULT_GRPC_URL, help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
190
191
  api_key: str = typer.Option(None, help="Cloud Broker API-KEY or access token", envvar="REMOTIVE_BROKER_API_KEY"),
191
192
  ) -> None:
192
193
  try:
@@ -27,10 +27,13 @@ def protopie( # pylint: disable=R0913
27
27
  resolve_path=True,
28
28
  help="Configuration file with signal subscriptions and mapping if needed",
29
29
  ),
30
- signal: List[str] = typer.Option(None, help="Signal names to subscribe to, mandatory when not using script"),
30
+ signal: List[str] = typer.Option([], help="Signal names to subscribe to, mandatory when not using script"),
31
31
  signal_name_expression: str = typer.Option(
32
32
  None, help='[Experimental] Python expression to rename signal names, i.e \'lower().replace(".","_")\''
33
33
  ),
34
+ changed_values_only: bool = typer.Option(
35
+ True, help="Only receive signal when its value is changed to minimize amount of data received"
36
+ ),
34
37
  broker_url: str = typer.Option(..., help="Broker URL", envvar="REMOTIVE_BROKER_URL"),
35
38
  api_key: str = typer.Option(None, help="Cloud Broker API-KEY", envvar="REMOTIVE_BROKER_API_KEY"),
36
39
  pp_connect_host: str = typer.Option("http://localhost:9981", help="ProtoPie Connect URL"),
@@ -111,4 +114,5 @@ def protopie( # pylint: disable=R0913
111
114
  expression=signal_name_expression,
112
115
  config=config,
113
116
  signals=signals_to_subscribe_to,
117
+ on_change_only=changed_values_only,
114
118
  )
@@ -85,6 +85,7 @@ def _connect_to_broker(
85
85
  config: Union[Path, None] = None,
86
86
  signals_to_subscribe_to: Union[List[SubscribableSignal], None] = None,
87
87
  expression: str = "",
88
+ on_change_only: bool = False,
88
89
  ) -> None: # noqa: C901
89
90
  signals, namespaces, sub = get_signals_and_namespaces(config, signals_to_subscribe_to)
90
91
 
@@ -107,10 +108,12 @@ def _connect_to_broker(
107
108
  signal_name = get_signal_name(expression, s.name())
108
109
  io.emit("ppMessage", {"messageId": signal_name, "value": str(s.value())})
109
110
 
110
- grpc_connect(on_signals, signals_to_subscribe_to)
111
+ grpc_connect(on_signals, signals_to_subscribe_to, on_change_only)
111
112
 
112
113
 
113
- def grpc_connect(on_signals: Any, signals_to_subscribe_to: Union[List[SignalIdentifier], None] = None) -> None:
114
+ def grpc_connect(
115
+ on_signals: Any, signals_to_subscribe_to: Union[List[SignalIdentifier], None] = None, on_change_only: bool = False
116
+ ) -> None:
114
117
  try:
115
118
  pretty_print("Connecting and subscribing to broker...")
116
119
  subscription = None
@@ -121,7 +124,7 @@ def grpc_connect(on_signals: Any, signals_to_subscribe_to: Union[List[SignalIden
121
124
  if signals_to_subscribe_to is None:
122
125
  print("No sigs")
123
126
  return
124
- subscription = client.subscribe(signals_to_subscribe_to=signals_to_subscribe_to, changed_values_only=False)
127
+ subscription = client.subscribe(signals_to_subscribe_to=signals_to_subscribe_to, changed_values_only=on_change_only)
125
128
  pretty_print("Subscription to broker completed")
126
129
  pretty_print("Waiting for signals...")
127
130
 
@@ -158,6 +161,7 @@ def do_connect(
158
161
  config: Union[Path, None],
159
162
  signals: List[SubscribableSignal],
160
163
  expression: Union[str, None],
164
+ on_change_only: bool = False,
161
165
  ) -> None:
162
166
  global broker
163
167
  global x_api_key
@@ -180,7 +184,7 @@ def do_connect(
180
184
  while is_connected is None:
181
185
  time.sleep(1)
182
186
  # if expression is not None:
183
- _connect_to_broker(signals_to_subscribe_to=signals, config=config, expression=expression)
187
+ _connect_to_broker(signals_to_subscribe_to=signals, config=config, expression=expression, on_change_only=on_change_only)
184
188
  except SocketIoConnectionError as e:
185
189
  err_console.print(":boom: [bold red]Failed to connect to ProtoPie Connect[/bold red]")
186
190
  err_console.print(e)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "remotivelabs-cli"
3
- version = "0.0.37"
3
+ version = "0.0.39"
4
4
  description = "CLI for operating RemotiveCloud and RemotiveBroker"
5
5
  authors = ["Johan Rask <johan.rask@remotivelabs.com>"]
6
6
  readme = "README.md"