Catalog PyPI
PACKAGE EXPLORERView in registry

actvalue.aws-pysdk

PyPI

AWS Python SDK wrapper for boto3 commonly used functions

Versions collected1
Direct dependencies5From release 1.0.2
Last observed20 Oct, 18:42 UTC

README

Version 1.0.2 documentation

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.: myprofile
  • AWSREGION: 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
# 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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.23 Jan 20265

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:42 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:60511f61a2ff18eb4e11dae50f999963cc4caeacae3ace3b5c25f4b8cbb4b88c