Contribute to the vss-cli
First time setup
Download and install the Latest version of git.
Configure git with your
username
andemail
matching your GitLab account:
git config --global user.name 'your name'
git config --global user.email 'your email'
Fork the
vss-cli
repository by clicking the Fork button.Clone your fork locally:
git clone git@gitlab-ee.eis.utoronto.ca:{username}/vss-cli.git
cd vss-cli
Add the main repository as a remote to update later:
git remote add vss git@gitlab-ee.eis.utoronto.ca:vss/vss-cli.git
git fetch vss
Create virtual environment:
Start Coding
1. Create a branch to identify the issue you would like to work on (e.g. issue-999
):
Using your favorite editor, make your changes, committing as you go.
Follow PEP8.
Push your commits to GitLab and create a merge request.
Celebrate 🎉
Build docs
Install requirements:
Build the
html
andman
pages withdistutils
:
Or to the docs folder and run
make
to start the build:
In any case, the resulting files are located in docs/_build
.
Developing Plugins
Plugin developers need to register their sub-commands or sub-groups to either of the following entry-points in their setup.py that is loaded by the vss-cli
core package:
vss_cli.contrib.plugins
: scope atvss-cli plugins
command group.vss_cli.contrib.compute
: scope atvss-cli compute
command group.vss_cli.contrib.compute.vm
: scope atvss-cli compute vm
command group.
For example, if someone wanted to make a plugin package called new_plugin
which adds a sub-command at vss-cli compute report
and another one at vss-cli compute vm report
, they would create their custom python package with the vss-cli
as a dependency, and add the following to their package’s setuptools entry-points in setup.py
:
Now, the plugin package new_plugin
contains __init__.py
and core.py
:
After installing the plugin, the vss-cli
will load the plugin in the defined scope:
University of Toronto - Since 1827