which-bsm


Namewhich-bsm JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA factory for creating boto session managers with environment-aware AWS authentication across local, CI/CD, and cloud runtimes.
upload_time2025-08-14 20:24:07
maintainerSanhe Hu
docs_urlNone
authorSanhe Hu
requires_python<4.0,>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements boto-session-manager boto3 botocore jmespath python-dateutil s3transfer six urllib3 urllib3 which-runtime
Travis-CI No Travis.
coveralls test coverage
            
.. 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"
}
        
Elapsed time: 0.63113s