AWS Python SDK wrapper for boto3 commonly used functions
Project description
AWS Python SDK
Simple wrapper for AWS boto3 SDK commonly used functions.
Features
- 📦 S3 operations (read, write, copy, list, delete, signed URLs)
- 🔐 SSM Parameter Store integration
- ⚡ Lambda function invocation (async and sync)
- 🚀 Optimized for AWS Lambda and serverless environments
Installation
pip install actvalue.aws-pysdk
Or with uv:
uv add actvalue.aws-pysdk
Configuration
Provide the following environment variables:
ENV:development|production| ...AWSPROFILE: A named profile (non-default) in the credential file, e.g.:myprofileAWSREGION: A region name, e.g.:eu-west-1
Note: AWSPROFILE and AWSREGION are needed in development only. Production uses the default session/client configuration.
Usage
S3 Operations
from aws_pysdk import s3_write, s3_read, s3_read_to_string, s3_get_signed_url
import os
# Write to S3
s3_write('my-bucket', 'hello.txt', 'Hello World', 'text/plain')
# Read from S3
response = s3_read('my-bucket', 'hello.txt')
content = response['Body'].read()
# Read directly to string
content_str = s3_read_to_string('my-bucket', 'hello.txt')
# Get signed URL for reading
read_url = s3_get_signed_url(
{'Bucket': 'my-bucket', 'Key': 'file.txt'},
'READ',
3600 # expires in 1 hour
)
# Get signed URL for writing
write_url = s3_get_signed_url(
{'Bucket': 'my-bucket', 'Key': 'file.txt', 'ContentType': 'text/plain'},
'WRITE',
3600
)
SSM Parameter Store
from aws_pysdk import ssm_load_parameters
import os
# Define parameters to load
params = [
{'name': '/app/bucket/name', 'env_var_name': 'MY_BUCKET', 'decrypt': False},
{'name': '/app/api/key', 'env_var_name': 'API_KEY', 'decrypt': True},
]
# Load parameters into environment variables
ssm_load_parameters(params)
# Access loaded parameters
my_bucket = os.environ['MY_BUCKET']
api_key = os.environ['API_KEY']
Lambda Function Invocation
from aws_pysdk import lambda_invoke, lambda_invoke_with_response
# Asynchronous invocation (fire and forget)
lambda_invoke('my-function', {'key': 'value'})
# Synchronous invocation (wait for response)
result = lambda_invoke_with_response('my-function', {'key': 'value'})
print(result) # Parsed JSON response
# Invoke with ARN
lambda_invoke_with_response(
'arn:aws:lambda:region:account:function:my-function',
{'data': 'payload'}
)
Development
Prerequisites
- Python 3.11+
- uv (recommended) or pip
Setup with uv (recommended)
# Install dependencies
make install
# Run tests
make test
# Format code
make format
# Lint code
make lint
# Build package
make build
Available Make Commands
make help # Show all available commands
make install # Install dependencies with uv
make test # Run tests with pytest
make lint # Lint code with ruff
make format # Format code with ruff
make build # Build package with uv
make publish # Publish to PyPI
make publish-test # Publish to Test PyPI
make clean # Clean build artifacts
make venv # Show virtual environment location
Manual Setup
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install package in development mode
pip install -e ".[dev]"
# Run tests
pytest
Publishing
To Test PyPI
make publish-test
To Production PyPI
make publish
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file actvalue_aws_pysdk-1.0.2.tar.gz.
File metadata
- Download URL: actvalue_aws_pysdk-1.0.2.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
447514973ff6cb39734f1ecb52fe21655812f169fe302171941aa11dc7e6526b
|
|
| MD5 |
1e49e90b0d177ade1bd1c6cd6c5aac8e
|
|
| BLAKE2b-256 |
6d15db9671d4f98bf1ec6db0a41b8faa9498b65a3ac777cdb5e2770d26e94350
|
File details
Details for the file actvalue_aws_pysdk-1.0.2-py3-none-any.whl.
File metadata
- Download URL: actvalue_aws_pysdk-1.0.2-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20226c8d10e057ecb254840ddef963fefcae39490311f594904af9551e8ae918
|
|
| MD5 |
866cc7ee16f2f970be73c5ececc90879
|
|
| BLAKE2b-256 |
f7b66af174390c572bd9c4b4e3c0549d2b4883b19b2cf9b3de9d5422f24d59dc
|