.. image:: https://readthedocs.org/projects/which-bsm/badge/?version=latest
:target: https://which-bsm.readthedocs.io/en/latest/
:alt: Documentation Status
.. image:: https://github.com/MacHu-GWU/which_bsm-project/actions/workflows/main.yml/badge.svg
:target: https://github.com/MacHu-GWU/which_bsm-project/actions?query=workflow:CI
.. image:: https://codecov.io/gh/MacHu-GWU/which_bsm-project/branch/main/graph/badge.svg
:target: https://codecov.io/gh/MacHu-GWU/which_bsm-project
.. image:: https://img.shields.io/pypi/v/which-bsm.svg
:target: https://pypi.python.org/pypi/which-bsm
.. image:: https://img.shields.io/pypi/l/which-bsm.svg
:target: https://pypi.python.org/pypi/which-bsm
.. image:: https://img.shields.io/pypi/pyversions/which-bsm.svg
:target: https://pypi.python.org/pypi/which-bsm
.. image:: https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github
:target: https://github.com/MacHu-GWU/which_bsm-project/blob/main/release-history.rst
.. image:: https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
:target: https://github.com/MacHu-GWU/which_bsm-project
------
.. image:: https://img.shields.io/badge/Link-API-blue.svg
:target: https://which-bsm.readthedocs.io/en/latest/py-modindex.html
.. image:: https://img.shields.io/badge/Link-Install-blue.svg
:target: `install`_
.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg
:target: https://github.com/MacHu-GWU/which_bsm-project
.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg
:target: https://github.com/MacHu-GWU/which_bsm-project/issues
.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg
:target: https://github.com/MacHu-GWU/which_bsm-project/issues
.. image:: https://img.shields.io/badge/Link-Download-blue.svg
:target: https://pypi.org/pypi/which-bsm#files
Welcome to ``which_bsm`` Documentation
==============================================================================
.. image:: https://which-bsm.readthedocs.io/en/latest/_static/which_bsm-logo.png
:target: https://which-bsm.readthedocs.io/en/latest/
``which_bsm`` is a factory for creating boto session managers with environment-aware AWS authentication across local, CI/CD, and cloud runtimes. It automatically selects the appropriate authentication method based on where your code is running - whether that's local development with AWS CLI profiles, CI/CD environments using role assumption, or AWS compute services with built-in IAM roles.
The library simplifies multi-environment AWS deployments by providing a single configuration point that adapts to different runtime contexts. You configure your environment topology once, and the system handles authentication complexity automatically.
Key features include lazy-loaded session management, AWS account ID validation, automatic workload role ARN generation for CI environments, and runtime detection across various AWS services (Lambda, Batch, ECS, Glue, EC2) and CI platforms.
.. _install:
Install
------------------------------------------------------------------------------
``which_bsm`` is released on PyPI, so all you need is to:
.. code-block:: console
$ pip install which-bsm
To upgrade to latest version:
.. code-block:: console
$ pip install --upgrade which-bsm
Raw data
{
"_id": null,
"home_page": null,
"name": "which-bsm",
"maintainer": "Sanhe Hu",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": "husanhe@email.com",
"keywords": null,
"author": "Sanhe Hu",
"author_email": "husanhe@email.com",
"download_url": "https://files.pythonhosted.org/packages/a8/a9/6c1561abfc4995eb3a84ecfaf479cf82051ed1908a32f548d5442d5d18d3/which_bsm-0.1.1.tar.gz",
"platform": null,
"description": "\n.. image:: https://readthedocs.org/projects/which-bsm/badge/?version=latest\n :target: https://which-bsm.readthedocs.io/en/latest/\n :alt: Documentation Status\n\n.. image:: https://github.com/MacHu-GWU/which_bsm-project/actions/workflows/main.yml/badge.svg\n :target: https://github.com/MacHu-GWU/which_bsm-project/actions?query=workflow:CI\n\n.. image:: https://codecov.io/gh/MacHu-GWU/which_bsm-project/branch/main/graph/badge.svg\n :target: https://codecov.io/gh/MacHu-GWU/which_bsm-project\n\n.. image:: https://img.shields.io/pypi/v/which-bsm.svg\n :target: https://pypi.python.org/pypi/which-bsm\n\n.. image:: https://img.shields.io/pypi/l/which-bsm.svg\n :target: https://pypi.python.org/pypi/which-bsm\n\n.. image:: https://img.shields.io/pypi/pyversions/which-bsm.svg\n :target: https://pypi.python.org/pypi/which-bsm\n\n.. image:: https://img.shields.io/badge/\u270d\ufe0f_Release_History!--None.svg?style=social&logo=github\n :target: https://github.com/MacHu-GWU/which_bsm-project/blob/main/release-history.rst\n\n.. image:: https://img.shields.io/badge/\u2b50_Star_me_on_GitHub!--None.svg?style=social&logo=github\n :target: https://github.com/MacHu-GWU/which_bsm-project\n\n------\n\n.. image:: https://img.shields.io/badge/Link-API-blue.svg\n :target: https://which-bsm.readthedocs.io/en/latest/py-modindex.html\n\n.. image:: https://img.shields.io/badge/Link-Install-blue.svg\n :target: `install`_\n\n.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg\n :target: https://github.com/MacHu-GWU/which_bsm-project\n\n.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg\n :target: https://github.com/MacHu-GWU/which_bsm-project/issues\n\n.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg\n :target: https://github.com/MacHu-GWU/which_bsm-project/issues\n\n.. image:: https://img.shields.io/badge/Link-Download-blue.svg\n :target: https://pypi.org/pypi/which-bsm#files\n\n\nWelcome to ``which_bsm`` Documentation\n==============================================================================\n.. image:: https://which-bsm.readthedocs.io/en/latest/_static/which_bsm-logo.png\n :target: https://which-bsm.readthedocs.io/en/latest/\n\n``which_bsm`` is a factory for creating boto session managers with environment-aware AWS authentication across local, CI/CD, and cloud runtimes. It automatically selects the appropriate authentication method based on where your code is running - whether that's local development with AWS CLI profiles, CI/CD environments using role assumption, or AWS compute services with built-in IAM roles.\n\nThe library simplifies multi-environment AWS deployments by providing a single configuration point that adapts to different runtime contexts. You configure your environment topology once, and the system handles authentication complexity automatically.\n\nKey features include lazy-loaded session management, AWS account ID validation, automatic workload role ARN generation for CI environments, and runtime detection across various AWS services (Lambda, Batch, ECS, Glue, EC2) and CI platforms.\n\n\n.. _install:\n\nInstall\n------------------------------------------------------------------------------\n\n``which_bsm`` is released on PyPI, so all you need is to:\n\n.. code-block:: console\n\n $ pip install which-bsm\n\nTo upgrade to latest version:\n\n.. code-block:: console\n\n $ pip install --upgrade which-bsm\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A factory for creating boto session managers with environment-aware AWS authentication across local, CI/CD, and cloud runtimes.",
"version": "0.1.1",
"project_urls": {
"Changelog": "https://github.com/MacHu-GWU/which_bsm-project/blob/main/release-history.rst",
"Documentation": "https://which-bsm.readthedocs.io/en/latest/",
"Download": "https://pypi.org/pypi/which-bsm#files",
"Homepage": "https://github.com/MacHu-GWU/which_bsm-project",
"Issues": "https://github.com/MacHu-GWU/which_bsm-project/issues",
"Repository": "https://github.com/MacHu-GWU/which_bsm-project"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9b5ac14ffe76c819d00bf90af17eb7bb7eba4ef70be42e702b7a8c36d67c02d5",
"md5": "1f5194112472c5929dfb0954cad2c668",
"sha256": "dbfcc6144ed544676201ea4686a4ea81a12bce77fbea167357cc6a82755d7c6d"
},
"downloads": -1,
"filename": "which_bsm-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1f5194112472c5929dfb0954cad2c668",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 9860,
"upload_time": "2025-08-14T20:24:06",
"upload_time_iso_8601": "2025-08-14T20:24:06.120178Z",
"url": "https://files.pythonhosted.org/packages/9b/5a/c14ffe76c819d00bf90af17eb7bb7eba4ef70be42e702b7a8c36d67c02d5/which_bsm-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a8a96c1561abfc4995eb3a84ecfaf479cf82051ed1908a32f548d5442d5d18d3",
"md5": "303b081eb7e227ea0dd060926a99a0b2",
"sha256": "fefe3cb52c42528a57ab6a5494802670b8ea571950f13a482739430fe60380dd"
},
"downloads": -1,
"filename": "which_bsm-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "303b081eb7e227ea0dd060926a99a0b2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 9752,
"upload_time": "2025-08-14T20:24:07",
"upload_time_iso_8601": "2025-08-14T20:24:07.400173Z",
"url": "https://files.pythonhosted.org/packages/a8/a9/6c1561abfc4995eb3a84ecfaf479cf82051ed1908a32f548d5442d5d18d3/which_bsm-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-14 20:24:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MacHu-GWU",
"github_project": "which_bsm-project",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "boto-session-manager",
"specs": [
[
"==",
"1.8.1"
]
]
},
{
"name": "boto3",
"specs": [
[
"==",
"1.40.9"
]
]
},
{
"name": "botocore",
"specs": [
[
"==",
"1.40.9"
]
]
},
{
"name": "jmespath",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "s3transfer",
"specs": [
[
"==",
"0.13.1"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.26.20"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.3.0"
]
]
},
{
"name": "which-runtime",
"specs": [
[
"==",
"0.1.1"
]
]
}
],
"lcname": "which-bsm"
}