{ "info": { "author": "Christopher Dignam", "author_email": "chris@dignam.xyz", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Systems Administration" ], "description": "# awsudo [![CircleCI](https://circleci.com/gh/chdsbd/awsudo-py.svg?style=svg)](https://circleci.com/gh/chdsbd/awsudo-py) [![pypi](https://img.shields.io/pypi/v/awsudo-py.svg)](https://pypi.org/project/awsudo-py/)\n> A sudo-like tool to configure AWS environment variables and call programs\n\nThis script is useful for programs like Terraform, which doesn't support MFA when assuming roles. \n\n\n## Installation\n```sh\npython3 -m pip install awsudo-py\n```\n\n## Usage\n```console\n$ awsudo -p administrator@staging terraform apply\n\n$ awsudo -p administrator@staging env | grep AWS\nAWS_ACCESS_KEY_ID=AKIAIXMBKCITA257EHIQ\nAWS_SECRET_ACCESS_KEY=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\n```\n\n```\nusage: awsudo [-h] [-p PROFILE] PROG [ARG [ARG ...]]\n\nSet environment variables using profile\n\npositional arguments:\n PROG executable to run\n ARG args to run with program\n\noptional arguments:\n -h, --help show this help message and exit\n -p PROFILE, --profile PROFILE\n AWS Profile to assume\n```\n\n## Development\n[Poetry][poetry] is necessary to install this project for development.\n```sh\n# install dependencies\nmake install\n\n# linting\nmake typecheck\nmake fmt\n# error on bad formatting\nmake fmt-check\nmake lint\n\n# testing\nmake test\n# runs fmt, typecheck, build\nmake all \n\n# building/publishing\nmake clean\nmake build\nmake publish\n# build and install program directly\nmake install-program\nmake uninstall-program\n\n# run program (we can't pass args to Make)\npoetry run awsudo\n```\n[poetry]: https://github.com/sdispater/poetry\n\n## Prior Art\nThere are a lot of similar programs to this one. I believe [makethunder/awsudo][0] and [electronicarts/awsudo][1] are the best alternatives. The only problems with [makethunder/awsudo][0] are that it isn't published on pypi and that it doesn't use the newest api for caching sessions. [electronicarts/awsudo][1] has all of the features, but it uses an internal session cache, instead of sharing with awscli. If you need SAML support though, the internal cache is a necessary compromise, so this package is great in that case.\n\nproject|awscli profiles|session caching|SAML|language|published\n---|---|---|---|---|---\nthis project|yes|yes|no|python3.6|pypi\n[makethunder/awsudo][0]|yes|yes*|no|python|github\n[electronicarts/awsudo][1]|yes|yes\u29bf|yes|ruby|rubygems\n[pmuller/awsudo][2]|yes|no|no|python2.7, python3.5|pypi\n[ingenieux/awsudo][3]|no|no|no|golang|no\n[meltwater/awsudo][4]|yes|yes|no|bash, node|npm, dockerhub\n\n\\* supports session caching through older technique using awscli as a dependency\n\n\u29bf uses a daemon to cache sessions internally\n\n[0]: https://github.com/makethunder/awsudo\n[1]: https://github.com/electronicarts/awsudo\n[2]: https://github.com/pmuller/awsudo\n[3]: https://github.com/ingenieux/awsudo\n[4]: https://github.com/meltwater/awsudo\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chdsbd/awsudo-py", "keywords": "aws,awscli", "license": "GPL-3.0-or-later", "maintainer": "Christopher Dignam", "maintainer_email": "chris@dignam.xyz", "name": "awsudo-py", "package_url": "https://pypi.org/project/awsudo-py/", "platform": "", "project_url": "https://pypi.org/project/awsudo-py/", "project_urls": { "Homepage": "https://github.com/chdsbd/awsudo-py", "Repository": "https://github.com/chdsbd/awsudo-py" }, "release_url": "https://pypi.org/project/awsudo-py/0.1.2/", "requires_dist": [ "botocore (>=1.12,<2.0)", "boto3 (>=1.9,<2.0)" ], "requires_python": ">=3.6.5,<4.0.0", "summary": "A sudo-like tool to configure AWS environment variables and call programs", "version": "0.1.2" }, "last_serial": 4817433, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "bac80da3a893b958969f100997f5e455", "sha256": "ad64542f5b99af7b1eb674cb5000408aae61b7f2a0d22a3bec6835f22f46224d" }, "downloads": -1, "filename": "awsudo_py-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bac80da3a893b958969f100997f5e455", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6,<4.0", "size": 4060, "upload_time": "2018-12-30T22:30:55", "url": "https://files.pythonhosted.org/packages/65/32/07b2ecba8cc506155843347bd4833efd90500a73497c6b085fe078567e0c/awsudo_py-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab7b995169257d97f5680aaaf504cad8", "sha256": "83b1f9aab050538e8bb9fc514016c3672a1b1e75402d73ea8e1557fb2cafd62b" }, "downloads": -1, "filename": "awsudo_py-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ab7b995169257d97f5680aaaf504cad8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 41014, "upload_time": "2018-12-30T22:30:56", "url": "https://files.pythonhosted.org/packages/07/6d/54a6a0014fcea170181495c692e6873f4e419185ee1f4968e6a3826768a1/awsudo_py-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04450bcf71c84cceb5c1c558a78afb14", "sha256": "94c3ee1bdbd36f215f2d9b10021eaa26391e8abf0a7bfef5145fd63343fb7221" }, "downloads": -1, "filename": "awsudo-py-0.1.0.tar.gz", "has_sig": false, "md5_digest": "04450bcf71c84cceb5c1c558a78afb14", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 15852, "upload_time": "2018-12-30T22:30:53", "url": "https://files.pythonhosted.org/packages/0d/53/a0048163bcceea47f2da046d8b3ed76e71fe00c81402ab50e5c9bd771356/awsudo-py-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a1462d26c8c1d766f903ce7f987a3215", "sha256": "e7bc329cf096d0664f911d5ab3d5a7aa0334992bd7ff91a316db8c4279db8190" }, "downloads": -1, "filename": "awsudo_py-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a1462d26c8c1d766f903ce7f987a3215", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 41000, "upload_time": "2018-12-30T22:48:07", "url": "https://files.pythonhosted.org/packages/8a/79/3d9d31af227af5cd2279b317a39a36f093c1fa7589f6a87b03060fe33b21/awsudo_py-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a3b647cc17227511d43b5370f6e8b04", "sha256": "c0f149e2ae3fc12ca0ea1d45033511dc83d377f630985b4cd00f081130ee810d" }, "downloads": -1, "filename": "awsudo-py-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7a3b647cc17227511d43b5370f6e8b04", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 15840, "upload_time": "2018-12-30T22:48:05", "url": "https://files.pythonhosted.org/packages/6e/e1/4c90d786aafea7bad09aa4b2bc06ee4969f9afab08ca15df8c32cf7b72c3/awsudo-py-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9bf5f5f31dbad5f854b9426811419ecc", "sha256": "9ea9e0387ea1caefe49be0b0c3afa128186c102c1ddccb57f6ca1f94f0c4ecf2" }, "downloads": -1, "filename": "awsudo_py-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9bf5f5f31dbad5f854b9426811419ecc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.5,<4.0.0", "size": 41246, "upload_time": "2019-02-13T20:57:53", "url": "https://files.pythonhosted.org/packages/02/39/ee1466ab63106c4bc93ed9fd021a16ddf9f01a2ae2a548df636b8e3c32b6/awsudo_py-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd52e052cba34d2bbb2076e9ab19b9df", "sha256": "fdcc2e63d7f694a6528f91d367a4d4c45b67b0127c380e7f7eee30e92bf511ac" }, "downloads": -1, "filename": "awsudo-py-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fd52e052cba34d2bbb2076e9ab19b9df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.5,<4.0.0", "size": 16179, "upload_time": "2019-02-13T20:57:51", "url": "https://files.pythonhosted.org/packages/50/c1/b701396a70029ac46e94039322cb971a689062b47fd09014de47f7f7db4b/awsudo-py-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9bf5f5f31dbad5f854b9426811419ecc", "sha256": "9ea9e0387ea1caefe49be0b0c3afa128186c102c1ddccb57f6ca1f94f0c4ecf2" }, "downloads": -1, "filename": "awsudo_py-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9bf5f5f31dbad5f854b9426811419ecc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.5,<4.0.0", "size": 41246, "upload_time": "2019-02-13T20:57:53", "url": "https://files.pythonhosted.org/packages/02/39/ee1466ab63106c4bc93ed9fd021a16ddf9f01a2ae2a548df636b8e3c32b6/awsudo_py-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd52e052cba34d2bbb2076e9ab19b9df", "sha256": "fdcc2e63d7f694a6528f91d367a4d4c45b67b0127c380e7f7eee30e92bf511ac" }, "downloads": -1, "filename": "awsudo-py-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fd52e052cba34d2bbb2076e9ab19b9df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.5,<4.0.0", "size": 16179, "upload_time": "2019-02-13T20:57:51", "url": "https://files.pythonhosted.org/packages/50/c1/b701396a70029ac46e94039322cb971a689062b47fd09014de47f7f7db4b/awsudo-py-0.1.2.tar.gz" } ] }