Switch from using scripts in setuptools to entry_point
Add a new entry_point "awx-cli" which functions the same
as tower-cli
Need for sudo has been eliminated for normal install method
setup.py might fail on Python 3 in non-UTF8 environments while parsing
HISTORY.rst or README.rst which are not required to be ASCII-only with:
UnicodeDecodeError: 'ascii' codec can't decode …
We could also require the files to be plain ASCII, but it sounds not the
right thing to do in the 21st century.
Simple reproducer:
% LC_ALL=C python3 setup.py
Traceback (most recent call last):
File "setup.py", line 126, in <module>
long_description=combine_files('README.rst', 'HISTORY.rst'),
File "setup.py", line 112, in combine_files
file_contents.append(f.read())
File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 2132: ordinal not in range(128)
This commit:
- Rehashes settings entirely, making it more system aware and
unifying it in multiple objects to account for the need for writes
later.
- Rehashes the API object, making it a much smaller class, wrapping
`requests`.
- Adds a pluggable architecture for resources and commands, built
on top of `click`.
- Adds resources for most major objects in Tower, allowing for CRUD actions.
- Adds job monitoring and cancelation.