Skip to main content

A Python CLI tool for exporting AWS cost reports using the eraXplor.

Project description

https://github.com/Mohamed-Eleraki/eraXplor/blob/master/docs/assets/images/eraXplor.jpeg

AWS Cost Export Tool for automated cost reporting and analysis.

eraXplor is an automated AWS cost reporting tool designed for assest DevOps and FinOps teams fetching and sorting AWS Cost Explorer. it extracts detailed cost data by calling AWS Cost Explorer API directly and Transform result as a CSV. eraXplor gives you the ability to sort the cost by Account, Service, Usage Type or even By Purchase Type. as well as format and separate the result by Monthly or Daily cost.

Key Features

  • Account-Level Cost Breakdown: Monthly or daily unblended costs per linked account.
  • Service-Level Cost Breakdown: Monthly or daily unblended costs per Services.
  • Purchase Type-Level Cost Breakdown: Monthly or daily unblended costs per Purchase Type.
  • Usage Type-Level Cost Breakdown: Monthly or daily unblended costs per Usage Type.
  • Flexible Date Ranges: Custom start/end dates with validation.
  • Multi-Profile Support: Works with all configured AWS profiles.
  • CSV Export: Ready-to-analyze reports in CSV format.
  • Cross-platform CLI Interface: Simple terminal-based workflow, and Cross OS platform.
  • Documentation Ready: Well explained documentations assest you kick start rapidly.
  • Open-Source: the tool is open-source under Apache 2.0 license, which enables your to enhance it for your purpose.

Table Of Contents

Quickly find what you're looking for:

  1. Welcome to eraXplor
  2. Tutorials
  3. How-To Guides
  4. Explanation
  5. Reference

Why eraXplor?

https://github.com/Mohamed-Eleraki/eraXplor/blob/master/docs/assets/images/why_eraXplor.jpeg

How-To Guides

AWS Profile Configuration

  • Install AWS CLI - Command line tool.
  • Create an AWS AMI user then extract Access ID & key.
  • Configure AWS CLI profile by:
aws configure <--profile [PROFILE_NAME]>
# ensure you set a defalut region.

Check installed Python version

  • Ensure you Python version is >= 3.12.3 by:
python --version

# Consider update Python version if less than 3

Install eraXplor

  • Install eraxplor too by:
pip install eraXplor

How-To use

eraXplor have multiple arguments set with a default values -explained below-, Adjsut these arguments as required.

eraXplor <--start-date [yyyy-MM-DD]> <--end-date [yyyy-MM-DD]> \
<--profile [PROFILE-NAME]> \
<--groupby [LINKED_ACCOUNT | SERVICE | PURCHASE_TYPE | USAGE_TYPE]> \
<--out [file.csv]>
<--granularity [DAILY | MONTHLY]>

For Windows/PowerShell users restart your terminal, and you may need to use the following command:

python3 -m eraXplor

# Or
python -m eraXplor

# to avoid using this command, apend the eraXplor to your paths.
# Normaly its under: C:\Users\<YourUser>\AppData\Local\Programs\Python\Python<version>\Scripts\
ℹ️ Notes
Ensure you run the command in a place you have sufficient permission to replace file.
*The eraXport tool sorting cost reult into a CSV file, by default The CSV will replace for next run.*

Argument Reference

  • --start-date, -s: (Not_Required) Default value set as six months before.
  • --end-date, -e: (Not_Required) Default value set as Today date.
  • --profile, -p: (Not_Required) Default value set as default.
  • --groupby, -g: (Not_Required) Default value set as LINKED_ACCOUNT. The available options are (LINKED_ACCOUNT, SERVICE, PURCHASE_TYPE, USAGE_TYPE)
  • --out, -o: (Not_Required) Default value set as cost_repot.csv.
  • --granularity, -G: (Not_Required) Default value set as MONTHLY. The available options are (MONTHLY, DAILY)



👋Show/Hide Author Details👋

Mohamed eraki
Cloud & DevOps Engineer

Email
LinkedIn
Twitter
Blog

Project Philosophy

"I built eraXplor to solve real-world cloud cost visibility challenges — the same pain points I encounter daily in enterprise environments. This tool embodies my belief that financial accountability should be accessible to every technical team."

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

eraxplor-2.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eraxplor-2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file eraxplor-2.tar.gz.

File metadata

  • Download URL: eraxplor-2.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for eraxplor-2.tar.gz
Algorithm Hash digest
SHA256 29a6d1cf759d75009b094f0b668e1f42fc5e8dc308db3b0472ce74c03812cf4b
MD5 9185875c4784efb3dd0fd4384a40f6bd
BLAKE2b-256 0306972595465b4fd6813d833010b195854256783afa5d59f988b920b50b6aad

See more details on using hashes here.

File details

Details for the file eraxplor-2-py3-none-any.whl.

File metadata

  • Download URL: eraxplor-2-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for eraxplor-2-py3-none-any.whl
Algorithm Hash digest
SHA256 e78b0c583c2f799e57c589631ab046e7cb54999506d4a7161b363d8ccfb9a4b4
MD5 cdc6cb961c8414f04213c3d96037a169
BLAKE2b-256 631af112dbb00ab53815401ff9f426dbb256db1ece6cb65bfa6bff2c00c8d7e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page