vss-cli 2025.3.0.dev0__tar.gz → 2025.6.0.dev0__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 (89) hide show
  1. {vss_cli-2025.3.0.dev0/vss_cli.egg-info → vss_cli-2025.6.0.dev0}/PKG-INFO +12 -28
  2. vss_cli-2025.6.0.dev0/docs/conf.py +174 -0
  3. vss_cli-2025.6.0.dev0/pyproject.toml +110 -0
  4. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/const.py +9 -2
  5. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data/clib.yaml +1 -1
  6. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data/clone.yaml +1 -1
  7. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data/shell.yaml +1 -1
  8. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data/template.yaml +1 -1
  9. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0/vss_cli.egg-info}/PKG-INFO +12 -28
  10. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli.egg-info/SOURCES.txt +1 -2
  11. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli.egg-info/requires.txt +0 -1
  12. vss_cli-2025.6.0.dev0/vss_cli.egg-info/top_level.txt +6 -0
  13. vss_cli-2025.3.0.dev0/pyproject.toml +0 -3
  14. vss_cli-2025.3.0.dev0/setup.py +0 -124
  15. vss_cli-2025.3.0.dev0/vss_cli.egg-info/not-zip-safe +0 -1
  16. vss_cli-2025.3.0.dev0/vss_cli.egg-info/top_level.txt +0 -1
  17. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/LICENSE +0 -0
  18. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/README.md +0 -0
  19. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/setup.cfg +0 -0
  20. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/tests/test_vss_cli.py +0 -0
  21. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/__init__.py +0 -0
  22. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/autocompletion.py +0 -0
  23. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/cli.py +0 -0
  24. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/config.py +0 -0
  25. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data/config.yaml +0 -0
  26. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data/image.yaml +0 -0
  27. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/data_types.py +0 -0
  28. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/exceptions.py +0 -0
  29. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/hcio.py +0 -0
  30. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/helper.py +0 -0
  31. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/__init__.py +0 -0
  32. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/account.py +0 -0
  33. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/assist.py +0 -0
  34. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/completion.py +0 -0
  35. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute.py +0 -0
  36. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/__init__.py +0 -0
  37. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/callbacks.py +0 -0
  38. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/contentlib.py +0 -0
  39. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/domain.py +0 -0
  40. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/floppy.py +0 -0
  41. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/folder.py +0 -0
  42. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/helper.py +0 -0
  43. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/image.py +0 -0
  44. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/inventory.py +0 -0
  45. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/iso.py +0 -0
  46. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/net.py +0 -0
  47. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/os.py +0 -0
  48. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/rel_args.py +0 -0
  49. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/rel_opts.py +0 -0
  50. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/template.py +0 -0
  51. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/vm.py +0 -0
  52. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/compute_plugins/vmdks.py +0 -0
  53. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/configure.py +0 -0
  54. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/key.py +0 -0
  55. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/message.py +0 -0
  56. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/misc.py +0 -0
  57. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/ovf.py +0 -0
  58. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/plugins.py +0 -0
  59. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/raw.py +0 -0
  60. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request.py +0 -0
  61. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/__init__.py +0 -0
  62. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/change.py +0 -0
  63. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/export.py +0 -0
  64. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/folder.py +0 -0
  65. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/image.py +0 -0
  66. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/inventory.py +0 -0
  67. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/new.py +0 -0
  68. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/restore.py +0 -0
  69. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/retirement.py +0 -0
  70. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/snapshot.py +0 -0
  71. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/request_plugins/vmdk.py +0 -0
  72. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/service.py +0 -0
  73. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/shell.py +0 -0
  74. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/status.py +0 -0
  75. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/stor.py +0 -0
  76. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/token.py +0 -0
  77. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/upgrade.py +0 -0
  78. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/plugins/vpn.py +0 -0
  79. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/rel_opts.py +0 -0
  80. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/sstatus.py +0 -0
  81. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/utils/__init__.py +0 -0
  82. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/utils/emoji.py +0 -0
  83. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/utils/threading.py +0 -0
  84. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/validators.py +0 -0
  85. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/vss.py +0 -0
  86. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/vssconst.py +0 -0
  87. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli/yaml.py +0 -0
  88. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli.egg-info/dependency_links.txt +0 -0
  89. {vss_cli-2025.3.0.dev0 → vss_cli-2025.6.0.dev0}/vss_cli.egg-info/entry_points.txt +0 -0
@@ -1,28 +1,24 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vss-cli
3
- Version: 2025.3.0.dev0
4
- Summary: ITS Private Cloud Command Line Interface
5
- Home-page: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
6
- Download-URL: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/archive/2025.3.0-dev0.zip
7
- Author: University of Toronto
8
- Author-email: vss-apps@eis.utoronto.ca
3
+ Version: 2025.6.0.dev0
4
+ Summary: ITS Private Cloud CLI
5
+ Author-email: University of Toronto <vss-apps@eis.utoronto.ca>
9
6
  Maintainer-email: vss-py@eis.utoronto.ca
10
7
  License: MIT
11
- Project-URL: Bug Reports, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/issues
8
+ Project-URL: Homepage, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
12
9
  Project-URL: Documentation, https://eis.utoronto.ca/~vss/vss-cli/
13
- Project-URL: Source, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
10
+ Project-URL: Repository, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
11
+ Project-URL: Bug Reports, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/issues
14
12
  Platform: any
15
13
  Classifier: Development Status :: 5 - Production/Stable
16
- Classifier: Intended Audience :: System Administrators
17
- Classifier: Intended Audience :: End Users/Desktop
18
14
  Classifier: Intended Audience :: Developers
19
15
  Classifier: License :: OSI Approved :: MIT License
20
- Classifier: Operating System :: OS Independent
21
- Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3
22
17
  Classifier: Programming Language :: Python :: 3.9
23
18
  Classifier: Programming Language :: Python :: 3.10
24
- Classifier: Topic :: System :: Systems Administration
25
- Requires-Python: >=3.8.5
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Requires-Python: >=3.9
26
22
  Description-Content-Type: text/markdown
27
23
  License-File: LICENSE
28
24
  Requires-Dist: pyvss>=2025.2.1
@@ -44,9 +40,10 @@ Requires-Dist: ruamel.yaml==0.17.21
44
40
  Requires-Dist: qrcode==7.3.1
45
41
  Requires-Dist: pyjwt==2.6.0
46
42
  Requires-Dist: xmltodict==0.13.0
47
- Requires-Dist: setuptools==75.8.0
48
43
  Requires-Dist: importlib-resources==6.4.0; python_version < "3.9"
49
44
  Requires-Dist: importlib-metadata==8.0.0; python_version < "3.10"
45
+ Provides-Extra: stor
46
+ Requires-Dist: minio==7.2.15; extra == "stor"
50
47
  Provides-Extra: test
51
48
  Requires-Dist: flake8==7.1.1; extra == "test"
52
49
  Requires-Dist: nose==1.3.7; extra == "test"
@@ -61,25 +58,12 @@ Requires-Dist: coverage==7.6.12; extra == "dev"
61
58
  Requires-Dist: pytz==2025.1; extra == "dev"
62
59
  Requires-Dist: wheel==0.45.1; extra == "dev"
63
60
  Requires-Dist: minio==7.2.15; extra == "dev"
64
- Requires-Dist: minio==7.2.15; extra == "dev"
65
61
  Requires-Dist: sphinx-rtd-theme==1.3.0; extra == "dev"
66
62
  Requires-Dist: Sphinx==7.2.2; extra == "dev"
67
63
  Requires-Dist: bump2version==1.0.1; extra == "dev"
68
64
  Requires-Dist: sphinxcontrib-jquery==4.1; extra == "dev"
69
65
  Requires-Dist: sphinxcontrib-confluencebuilder==2.10.1; extra == "dev"
70
- Provides-Extra: stor
71
- Requires-Dist: minio==7.2.15; extra == "stor"
72
- Dynamic: author
73
- Dynamic: author-email
74
- Dynamic: download-url
75
- Dynamic: home-page
76
- Dynamic: license
77
66
  Dynamic: license-file
78
- Dynamic: maintainer-email
79
- Dynamic: project-url
80
- Dynamic: provides-extra
81
- Dynamic: requires-dist
82
- Dynamic: requires-python
83
67
 
84
68
  # ITS Private Cloud Command Line Interface ``vss-cli``
85
69
 
@@ -0,0 +1,174 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # ITS Private Cloud Command Line Interface documentation build configuration file, created by
4
+ # sphinx-quickstart on Fri Mar 10 14:40:54 2017.
5
+ #
6
+ # This file is execfile()d with the current directory set to its
7
+ # containing dir.
8
+ #
9
+ # Note that not all possible configuration values are present in this
10
+ # autogenerated file.
11
+ #
12
+ # All configuration values have a default; values that are commented out
13
+ # serve to show the default.
14
+
15
+ # If extensions (or modules to document with autodoc) are in another directory,
16
+ # add these directories to sys.path here. If the directory is relative to the
17
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
18
+ #
19
+ from datetime import datetime as dt
20
+ import os
21
+ import sys
22
+
23
+ from vss_cli.const import __version__
24
+
25
+ sys.path.insert(0, os.path.abspath('.'))
26
+
27
+
28
+ # -- General configuration ------------------------------------------------
29
+
30
+ # If your documentation needs a minimal Sphinx version, state it here.
31
+ #
32
+ # needs_sphinx = '1.0'
33
+
34
+ # Add any Sphinx extension module names here, as strings. They can be
35
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
36
+ # ones.
37
+ extensions = ['sphinx.ext.intersphinx', 'sphinxcontrib.jquery']
38
+
39
+ # Add any paths that contain templates here, relative to this directory.
40
+ templates_path = ['_templates']
41
+
42
+ # The suffix(es) of source filenames.
43
+ # You can specify multiple suffix as a list of string:
44
+ #
45
+ # source_suffix = ['.rst', '.md']
46
+ source_suffix = '.rst'
47
+
48
+ # The master toctree document.
49
+ master_doc = 'index'
50
+
51
+ # General information about the project.
52
+ project = u'ITS Private Cloud Command Line Interface'
53
+ copyright = f'{dt.now().year}, University of Toronto, ITS'
54
+ author = u'University of Toronto, ITS'
55
+
56
+ # The version info for the project you're documenting, acts as replacement for
57
+ # |version| and |release|, also used in various other places throughout the
58
+ # built documents.
59
+ #
60
+ # The short X.Y version.
61
+ version = __version__
62
+ # The full version, including alpha/beta/rc tags.
63
+ release = __version__
64
+
65
+ # The language for content autogenerated by Sphinx. Refer to documentation
66
+ # for a list of supported languages.
67
+ #
68
+ # This is also used if you do content translation via gettext catalogs.
69
+ # Usually you set "language" from the command line for these cases.
70
+ language = 'en'
71
+
72
+ # List of patterns, relative to source directory, that match files and
73
+ # directories to ignore when looking for source files.
74
+ # This patterns also effect to html_static_path and html_extra_path
75
+ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
76
+
77
+ # The name of the Pygments (syntax highlighting) style to use.
78
+ pygments_style = 'sphinx'
79
+
80
+ # If true, `todo` and `todoList` produce output, else they produce nothing.
81
+ todo_include_todos = False
82
+
83
+
84
+ # -- Options for HTML output ----------------------------------------------
85
+
86
+ # The theme to use for HTML and HTML Help pages. See the documentation for
87
+ # a list of builtin themes.
88
+ #
89
+ html_theme = 'sphinx_rtd_theme'
90
+
91
+ # Theme options are theme-specific and customize the look and feel of a theme
92
+ # further. For a list of options available for each theme, see the
93
+ # documentation.
94
+ #
95
+ html_theme_options = {
96
+ 'collapse_navigation': True,
97
+ }
98
+
99
+ # Add any paths that contain custom static files (such as style sheets) here,
100
+ # relative to this directory. They are copied after the builtin static files,
101
+ # so a file named "default.css" will overwrite the builtin "default.css".
102
+ html_static_path = ['_static']
103
+
104
+
105
+ # -- Options for HTMLHelp output ------------------------------------------
106
+
107
+ # Output file base name for HTML help builder.
108
+ htmlhelp_basename = 'VSS-CLI'
109
+
110
+
111
+ # -- Options for LaTeX output ---------------------------------------------
112
+
113
+ latex_elements = {
114
+ # The paper size ('letterpaper' or 'a4paper').
115
+ #
116
+ # 'papersize': 'letterpaper',
117
+
118
+ # The font size ('10pt', '11pt' or '12pt').
119
+ #
120
+ # 'pointsize': '10pt',
121
+
122
+ # Additional stuff for the LaTeX preamble.
123
+ #
124
+ # 'preamble': '',
125
+
126
+ # Latex figure (float) alignment
127
+ #
128
+ # 'figure_align': 'htbp',
129
+ }
130
+
131
+ # Grouping the document tree into LaTeX files. List of tuples
132
+ # (source start file, target name, title,
133
+ # author, documentclass [howto, manual, or own class]).
134
+ latex_documents = [
135
+ (master_doc, 'VSS-CLI.tex', u'ITS Private Cloud Command Line Interface Documentation',
136
+ u'University of Toronto - ITS', 'manual'),
137
+ ]
138
+
139
+
140
+ # -- Options for manual page output ---------------------------------------
141
+
142
+ # One entry per manual page. List of tuples
143
+ # (source start file, name, description, authors, manual section).
144
+ man_pages = [
145
+ (master_doc, 'vss-cli', u'ITS Private Cloud Command Line Interface Documentation',
146
+ [author], 1)
147
+ ]
148
+ man_show_urls = True
149
+
150
+ # -- Options for Texinfo output -------------------------------------------
151
+
152
+ # Grouping the document tree into Texinfo files. List of tuples
153
+ # (source start file, target name, title, author,
154
+ # dir menu entry, description, category)
155
+ texinfo_documents = [
156
+ (master_doc, 'vss-cli', u'ITS Private Cloud Command Line Interface Documentation',
157
+ author, 'vss-cli', 'One line description of project.',
158
+ 'Miscellaneous'),
159
+ ]
160
+
161
+ html_favicon = '_static/favicon.ico'
162
+ if os.getenv('CONFLUENCE_PUBLISH', False):
163
+ extensions.append('sphinxcontrib.confluencebuilder')
164
+ # Confluence Builder
165
+ confluence_editor = os.getenv('CONFLUENCE_EDITOR', 'v2')
166
+ confluence_publish = True
167
+ confluence_space_key = os.getenv('CONFLUENCE_SPACE_KEY')
168
+ # (for Confluence Cloud)
169
+ confluence_server_pass = os.getenv('CONFLUENCE_TOKEN')
170
+ confluence_server_url = os.getenv('CONFLUENCE_URL')
171
+ confluence_server_user = os.getenv('CONFLUENCE_USER')
172
+ # confluence_parent_page = ''
173
+ confluence_global_labels = ['vss-cli',]
174
+ confluence_publish_dryrun = bool(os.getenv('CONFLUENCE_DRYRUN', False))
@@ -0,0 +1,110 @@
1
+ [project]
2
+ name = "vss-cli"
3
+ dynamic = ["version"]
4
+ description = "ITS Private Cloud CLI"
5
+ readme = "README.md"
6
+ license = {text = "MIT"}
7
+ authors = [
8
+ {name = "University of Toronto", email = "vss-apps@eis.utoronto.ca"}
9
+ ]
10
+ maintainers = [
11
+ {email = "vss-py@eis.utoronto.ca"}
12
+ ]
13
+ requires-python = ">=3.9"
14
+ classifiers = [
15
+ "Development Status :: 5 - Production/Stable",
16
+ "Intended Audience :: Developers",
17
+ "License :: OSI Approved :: MIT License",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.9",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ ]
24
+ dependencies = [
25
+ "pyvss>=2025.2.1",
26
+ "click==8.1.8",
27
+ "click-log==0.4.0",
28
+ "click-plugins==1.1.1",
29
+ "click-repl==0.2.0",
30
+ "click-spinner==0.1.10",
31
+ "click-threading==0.5.0",
32
+ "tabulate==0.9.0",
33
+ "jsonpath-ng==1.7.0",
34
+ "jinja2>=2.10",
35
+ "dateparser==1.2.1",
36
+ "rich==13.9.4",
37
+ "pick==2.2.0",
38
+ "dataclasses-json==0.5.7",
39
+ "validators==0.34.0",
40
+ "ruamel.yaml==0.17.21",
41
+ "qrcode==7.3.1",
42
+ "pyjwt==2.6.0",
43
+ "xmltodict==0.13.0",
44
+ "importlib-resources==6.4.0;python_version<'3.9'",
45
+ "importlib-metadata==8.0.0;python_version<'3.10'",
46
+ ]
47
+
48
+ [project.optional-dependencies]
49
+ stor = [
50
+ "minio==7.2.15",
51
+ ]
52
+ test = [
53
+ "flake8==7.1.1",
54
+ "nose==1.3.7",
55
+ "coverage==7.6.12",
56
+ "pytz==2025.1",
57
+ "wheel==0.45.1",
58
+ "minio==7.2.15",
59
+ ]
60
+ dev = [
61
+ "flake8==7.1.1",
62
+ "nose==1.3.7",
63
+ "coverage==7.6.12",
64
+ "pytz==2025.1",
65
+ "wheel==0.45.1",
66
+ "minio==7.2.15",
67
+ "sphinx-rtd-theme==1.3.0",
68
+ "Sphinx==7.2.2",
69
+ "bump2version==1.0.1",
70
+ "sphinxcontrib-jquery==4.1",
71
+ "sphinxcontrib-confluencebuilder==2.10.1",
72
+ ]
73
+
74
+ [project.scripts]
75
+ vss-cli = "vss_cli.cli:run"
76
+ vss = "vss_cli.cli:run"
77
+
78
+ [project.urls]
79
+ Homepage = "https://gitlab-ee.eis.utoronto.ca/vss/vss-cli"
80
+ Documentation = "https://eis.utoronto.ca/~vss/vss-cli/"
81
+ Repository = "https://gitlab-ee.eis.utoronto.ca/vss/vss-cli"
82
+ "Bug Reports" = "https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/issues"
83
+
84
+ [tool.setuptools.dynamic]
85
+ version = {attr = "vss_cli.const.__version__"}
86
+
87
+ [tool.setuptools.packages.find]
88
+ exclude = ["tests", "tests.*"]
89
+
90
+ [tool.setuptools.package-data]
91
+ vss_cli = ["data/*.yaml"]
92
+
93
+ [tool.uv]
94
+ dev-dependencies = [
95
+ "flake8==7.1.1",
96
+ "nose==1.3.7",
97
+ "coverage==7.6.12",
98
+ "pytz==2025.1",
99
+ "wheel==0.45.1",
100
+ "minio==7.2.15",
101
+ "sphinx-rtd-theme==1.3.0",
102
+ "Sphinx==7.2.2",
103
+ "bump2version==1.0.1",
104
+ "sphinxcontrib-jquery==4.1",
105
+ "sphinxcontrib-confluencebuilder==2.10.1",
106
+ ]
107
+
108
+ [tool.black]
109
+ line-length = 79
110
+ skip-string-normalization = true
@@ -8,7 +8,7 @@ except ImportError:
8
8
 
9
9
  PACKAGE_NAME = "vss_cli"
10
10
 
11
- __version__ = "2025.3.0-dev0"
11
+ __version__ = "2025.6.0-dev0"
12
12
 
13
13
 
14
14
  DEFAULT_TIMEOUT = 30
@@ -178,7 +178,14 @@ COLUMNS_VSS_SERVICE = [("id",), ("label",), ("name",), ("group.name",)]
178
178
  COLUMNS_IMAGE = [("id",), ("path",), ("name",)]
179
179
  COLUMNS_CLIB_ITEMS = [("id",), ("name",), ("library.name",), ('size',)]
180
180
  COLUMNS_OS = [("id",), ("guest_id",), ("full_name",), ("family",)]
181
- COLUMNS_REQUEST = [*COLUMNS_MIN, ("status",), ("user.username" "username",)]
181
+ COLUMNS_REQUEST = [
182
+ *COLUMNS_MIN,
183
+ ("status",),
184
+ (
185
+ "user.username",
186
+ "username",
187
+ ),
188
+ ]
182
189
  COLUMNS_REQUEST_WAIT = [('warnings', 'warnings[*]'), ('errors', 'errors[*]')]
183
190
  COLUMNS_REQUEST_MAX = [
184
191
  ("errors", "message.errors[*]"),
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec from CLib 2025.3.0-dev0 #
2
+ # VSS-CLI Spec from CLib 2025.6.0-dev0 #
3
3
  ####################################################
4
4
  built: clib # Required: Do not remove.
5
5
  machine:
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec from Clone 2025.3.0-dev0 #
2
+ # VSS-CLI Spec from Clone 2025.6.0-dev0 #
3
3
  ####################################################
4
4
  built: clone # Required: Do not remove.
5
5
  machine:
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec shell VM 2025.3.0-dev0 #
2
+ # VSS-CLI Spec shell VM 2025.6.0-dev0 #
3
3
  ####################################################
4
4
  built: os_install # Required: Do not remove.
5
5
  machine:
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec from Template 2025.3.0-dev0 #
2
+ # VSS-CLI Spec from Template 2025.6.0-dev0 #
3
3
  ####################################################
4
4
  built: template # Required: Do not remove.
5
5
  machine:
@@ -1,28 +1,24 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vss-cli
3
- Version: 2025.3.0.dev0
4
- Summary: ITS Private Cloud Command Line Interface
5
- Home-page: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
6
- Download-URL: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/archive/2025.3.0-dev0.zip
7
- Author: University of Toronto
8
- Author-email: vss-apps@eis.utoronto.ca
3
+ Version: 2025.6.0.dev0
4
+ Summary: ITS Private Cloud CLI
5
+ Author-email: University of Toronto <vss-apps@eis.utoronto.ca>
9
6
  Maintainer-email: vss-py@eis.utoronto.ca
10
7
  License: MIT
11
- Project-URL: Bug Reports, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/issues
8
+ Project-URL: Homepage, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
12
9
  Project-URL: Documentation, https://eis.utoronto.ca/~vss/vss-cli/
13
- Project-URL: Source, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
10
+ Project-URL: Repository, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
11
+ Project-URL: Bug Reports, https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/issues
14
12
  Platform: any
15
13
  Classifier: Development Status :: 5 - Production/Stable
16
- Classifier: Intended Audience :: System Administrators
17
- Classifier: Intended Audience :: End Users/Desktop
18
14
  Classifier: Intended Audience :: Developers
19
15
  Classifier: License :: OSI Approved :: MIT License
20
- Classifier: Operating System :: OS Independent
21
- Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3
22
17
  Classifier: Programming Language :: Python :: 3.9
23
18
  Classifier: Programming Language :: Python :: 3.10
24
- Classifier: Topic :: System :: Systems Administration
25
- Requires-Python: >=3.8.5
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Requires-Python: >=3.9
26
22
  Description-Content-Type: text/markdown
27
23
  License-File: LICENSE
28
24
  Requires-Dist: pyvss>=2025.2.1
@@ -44,9 +40,10 @@ Requires-Dist: ruamel.yaml==0.17.21
44
40
  Requires-Dist: qrcode==7.3.1
45
41
  Requires-Dist: pyjwt==2.6.0
46
42
  Requires-Dist: xmltodict==0.13.0
47
- Requires-Dist: setuptools==75.8.0
48
43
  Requires-Dist: importlib-resources==6.4.0; python_version < "3.9"
49
44
  Requires-Dist: importlib-metadata==8.0.0; python_version < "3.10"
45
+ Provides-Extra: stor
46
+ Requires-Dist: minio==7.2.15; extra == "stor"
50
47
  Provides-Extra: test
51
48
  Requires-Dist: flake8==7.1.1; extra == "test"
52
49
  Requires-Dist: nose==1.3.7; extra == "test"
@@ -61,25 +58,12 @@ Requires-Dist: coverage==7.6.12; extra == "dev"
61
58
  Requires-Dist: pytz==2025.1; extra == "dev"
62
59
  Requires-Dist: wheel==0.45.1; extra == "dev"
63
60
  Requires-Dist: minio==7.2.15; extra == "dev"
64
- Requires-Dist: minio==7.2.15; extra == "dev"
65
61
  Requires-Dist: sphinx-rtd-theme==1.3.0; extra == "dev"
66
62
  Requires-Dist: Sphinx==7.2.2; extra == "dev"
67
63
  Requires-Dist: bump2version==1.0.1; extra == "dev"
68
64
  Requires-Dist: sphinxcontrib-jquery==4.1; extra == "dev"
69
65
  Requires-Dist: sphinxcontrib-confluencebuilder==2.10.1; extra == "dev"
70
- Provides-Extra: stor
71
- Requires-Dist: minio==7.2.15; extra == "stor"
72
- Dynamic: author
73
- Dynamic: author-email
74
- Dynamic: download-url
75
- Dynamic: home-page
76
- Dynamic: license
77
66
  Dynamic: license-file
78
- Dynamic: maintainer-email
79
- Dynamic: project-url
80
- Dynamic: provides-extra
81
- Dynamic: requires-dist
82
- Dynamic: requires-python
83
67
 
84
68
  # ITS Private Cloud Command Line Interface ``vss-cli``
85
69
 
@@ -2,7 +2,7 @@ LICENSE
2
2
  README.md
3
3
  pyproject.toml
4
4
  setup.cfg
5
- setup.py
5
+ docs/conf.py
6
6
  tests/test_vss_cli.py
7
7
  vss_cli/__init__.py
8
8
  vss_cli/autocompletion.py
@@ -23,7 +23,6 @@ vss_cli.egg-info/PKG-INFO
23
23
  vss_cli.egg-info/SOURCES.txt
24
24
  vss_cli.egg-info/dependency_links.txt
25
25
  vss_cli.egg-info/entry_points.txt
26
- vss_cli.egg-info/not-zip-safe
27
26
  vss_cli.egg-info/requires.txt
28
27
  vss_cli.egg-info/top_level.txt
29
28
  vss_cli/data/clib.yaml
@@ -17,7 +17,6 @@ ruamel.yaml==0.17.21
17
17
  qrcode==7.3.1
18
18
  pyjwt==2.6.0
19
19
  xmltodict==0.13.0
20
- setuptools==75.8.0
21
20
 
22
21
  [:python_version < "3.10"]
23
22
  importlib-metadata==8.0.0
@@ -0,0 +1,6 @@
1
+ HomebrewFormula
2
+ artwork
3
+ dist
4
+ docker
5
+ docs
6
+ vss_cli
@@ -1,3 +0,0 @@
1
- [tool.black]
2
- line-length = 79
3
- skip-string-normalization = true
@@ -1,124 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Setup script for ITS Private Cloud CLI."""
3
- import codecs
4
- from datetime import datetime as dt
5
- import os
6
- import re
7
- from typing import List
8
-
9
- from setuptools import find_packages, setup
10
-
11
- # shared consts using approach suggested at
12
- # https://stackoverflow.com/questions/17583443/what-is-the-correct-way-to-share-package-version-with-setup-py-and-the-package
13
-
14
-
15
- def read(*parts):
16
- """Read file from current directory."""
17
- here = os.path.abspath(os.path.dirname(__file__))
18
- with codecs.open(os.path.join(here, *parts), 'r') as infofile:
19
- return infofile.read()
20
-
21
-
22
- def find_version(*file_paths):
23
- """Locate version info to share between const.py and setup.py."""
24
- version_file = read(*file_paths) # type: ignore
25
- version_match = re.search(
26
- r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M
27
- )
28
- if version_match:
29
- return version_match.group(1)
30
- raise RuntimeError("Unable to find version string.")
31
-
32
-
33
- def load_requirements(requires_file: str = 'requirements.txt') -> List[str]:
34
- """Load requirements from file"""
35
- reqs = []
36
- with open(requires_file, encoding='utf-8') as f:
37
- _lines = f.read().splitlines()
38
- for line in _lines:
39
- line = line.strip('\n')
40
- if not line.startswith('#') and line != '':
41
- reqs.append(line)
42
- return reqs
43
-
44
-
45
- __VERSION__ = find_version("vss_cli", "const.py") # type: ignore
46
-
47
- REQUIRED_PYTHON_VER = (3, 8, 5)
48
- REQUIRES = load_requirements()
49
- REQUIRES_STOR = load_requirements('requirements.stor.txt')
50
- REQUIRES_TEST = load_requirements('requirements.test.txt')
51
- REQUIRES_DEV = load_requirements('requirements.dev.txt')
52
- # REQUIRES = [req for req in INSTALL_REQUIRES if req and not re.match(r'[^:]+://', req)]
53
-
54
- PACKAGES = find_packages(exclude=['tests', 'tests.*'])
55
- PACKAGE_DATA = {'vss_cli': ['data/*.yaml']}
56
-
57
- PROJECT_NAME = 'ITS Private Cloud CLI'
58
- PROJECT_PACKAGE_NAME = 'vss-cli'
59
- PROJECT_LICENSE = 'MIT'
60
- PROJECT_AUTHOR = 'University of Toronto'
61
- PROJECT_COPYRIGHT = f' 2019-{dt.now().year}, {PROJECT_AUTHOR}'
62
- PROJECT_URL = 'https://gitlab-ee.eis.utoronto.ca/vss/vss-cli'
63
- PROJECT_DOCS = 'https://eis.utoronto.ca/~vss/vss-cli'
64
- PROJECT_EMAIL = 'vss-apps@eis.utoronto.ca'
65
- MAINTAINER_EMAIL = 'vss-py@eis.utoronto.ca'
66
-
67
- PROJECT_GITLAB_GROUP = 'vss'
68
- PROJECT_GITLAB_REPOSITORY = 'vss-cli'
69
-
70
- PYPI_URL = f'https://pypi.python.org/pypi/{PROJECT_PACKAGE_NAME}'
71
- GITLAB_PATH = f'{PROJECT_GITLAB_GROUP}/{PROJECT_GITLAB_REPOSITORY}'
72
- GITLAB_URL = f'https://gitlab-ee.eis.utoronto.ca/{GITLAB_PATH}'
73
-
74
- DOWNLOAD_URL = f'{GITLAB_URL}/archive/{__VERSION__}.zip'
75
- PROJECT_URLS = {
76
- 'Bug Reports': f'{GITLAB_URL}/issues',
77
- 'Documentation': f'{PROJECT_DOCS}/',
78
- 'Source': f'{PROJECT_URL}',
79
- }
80
- STOR_REQUIRE = REQUIRES_STOR
81
- TESTS_REQUIRE = [
82
- *REQUIRES_TEST, # Otherwise setup.py bdist_wheel does not work
83
- *STOR_REQUIRE,
84
- ]
85
- DEV_REQUIRE = [*TESTS_REQUIRE, *STOR_REQUIRE, *REQUIRES_DEV]
86
-
87
- # Allow you to run
88
- # pip install .[test]
89
- # pip install .[dev]
90
- # to get test dependencies included
91
- EXTRAS_REQUIRE = {
92
- 'test': TESTS_REQUIRE,
93
- 'dev': DEV_REQUIRE,
94
- 'stor': STOR_REQUIRE,
95
- }
96
-
97
- MIN_PY_VERSION = '.'.join(map(str, REQUIRED_PYTHON_VER))
98
-
99
-
100
- setup(
101
- name=PROJECT_PACKAGE_NAME,
102
- version=__VERSION__,
103
- url=PROJECT_URL,
104
- download_url=DOWNLOAD_URL,
105
- project_urls=PROJECT_URLS,
106
- author=PROJECT_AUTHOR,
107
- author_email=PROJECT_EMAIL,
108
- maintainer_email=MAINTAINER_EMAIL,
109
- packages=PACKAGES,
110
- package_data=PACKAGE_DATA,
111
- license=PROJECT_LICENSE,
112
- include_package_data=True,
113
- zip_safe=False,
114
- install_requires=REQUIRES,
115
- tests_require=TESTS_REQUIRE,
116
- extras_require=EXTRAS_REQUIRE,
117
- python_requires=f'>={MIN_PY_VERSION}',
118
- entry_points={
119
- 'console_scripts': [
120
- 'vss-cli = vss_cli.cli:run',
121
- 'vss = vss_cli.cli:run',
122
- ]
123
- },
124
- )
@@ -1 +0,0 @@
1
- vss_cli
File without changes