boto_session_manager
Provides an alternative, or maybe a more user friendly way to use the native boto3 API.
What it is and what it does
boto_session_manager is a lightweight wrapper around boto3.Session that adds IDE auto-complete, type hints, and credential management. It exposes 400+ typed client properties (like bsm.s3_client, bsm.ec2_client) that cache underlying boto3 clients on first access, reducing connection overhead. The library supports multiple credential sources—default chain, named profiles, explicit keys, or custom botocore sessions—and provides utilities to inspect AWS identity (account ID, user ID, principal ARN, region) with optional masking for safe logging.
The package also handles IAM role assumption, returning a new fully-independent BotoSesManager under the assumed role, and offers credential snapshots for cross-process serialization. It integrates with boto3-stubs to deliver method-level auto-complete and argument type hints when that package is installed. With zero runtime dependencies and a pure-Python wheel, it adds minimal friction to existing boto3 workflows.
Use it for:
- Build AWS applications with IDE auto-complete and type checking for all boto3 service clients.
- Reduce boto3 client creation overhead by caching clients across your application.
- Assume IAM roles programmatically and get a ready-to-use session manager for cross-account operations.
- Log AWS identity information safely by masking sensitive account and user IDs.
- Inject AWS credentials into subprocess environments for AWS CLI commands via context manager.
- Serialize and restore AWS credentials across process boundaries for distributed workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wraps boto3 sessions with typed client properties, caching, and credential management to simplify AWS SDK use in Python applications.
Yes. Zero runtime dependencies, low install friction, active maintenance, and no known vulnerabilities make this a safe addition. It meaningfully improves the boto3 developer experience through type hints and caching without imposing operational burden. Recommended for teams already using boto3 who want better IDE support and credential management.
Install
boto-session-manager on PyPI
pip
pip install boto-session-manageruv
uv add boto-session-managerpoetry
poetry add boto-session-managerInstalling boto_session_manager
Before you install
Low install friction with zero runtime dependencies and a pure-Python wheel. Active maintenance with recent releases; last commit 2026-04-24.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install boto_session_manager
from boto_session_manager.api import BotoSesManager
bsm = BotoSesManager()
bsm.s3_client.list_buckets()
Requires Python 3.10 or later; boto3 must be installed separately as a peer dependency.
Verify before relying
- Whether boto3-stubs integration requires explicit installation or works automatically
- Performance impact of credential caching in high-concurrency scenarios
- Support for AWS credential providers beyond those documented in the excerpt
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 112 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 893,391/month — #4,796 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: boto_session_manager-2.0.1-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
aws-assume-role-libSimplifies AWS role assumption in boto3 by…
permissive · top 15,000 on PyPI
boto3-assumeWraps boto3 to create AWS IAM assume-role…
permissive · top 15,000 on PyPI
cloudsec-auditAudits AWS cloud security posture by checking…
permissive · top 15,000 on PyPI
ec2-metadataQueries the EC2 Instance Metadata Service v2 to…
permissive · top 5,000 on PyPI
aws-sso-libProgrammatically interact with AWS IAM Identity…
permissive · top 15,000 on PyPI
aws-msk-iam-sasl-signer-pythonGenerates IAM-signed SASL/OAUTHBEARER…
permissive · top 5,000 on PyPI
botoBoto is a Python interface to Amazon Web…
permissive · top 5,000 on PyPI
aws-s3-access-grants-boto3-pluginA boto3 plugin that integrates AWS S3 Access…
unclear · top 15,000 on PyPI
google-cloud-iamProvides a Python client library for Google…
permissive · top 5,000 on PyPI
aws-cdk.aws-iamProvides Python constructs for defining AWS IAM…
permissive · top 15,000 on PyPI