Package: rc-cli
RoseCloud CLIThe RoseCloud CLI tool. It is intended to be used to setup and manage
a RoseCloud workspace for instructors and teaching assistants.Requirementspython 3.5+DevelopmentSetupWithpipenvInstallpipenv:sudo pip install pipenv.Runpipenv install.
This sets up a python virtual environment for you. All subsequent
commands should be run viapipenv run .... If you need to add
another dependency, runpipenv install <package_name>.Link CLIRunpipenv install -e .. This will create a symlink to this
project. All changes here will show up in thepipenv.Runpipenv run rc --help.WithpipRunpip install -r requirements.txtThis will install all dependencies to your machine. This is if you do not
want to mess around with virtual environments and are fine with adding a few
dependencies globally to your machine.Link CLIRunpip install -e .Runrc --helpThings to Keep in MindUpdaterequirements.txtonce in a while. Recommend usingpigarUpdatesetup.pydependencies once in a while.Update Docker image once in a while by runningdocker build -t docker.csse.rose-hulman.edu/rosebuild/rc-cli/pypi-deployer:MAJOR.MINOR.PATCH . --no-cachedocker push docker.csse.rose-hulman.edu/rosebuild/rc-cli/pypi-deployer:MAJOR.MINOR.PATCHWe need testClick supports isolated filesystem and internal invocationTestingIn order to run tests on this project, please follow the below steps.  Before proceeding, assure that you have Python3.4 or greater downloadedSetup Python and PipIf you have installed Python 3.4 or greater, pip will be bundled in the install.  However, you may find
that you are still unable to use the pip commands in terminal.  This is because we must place pip into
your computers environment variables.  To do this:Open up the windows menu in the bottom left of the screenRight click on "Computer" and select propertiesSelect "Advanced System Settings"Select "Environment Variables"In the box labelled "System Variables", locate the "Path" variableSelect this row and select "Edit"Append to end of the list ";{Path to Python install};{Path to Python install}\Scripts"Reopen your terminal and you should be able to sue pip commandsInstall LibrariesPipWe now need to run all of the necessary installs.  These installs are listed below.if you have not already, run "pip install requirements.txt"VirtualenvNavigate to the rc-cli folderEnter the comman "virtualenv venv/Script/bin"Enter the command "nosetest"Running the TestsYou should now be able to run the tests.  Navigate to the rc_cli\restore forlder in terminal.
Now, run the command "nosetests RestorerTests.py".  At this point, I am getting a "bad git executable"
error.  Please let me know if you get any errors from this.PublishingCIYou can read below for how to do it manually. To deploy, make sure the repository
is cleaned (all files committed and pushed).NOTEBefore committing to master, please update the version of the rc-cli service.
To do this, update theversionparameter in the setup.py file to be the latest version,
in the formMAJOR.MINOR.PATCH.SetupFirst, you need to installPyPi's publication tooltwine.
Run,pipinstalltwineYou will also needwheel.
Run,pipinstallwheelLastly, ensure you have the latestsetuptoolsby runningpipinstall--upgradesetuptoolsYou will need to also setup a PyPi account (link)
and a test PyPi account (link).For ease of use, you can create a file in your home directory called.pypircwith the following. For linux and osx, this would be~/.pypirc.Twinewill use this to request rather than
requesting for credentials.[pypi]
username = <username>
password = <password>

[testpypi]
username = <username>
password = <password>Update VersionBefore we can generate any files to publish, we must first update the version of the software.Opensetup.pyFind theversionparameter on line 12Modify this parameter to be the new vesion number. The format isMAJOR.MINOR.PATCHGenerating Dist FilesBefore you begin, make surepythonhas version 3.5+. The following command will
generate dist files that are specific to yourpythonversion and some of the features
used in this project arepython 3.5+specific.To generatedistfiles, you need to runpythonsetup.pybdist_wheelUpload New DistributionIf you are uploading changes, you should update the version in thesetup.pyfollowing
semantic versioning principles. (Refer toUpdate Version)Run the following to upload latest changes to officialPyPiserverstwineuploaddist/*You can now install it usingpipinstallrc-cliAlternatively, to test without messing with production, run thistwineupload--repository-urlhttps://test.pypi.org/legacy/dist/*To install from test,pipinstall--index-urlhttps://test.pypi.org/rc-clirc-cliMore info here on PyPi distributionlink.More info here on test PyPilink.