yamcs-cli 1.4.10__py3-none-any.whl → 1.4.11__py3-none-any.whl

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.
yamcs/cli/__main__.py CHANGED
@@ -1,10 +1,10 @@
1
1
  import argparse
2
- import logging
3
2
  import sys
3
+ import traceback
4
4
 
5
5
  import argcomplete
6
6
  import pkg_resources
7
- from yamcs.core.exceptions import Unauthorized
7
+ from yamcs.client import Unauthorized
8
8
 
9
9
  from yamcs.cli import utils
10
10
  from yamcs.cli.alarms import AlarmsCommand
@@ -115,12 +115,12 @@ def main():
115
115
  sys.exit(1)
116
116
  except Unauthorized:
117
117
  if args.debug:
118
- eprint(logging.traceback.format_exc())
118
+ eprint(traceback.format_exc())
119
119
  eprint("Unauthorized. Run: 'yamcs login' to login to Yamcs")
120
120
  sys.exit(1)
121
121
  except Exception as e:
122
122
  if args.debug:
123
- eprint(logging.traceback.format_exc())
123
+ eprint(traceback.format_exc())
124
124
  else:
125
125
  eprint(e)
126
126
  sys.exit(1)
yamcs/cli/commands.py CHANGED
@@ -4,7 +4,7 @@ from typing import Any, List
4
4
  from yamcs.client import YamcsClient
5
5
 
6
6
  from yamcs.cli import utils
7
- from yamcs.cli.completers import CommandCompleter, ProcessorCompleter
7
+ from yamcs.cli.completers import CommandCompleter, ProcessorCompleter, StreamCompleter
8
8
 
9
9
 
10
10
  class CommandsCommand(utils.Command):
@@ -26,7 +26,7 @@ class CommandsCommand(utils.Command):
26
26
  subparser = self.create_subparser(subparsers, "run", "Run a command")
27
27
  subparser.set_defaults(func=self.run)
28
28
  subparser.add_argument(
29
- "command", metavar="NAME", type=str, help="name of the command"
29
+ "command", metavar="NAME", type=str, help="Name of the command"
30
30
  ).completer = CommandCompleter
31
31
  subparser.add_argument("--arg-file", help="Read arguments from a file")
32
32
  subparser.add_argument(
@@ -37,7 +37,10 @@ class CommandsCommand(utils.Command):
37
37
  help="Set arguments",
38
38
  )
39
39
  subparser.add_argument(
40
- "--processor", type=str, help="name of the processor", default="realtime"
40
+ "--stream", type=str, help="Name of the stream"
41
+ ).completer = StreamCompleter
42
+ subparser.add_argument(
43
+ "--processor", type=str, help="Name of the processor", default="realtime"
41
44
  ).completer = ProcessorCompleter
42
45
  subparser.add_argument(
43
46
  "--sequence-number",
@@ -131,6 +134,7 @@ class CommandsCommand(utils.Command):
131
134
  args=command_args,
132
135
  dry_run=args.dry_run,
133
136
  comment=args.comment,
137
+ stream=args.stream,
134
138
  **kwargs,
135
139
  )
136
140
  print(command.id)
yamcs/cli/dbshell.py CHANGED
@@ -10,8 +10,7 @@ from pydoc import pager
10
10
  from typing import Any, List
11
11
 
12
12
  from google.protobuf import json_format
13
- from yamcs.client import YamcsClient
14
- from yamcs.core.exceptions import YamcsError
13
+ from yamcs.client import YamcsClient, YamcsError
15
14
  from yamcs.protobuf.events import events_pb2
16
15
 
17
16
  from yamcs.cli import utils
yamcs/cli/events.py CHANGED
@@ -69,6 +69,12 @@ class EventsCommand(utils.Command):
69
69
  type=str,
70
70
  help="Include events not newer than the specified date",
71
71
  )
72
+ subparser.add_argument(
73
+ "--filter",
74
+ metavar="EXPRESSION",
75
+ type=str,
76
+ help="Apply a filter expression to each event",
77
+ )
72
78
  subparser.set_defaults(func=self.log)
73
79
 
74
80
  def create(self, args):
@@ -135,6 +141,7 @@ class EventsCommand(utils.Command):
135
141
  most_recent_only = start is None and stop is None and args.lines != "all"
136
142
 
137
143
  iterator = archive.list_events(
144
+ filter=args.filter,
138
145
  descending=most_recent_only,
139
146
  start=start,
140
147
  stop=stop,
yamcs/cli/login.py CHANGED
@@ -2,8 +2,7 @@ import os
2
2
  from getpass import getpass
3
3
  from typing import Optional
4
4
 
5
- from yamcs.client import YamcsClient
6
- from yamcs.core import auth
5
+ from yamcs.client import Credentials, YamcsClient
7
6
 
8
7
  from yamcs.cli import utils
9
8
  from yamcs.cli.utils import eprint
@@ -112,7 +111,7 @@ class LoginCommand(utils.Command):
112
111
  eprint("*** Password may not be empty")
113
112
  return False
114
113
 
115
- return auth.Credentials(username=username, password=password)
114
+ return Credentials(username=username, password=password)
116
115
 
117
116
  def save_client_config(
118
117
  self,
yamcs/cli/storage.py CHANGED
@@ -4,8 +4,7 @@ import sys
4
4
  import tempfile
5
5
  from typing import Any, List
6
6
 
7
- from yamcs.client import YamcsClient
8
- from yamcs.core.helpers import to_isostring
7
+ from yamcs.client import YamcsClient, to_isostring
9
8
 
10
9
  from yamcs.cli import utils
11
10
  from yamcs.cli.completers import BucketCompleter, BucketOrObjectCompleter
yamcs/cli/utils.py CHANGED
@@ -8,8 +8,7 @@ from typing import Any, List
8
8
 
9
9
  import pkg_resources
10
10
  from dateutil import parser
11
- from yamcs.core import auth
12
- from yamcs.core.helpers import parse_server_timestring, to_isostring
11
+ from yamcs.client import Credentials, parse_server_timestring, to_isostring
13
12
 
14
13
  from yamcs.cli.exceptions import NoInstanceError, NoServerError
15
14
 
@@ -39,20 +38,18 @@ def save_config(config):
39
38
  config.write(f)
40
39
 
41
40
 
42
- def save_credentials(credentials):
41
+ def save_credentials(credentials: Credentials):
43
42
  if not os.path.exists(CONFIG_DIR):
44
43
  os.makedirs(CONFIG_DIR)
45
44
 
46
45
  with open(CREDENTIALS_FILE, "wt") as f:
47
- json.dump(
48
- {
49
- "access_token": credentials.access_token,
50
- "refresh_token": credentials.refresh_token,
51
- "expiry": to_isostring(credentials.expiry),
52
- },
53
- f,
54
- indent=2,
55
- )
46
+ obj = {
47
+ "access_token": credentials.access_token,
48
+ "refresh_token": credentials.refresh_token,
49
+ }
50
+ if credentials.expiry:
51
+ obj["expiry"] = to_isostring(credentials.expiry)
52
+ json.dump(obj, f, indent=2)
56
53
 
57
54
 
58
55
  def read_credentials():
@@ -65,7 +62,7 @@ def read_credentials():
65
62
  access_token = d["access_token"]
66
63
  refresh_token = d["refresh_token"]
67
64
  expiry = parse_server_timestring(d["expiry"]) if "expiry" in d else None
68
- return auth.Credentials(
65
+ return Credentials(
69
66
  access_token=access_token,
70
67
  refresh_token=refresh_token,
71
68
  expiry=expiry,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: yamcs-cli
3
- Version: 1.4.10
3
+ Version: 1.4.11
4
4
  Summary: Yamcs Command-Line Tools
5
5
  Home-page: https://github.com/yamcs/yamcs-cli
6
6
  Author: Space Applications Services
@@ -14,33 +14,28 @@ Classifier: Intended Audience :: System Administrators
14
14
  Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
15
15
  Classifier: Programming Language :: Python
16
16
  Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.7
18
17
  Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.9
20
19
  Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
23
  Classifier: Operating System :: OS Independent
24
- Requires-Python: >=3.7
24
+ Requires-Python: >=3.8
25
25
  Description-Content-Type: text/markdown
26
26
  License-File: LICENSE
27
27
  Requires-Dist: argcomplete
28
28
  Requires-Dist: python-dateutil
29
- Requires-Dist: yamcs-client (>=1.9.8)
29
+ Requires-Dist: yamcs-client (>=1.11.0)
30
30
  Provides-Extra: kerberos
31
- Requires-Dist: yamcs-client-kerberos (>=1.2.2) ; extra == 'kerberos'
31
+ Requires-Dist: yamcs-client-kerberos (>=1.3.0) ; extra == 'kerberos'
32
32
 
33
33
  # Command-Line Interface
34
34
 
35
35
  ## Development Setup
36
36
 
37
- Install build dependencies (you may want to do this in a virtualenv):
38
-
39
- pip install -r requirements.txt
40
-
41
-
42
37
  Install `yamcs-cli` from the source base:
43
38
 
44
- python setup.py develop
39
+ pip install -e .
45
40
 
46
41
  Changes to any source file have immediate impact.
@@ -1,17 +1,17 @@
1
- yamcs/cli/__main__.py,sha256=MJ5DeJ1Rt6jgRaxeD4a2iZGf8x0956MH4wt89eaxkqU,4257
1
+ yamcs/cli/__main__.py,sha256=JWPpQt2tBuZYnuABr7Sx940wwaj5-sWw3WIs34BlZQ0,4234
2
2
  yamcs/cli/alarms.py,sha256=cHLwveHqvpnLHddktGA5LCyOt9FRljcwid9Q7TYd5FI,7126
3
3
  yamcs/cli/algorithms.py,sha256=Oqw0tiIv_mmK7smPYIdI00uUfM2KxHMbrySGi8Ywlcc,1622
4
4
  yamcs/cli/bash_completion.sh,sha256=sQOPhbykD68uMYkcWudqJNJKuSQh2Blzozt2kkawRo4,1032
5
- yamcs/cli/commands.py,sha256=vdsKDjjWQWCVC_CaGs5ZBPv8PbB4dH09sD6n7NekIyQ,6286
5
+ yamcs/cli/commands.py,sha256=ANOyAIeMDhJkk7hNyYAkwqjWDfFIpKpfR-fLkSxmEj0,6465
6
6
  yamcs/cli/completers.py,sha256=tteufAU2XeS2rATY8jQ5L4fxlUtbPq1Lj2NSxZvQgU4,4445
7
7
  yamcs/cli/config.py,sha256=WeuE6rfRSGt7f5nuD2tJmH_gXl5RSPlLRvufnWj4IGM,2996
8
8
  yamcs/cli/containers.py,sha256=vjFoqeAd8Qzw-jp0XxO_HVi2852OEUz3mmtdrBAVqHE,1621
9
- yamcs/cli/dbshell.py,sha256=W3a_aWKwAMT_zKzy91wP-Y4LPm1yJi26rTLkjDKUXtE,16752
10
- yamcs/cli/events.py,sha256=QzqPzxHg4AT_SWcerNL-oXDl9vZHJye4UZM0D_pwyd4,5403
9
+ yamcs/cli/dbshell.py,sha256=p86OUmwe1IGAqbxFdc1iXYeUDwkgZi4Bhlxfe7OhRUo,16719
10
+ yamcs/cli/events.py,sha256=waOT7Is909EOWE1uqXla8G2QGXJXf7MstUgYjVufzs4,5617
11
11
  yamcs/cli/exceptions.py,sha256=0RcpLLR_jubALmuSlZ1DQ0KUcfKadOl-1VRPi0LxHSw,238
12
12
  yamcs/cli/instances.py,sha256=RBfHQUGZB4hU_MGdhPmZgzO_WkA2Sj54KpxT7BSyLeQ,2119
13
13
  yamcs/cli/links.py,sha256=RmdeYLqC1agtORso2T8MUcgp3f-zJKIfeb0UsupsXzc,3330
14
- yamcs/cli/login.py,sha256=2plonlIbwqJKUCQkw9rj2j5gv1O_VFzjGJ_gGIKJrrk,4989
14
+ yamcs/cli/login.py,sha256=VAIE--YGiCTwf8D79L3dHKKtTlmdSFcgkUcR37CwVzY,4969
15
15
  yamcs/cli/logout.py,sha256=XgIdxuAUHQ5VbPP6sZwN88cAvWQEm7GBPfvYj6vn9Rg,562
16
16
  yamcs/cli/packets.py,sha256=js-meTATi7a7IjVWC9nLiu56KdZNyDjZY9QBlRWfgD0,4645
17
17
  yamcs/cli/parameter_archive.py,sha256=U9-nY71lVGlBdmN20ltuccGa9U7rB_l6odigXtaMB4k,1881
@@ -20,10 +20,10 @@ yamcs/cli/processors.py,sha256=9BJlQywmq6x_ea3tWT66dB2wBry9divqWhG3VWKM6Nw,1988
20
20
  yamcs/cli/rocksdb.py,sha256=28VjE9ldHUrGCxMeNNOn8FhnvdRJbiMlKjnjErgrl1k,1947
21
21
  yamcs/cli/services.py,sha256=4sE7vOB977EmNfA4X9YJSyi3bSmhfqOj3cScGYGR4Lc,2171
22
22
  yamcs/cli/space_systems.py,sha256=hsjDzRNZLlUSlBuO-WJGyUXmIpoQYk0n84sgQ4y8wEA,2285
23
- yamcs/cli/storage.py,sha256=5pwvgeUMDY1r9iiDbIxaW_n-QF13zqwhT8Gb_G12Rig,9801
23
+ yamcs/cli/storage.py,sha256=Ynqz5kIIqcPLTgfPJsnQ6dubOaqqE5_CmVOo0MzTnAQ,9771
24
24
  yamcs/cli/streams.py,sha256=RvB4OuqU0CiY_XAn356JiSlaO_AgIXEbHN1VRaHul64,2392
25
25
  yamcs/cli/tables.py,sha256=3Fc-31ViO3TT14SV0b9jhRPXa2NZsLcJMqr3tSYvHM4,8505
26
- yamcs/cli/utils.py,sha256=sCQPSGK9o-T-26TWbOI768fSeXWOjnZZPWdovkj_Dwo,7784
26
+ yamcs/cli/utils.py,sha256=cQ1A_hEFvkcuF09UDVLm9UEzWMSmv8M_qi8xN16DSRs,7762
27
27
  yamcs/cli/protobuf/activities_pb2.py,sha256=8V42hiw99laYl0pAMISd-B_PY6LAuXMkAeMOXwjyX88,2741
28
28
  yamcs/cli/protobuf/cmdhistory_pb2.py,sha256=8WK--s8OO9dCbDur86MraQXoMvJq-kU1ZMOHAJ4PvuI,4198
29
29
  yamcs/cli/protobuf/db_pb2.py,sha256=ObnWfpZZDoCCHQcBH7GRGRjXfnKgu8bKnw5fOZMo_e0,15789
@@ -31,9 +31,9 @@ yamcs/cli/protobuf/replication_pb2.py,sha256=0YzH8bVPi2DNmHcgxyv9m_XuhYnH83U0O6k
31
31
  yamcs/cli/protobuf/security_pb2.py,sha256=SbVHS7ghG_JDbZ_35p8GwVnV-3HuwNOGAWRVhFoWbPE,21569
32
32
  yamcs/cli/protobuf/tablespace_pb2.py,sha256=DLYPDKOgLm1xeZAT5F7WMLaGQJM_npeYfpZAFMSM6OU,37008
33
33
  yamcs/cli/protobuf/timeline_pb2.py,sha256=JUl7sGOYMS8IP6h0hCOCrQz8BaBtvxjf6lY7cpDYcfg,5004
34
- yamcs_cli-1.4.10.dist-info/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
35
- yamcs_cli-1.4.10.dist-info/METADATA,sha256=wU38qbIbQtkkRXdx3pWXFgRGBs2jze6iz7t9EpyHiZY,1538
36
- yamcs_cli-1.4.10.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
37
- yamcs_cli-1.4.10.dist-info/entry_points.txt,sha256=M6Juk3MbdDMR1v3htR2aHEebitGHW-E3ujHmYQLwEas,50
38
- yamcs_cli-1.4.10.dist-info/top_level.txt,sha256=EsFTpWxnHBl6f_5Wf-CrENGPSoY7xP4T-JpgBMwsk8Q,6
39
- yamcs_cli-1.4.10.dist-info/RECORD,,
34
+ yamcs_cli-1.4.11.dist-info/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
35
+ yamcs_cli-1.4.11.dist-info/METADATA,sha256=INvWD7ueYwv1LJg785NQzJGeJeOGZgEdNGtolRjrKyc,1424
36
+ yamcs_cli-1.4.11.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
37
+ yamcs_cli-1.4.11.dist-info/entry_points.txt,sha256=M6Juk3MbdDMR1v3htR2aHEebitGHW-E3ujHmYQLwEas,50
38
+ yamcs_cli-1.4.11.dist-info/top_level.txt,sha256=EsFTpWxnHBl6f_5Wf-CrENGPSoY7xP4T-JpgBMwsk8Q,6
39
+ yamcs_cli-1.4.11.dist-info/RECORD,,