A Python CLI tool for exporting AWS cost reports using the eraXplor.
Project description
Welcome to eraXplor
Cost Export Tool for automated cost reporting and analysis.
eraXplor is an automated cost reporting tool designed for assest DevOps and FinOps teams fetching and sorting AWS and Azure Cost Explorer.
it extracts detailed cost data by calling nativly cloud provider APIs directly and Transform result into CSV file.
eraXplor gives you the ability to sort the cost with wide range of options:
- For AWS you able to sort cost by Account, Service, Usage Type or even By Purchase Type; as well as format and separate the result by Monthly or Daily.
- For Azure you able to sort cost by Subscription, as well as format and separate the result by Monthly or Daily.
azure still under development, more features will be added soon.
Key Features
- ✅ Cloud provider Separated tools: Separated tool for each cloud provider (AWS and Azure) avoiding complexty.
- ✅ 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 depending on your use case by looking at the different pages.
AWS (eraXplor)
Azure (eraXplor_az)
How-To Guides
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-Guide - AWS
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.
How-To use - AWS
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]>
Argument Reference - AWS
--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 asdefault.--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 ascost_repot.csv.--granularity,-G: (Not_Required) Default value set asMONTHLY. The available options are (MONTHLY,DAILY)
How-To-Guide - Azure
Azure CLI Authentication
- Install Azure CLI - Command line tool by specifing your attended OS.
- ensure your account have sufficient permission as
Billing ReaderorUsage Billing Contributorto manage Azure billing. - Check installed package by:
az --version
- Authenticate using your Azure account:
az login
This will open the portal in your default browser to authenticate.
How-To use - Azure
eraXplor_az have multiple arguments set with a default values -explained below-, Adjsut these arguments as required.
eraXplor_az <--start-date [yyyy,MM,DD]> <--end-date [yyyy,MM,DD]> \
<--subscription_id [SUBSCRIPTION_ID]> \
<--granularity [DAILY | MONTHLY]> \
<--output [FILE_NAME.CSV]>
Argument Reference - Azure
--start-dateor-s: (Optional) Default value set as three months before.--end-dateor-e: (Optional) Default value set as Today date.--subscription_idor-S: (Required) subscription id.--outor-o: (Optional) Default value set asaz_cost_report.csv.--granularityor-g: (Optional) Default value set asMONTHLY. The available options are (MONTHLY,DAILY)
For Windows/PowerShell users restart your terminal, and you may need to use the following command:
python -m eraXplor
# Or
python -m eraXplor_az # for auzre
# to avoid using this command, apend the eraXplor to your paths.
# Normaly its under: C:\Users\<YourUser>\AppData\Local\Programs\Python\Python<version>\Scripts\
About the Author
👋Show/Hide Author Details👋
Mohamed eraki
Cloud & DevOps Engineer
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
Release history Release notifications | RSS feed
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 eraxplor-3.0.0.tar.gz.
File metadata
- Download URL: eraxplor-3.0.0.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ad5f5c169f7e35992a23b4972e0edebbcc0d3c6ed2cb00cdb2fbfe398d8b458
|
|
| MD5 |
ce145a88752acf8b3088ed75f2b49a8a
|
|
| BLAKE2b-256 |
ae071605229d2777b6a3e7bf3d68ca08ae458a72f996647e063424c2a8efbcc1
|
File details
Details for the file eraxplor-3.0.0-py3-none-any.whl.
File metadata
- Download URL: eraxplor-3.0.0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a77df4579278c777d71d33428449eabfdc8802a7a71937272ae0a1477e4baab
|
|
| MD5 |
f5dc34ae2acea598c26bc1f5216b0724
|
|
| BLAKE2b-256 |
ee39793d054f7a102a80ffc1d2258575ca2f460361c6cca2ed0b64c0a5958257
|