So what's under the hood?
Check out completer.py for more details on how
awscli is used.
Python-prompt-toolkit simplifies the creation of interactive command lines.
Used throughout the
SAWS source code.
Pygments is a syntax highlighter for
SAWS commands and output.
Check out lexer.py for more details on how
pygments is used.
- Check out the tests folder
- Used in test_cli.py to run, interact, and stop the CLI
- Not supported on Windows
- Could be intimidating at first, here's a helpful tutorial
If you want to play around the development environment, run the following:
$ git clone https://github.com/donnemartin/saws.git $ pip install -e . $ pip install -r requirements-dev.txt $ saws
Run unit tests in your active Python environment:
$ python tests/run_tests.py
I'm also a fan of:
While working on
SAWS I came across 'behavior driven development' with behave--interesting!
Tox is used to automate and standardize testing in Python 2.6, 2.7, 3.3, 3.4, and pypy.
install: - travis_retry pip install tox after_success: - codecov
To run locally:
The tox.ini file specifies:
- Python environments
- Travis CI arguments
- Test commands
To hook up to Codecov to Travis CI, add the following to your .travis.yml:
install: - pip install codecov after_success: - codecov
Travis CI provides continuous integration.
The .travis.yml file specifies:
- Python versions
- OS (I had trouble getting Mac OS X to work)
- Install dependencies
- Script to run
- What to do after running (send the coverage stats to Codecov)
Here's a handy article to learn more about how to build and upload your Sphinx docs to PyPi:
Run the following to build the docs:
$ python setup.py build_sphinx
PyPI and Setup.py
This allows end-users to install with a one-liner:
$ pip install saws
virtualenv install is recommended to avoid potential permissions or package dependency issues.
Check out this article to learn more about posting to PyPI.