Metadata-Version: 2.1
Name: rc-cli
Version: 0.0.6
Summary: RoseCloud CLI
Home-page: UNKNOWN
Author: RoseCloud Team
Author-email: rupakhet@rose-hulman.edu
License: MIT
Project-URL: Bug Reports, https://ada.csse.rose-hulman.edu/RoseBuild/rc-cli/boards
Project-URL: Source, https://ada.csse.rose-hulman.edu/RoseBuild/rc-cli/tree/master
Keywords: rose-hulman rosecloud management setuptools
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: Utilities
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Requires-Dist: Click
Requires-Dist: colorama
Requires-Dist: requests
Requires-Dist: gitpython
Requires-Dist: pytz

# RoseCloud CLI
The RoseCloud CLI tool. It is intended to be used to setup and manage
a RoseCloud workspace for instructors and teaching assistants.

## Requirements
- python 3.5+

## Development
### Setup
  1. Install `pipenv`: `sudo pip install pipenv`.
  2. Run `pipenv install`.
This sets up a python virtual environment for you. All subsequent
commands should be run via `pipenv run ...`. If you need to add
another dependency, run `pipenv install <package_name>`.

### Link CLI
  1. Run `pipenv install -e .`. This will create a symlink to this
project. All changes here will show up in the `pipenv`.
  2. Run `pipenv run rc`.

**Note**: If you do not want to use `pipenv` or do not like the idea
of prefixing `pipenv run` for all commands, you can run `pipenv`
with `pip install -e .`

## Publishing
### Setup
First, you need to install `PyPi`'s publication tool `twine`.
Run,
```
pip install twine
```

You will also need `wheel`.
Run,
```
pip install wheel
```

Lastly, ensure you have the latest `setuptools` by running
```
pip install --upgrade setuptools
```

You will need to also setup a PyPi account ([link](https://pypi.org/account/register/))
and a test PyPi account ([link](https://test.pypi.org/account/register/)).

For ease of use, you can create a file in your home directory called
`.pypirc` with the following. For linux and osx, this would be `~/.pypirc`. `Twine` will use this to request rather than
requesting for credentials.
```
[pypi]
username = <username>
password = <password>

[testpypi]
username = <username>
password = <password>
```

### Generating Dist Files
**Before you begin, make sure `python` has version 3.5+. The following command will
generate dist files that are specific to your `python` version and some of the features
used in this project are `python 3.5+` specific.**

To generate `dist` files, you need to run
```
python setup.py bdist_wheel
```

### Upload New Distribution
If you are uploading changes, you should update the version in the `setup.py` following
semantic versioning principles.

Run the following to upload latest changes to official `PyPi` servers
```
twine upload dist/*
```

You can now install it using
```
pip install rc-cli
```

Alternatively, to test without messing with production, run this
```
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
```

To install from test,
```
pip install --index-url https://test.pypi.org/rc-cli rc-cli
```

More info here on PyPi distribution [link](https://packaging.python.org/tutorials/distributing-packages/).

More info here on test PyPi [link](https://packaging.python.org/guides/using-testpypi/#using-test-pypi).


