Skip to main content

cepan

Pypi Version python test lint Code style: black Code style: black License: MIT

Retrieves data from aws cost explore as a pandas dataframe.

Main features

  • Support for input with type hints
  • Retrieving results as pandas.Dataframe

Installation

pip install cepan

Usage

from datetime import datetime

import cepan as ce

df = ce.get_cost_and_usage(
    time_period=ce.TimePeriod(
        start=datetime(2020, 1, 1),
        end=datetime(2020, 1, 2),
    ),
    granularity="DAILY",
    filter=ce.And(
        [
            ce.Dimensions(
                "SERVICE",
                ["Amazon Simple Storage Service", "AmazonCloudWatch"],    
            ),
            ce.Tags("Stack", ["Production"]),
        ]
    ),
    metrics=["BLENDED_COST"],
    group_by=ce.GroupBy(
        dimensions=["SERVICE", "USAGE_TYPE"],
    ),
)
print(df)

All paginated results will be returned as a Dataframe.

          Time                        SERVICE  BlendedCost
0   2020-01-01  Amazon Simple Storage Service   100.000000
1   2020-01-01               AmazonCloudWatch    10.000000

List of currently supported APIs

  • get_dimension_values
  • get_tags
  • get_cost_and_usage

Alias of aws service name

Normally, the Cost Explorer API requires complex and long names to filter by service name. For example, if you only need the value of an EC2 instance, you would need to specify Amazon Elastic Compute Cloud - Compute.

df = ce.get_cost_and_usage(
    time_period=ce.TimePeriod(
        start=datetime(2020, 1, 1),
        end=datetime(2020, 1, 2),
    ),
    granularity="DAILY",
    filter=ce.Dimensions(
        "SERVICE",
        ["Amazon Elastic Compute Cloud - Compute"],    
    ),
    group_by=ce.GroupBy(
        dimensions=["SERVICE", "USAGE_TYPE"],
    ),
)

cepan supports aliases with short service names. If you only need the value of the EC2 instance, you can specify it with EC2.

df = ce.get_cost_and_usage(
    time_period=ce.TimePeriod(
        start=datetime(2020, 1, 1),
        end=datetime(2020, 1, 2),
    ),
    granularity="DAILY",
    filter=ce.Dimensions(
        "SERVICE",
        ["EC2"],    
    ),
    group_by=ce.GroupBy(
        dimensions=["SERVICE", "USAGE_TYPE"],
    ),
)

Correspondence table of aliases is shown in service_alias.tsv. You can also run the show_service_alias method to get the table.

print(ce.show_service_alias())

License

MIT License

Release files for cepan 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cepan 0.2.0
File Size Uploaded
cepan-0.2.0.tar.gz 9.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cepan 0.2.0
File Interpreter ABI Platform
cepan-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.6 kB

Release files / cepan-0.2.0.tar.gz

Download URL cepan-0.2.0.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
05b5ce2098977811ba2099e7196f47ad704bd20e69239f56de3e48a0cada5940
BLAKE2b-256 checksum
How to use checksums
da9287286a8e322beb18f12e781b086411e552939385ba3d07c207d72d4732cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.9.1 Darwin/19.6.0

Release files / cepan-0.2.0-py3-none-any.whl

Download URL cepan-0.2.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
707959b6dfb1892a2995f38fb5f81722194ea68f42bc0b67d6b20e75d4c60884
BLAKE2b-256 checksum
How to use checksums
87493b44c1b2db6eff36be68f9cd3d471e0327f9f11b6e17ceab569ec9f04837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.9.1 Darwin/19.6.0

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page