skillfed

awsme

AWS CloudWatch client library to send metrics conveniently and efficiently

awsme v1.0.0 97.9K downloads/30d#13,123 on PyPI12
Permissive license MIT license Abandoned released

What it is and what it does

awsme is a CloudWatch metrics client library that wraps boto3 to simplify sending metrics to AWS CloudWatch. It supports both synchronous and asynchronous (threaded) metric sending, with optional buffering to batch metrics before transmission. By default, boto3 is an optional dependency, allowing the package to deploy with minimal overhead in AWS Lambda environments where the SDK is already available; outside Lambda, you install it via the boto3 extra.

The library lets you create a CloudWatch client with a namespace and default dimensions, then log individual metrics with optional per-metric dimensions, values, units, and storage resolution. It handles buffer flushing automatically at exit in standard applications, but provides an explicit flush method for Lambda functions where the process may be frozen before cleanup runs.

Use it for:

  • Send application performance metrics to CloudWatch from a Python Lambda function without bundling boto3.
  • Batch and asynchronously buffer metrics in a long-running application to reduce API call overhead.
  • Attach consistent dimensions (e.g., version, environment) to all metrics from a service.
  • Monitor custom application events (e.g., job completions, error counts) in CloudWatch dashboards.
  • Test CloudWatch connectivity and AWS credentials from the command line using the included awsme-test tool.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Sends AWS CloudWatch metrics asynchronously and in batches from Python applications, with optional buffering and configurable dimensions.

No. The package is abandoned (last release 2019, no maintenance since early 2023) and depends on boto3 semantics that may have evolved. For new projects, use boto3 directly or a maintained CloudWatch wrapper. If you have legacy code already using awsme, it may still work, but expect no fixes for compatibility issues with modern Python or AWS SDK versions.

Install

awsme on PyPI

pip

pip install awsme

uv

uv add awsme

poetry

poetry add awsme

Installing awsme

Before you install

Low install friction; depends only on click and attrs. Designed to deploy quickly in AWS Lambda by making boto3 optional. However, the package is abandoned—last release was 2019-03-07 and last commit 2023-02-10, so no maintenance or security updates are forthcoming.

License in practice

MIT license (permissive) allows commercial and private use with minimal restrictions, requiring only attribution.

Quickstart

pip install awsme
# For use outside Lambda, add boto3:
# pip install awsme[boto3]

from awsme import create_cloud_watch
cloud_watch = create_cloud_watch(
    namespace='Application',
    dimensions={'version': '1.0.0'},
)
cloud_watch.log('metric', dimensions={'key': 'dim'}, value=123)

Requires AWS credentials configured via environment variables or configuration files (boto3 dependency must be installed if running outside AWS Lambda).

Verify before relying

  • Whether the package works correctly with modern versions of boto3, click, and attrs given its 2019 release date.
  • Compatibility with Python versions beyond 3.6, which is the only version explicitly listed in classifiers.

Package facts

License MIT license (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — click, attrs
Maintenance abandoned — 2,717 days since the last release
Last repo commit
First released
Downloads 97,858/month — #13,123 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: awsme-1.0.0-py2.py3-none-any.whl

Keywords: awsme

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.6

Tags

cloudwatch metrics clientaws metrics loggingcloudwatch batch senderasynchronous metrics bufferingaws monitoring librarycloudwatch python client
aws-cloudwatchmetrics-collectionabandoned

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

aws-embedded-metrics

Generates CloudWatch metrics embedded within…

permissive · top 5,000 on PyPI

lambda-warmer-py

A decorator that minimizes AWS Lambda cold…

permissive · top 15,000 on PyPI

awslabs.cloudwatch-mcp-server

Exposes CloudWatch metrics, logs, alarms, and…

permissive · top 15,000 on PyPI

graphitesend

Sends metrics to Graphite's Carbon backend over…

unclear · top 15,000 on PyPI

signalfx

Python client library for sending metrics,…

permissive · top 15,000 on PyPI

r7insight-python

Sends Python application logs and performance…

permissive · top 15,000 on PyPI

aioboto3

Provides async/await support for AWS SDK…

permissive · top 1,000 on PyPI

mixpanel-py-async

Provides asynchronous event batching and…

permissive · top 15,000 on PyPI

watchtower

Watchtower is a Python logging handler that…

permissive · top 1,000 on PyPI

aws-cdk.aws-cloudwatch

Defines CloudWatch metrics, alarms, and…

permissive · top 15,000 on PyPI