AWSume is no longer completely running in a shell script, which can be slow. Now, when a user calls awsume, they call a tiny shell script that acts as a wrapper for the AWSumePy python script. Because a large portion of the workload was moved from Bash/Zsh/Powershell to Python, assuming a role is now much faster.
Features
Cross-Platform Because a large portion of the code is in Python, we only have one main code-base to work off of, which can speed up development, and ensure that AWSume works on all platforms.
Better Argument Handling With Python's argparse library, command-line arguments are handled optimally, are consistent cross-platofrm, and the help/usage output is much cleaner.
Unit Testing There isn't much you can do for unit testing in a shell script, however, there is a lot of opportunity for unit testing Python scripts.
PyPI AWSume is now a python package on the PyPI. With one simple command, pip install awsume, everything is handled for the user, including setting up the alias in their shell resource control file, and placing the shell script wrappers in their python PATH directory. The only thing a user has to do is set up their config and credentials files. The setup.py file used to package and upload AWSume to PyPI is included in the repository.
AWSume in Python!
AWSume is no longer completely running in a shell script, which can be slow. Now, when a user calls
awsume
, they call a tiny shell script that acts as a wrapper for the AWSumePy python script. Because a large portion of the workload was moved from Bash/Zsh/Powershell to Python, assuming a role is now much faster.Features
argparse
library, command-line arguments are handled optimally, are consistent cross-platofrm, and the help/usage output is much cleaner.pip install awsume
, everything is handled for the user, including setting up the alias in their shell resource control file, and placing the shell script wrappers in their pythonPATH
directory. The only thing a user has to do is set up theirconfig
andcredentials
files. Thesetup.py
file used to package and upload AWSume to PyPI is included in the repository.