Sharashchandra /
s3ranger
A terminal-based user interface for browsing and managing AWS S3 buckets and objects. Built with Python and Textual, s3ranger provides an intuitive way to interact with S3 storage directly from your terminal.
Loading repository data…
ravikiranvm / repository
A terminal-based AWS cost and resource dashboard built with Python and the Rich library. It provides an overview of AWS spend by account, service-level breakdowns, budget tracking, and EC2 instance summaries.
The AWS FinOps Dashboard is an open-source, Python-based command-line tool (built with the Rich library) for AWS cost monitoring. It provides multi-account cost summaries by time period, service, and cost allocation tags; budget limits vs. actuals; EC2 instance status; six‑month cost trend charts; and “FinOps audit” reports (e.g. untagged or idle resources). It can export data to CSV/JSON/PDF.
Managing and understanding your AWS expenditure, especially across multiple accounts and services, can be complex. The AWS FinOps Dashboard CLI aims to simplify this by providing a clear, concise, and actionable view of your AWS costs and operational hygiene directly in your terminal.
Key features include:
Get up and running in under a minute:
# Install
pipx install aws-finops-dashboard
# View cost dashboard for your default AWS profile
aws-finops --region us-east-1
# View cost dashboard for specific profiles
aws-finops --profiles dev prod --region us-east-1
# View cost trends for the last 6 months
aws-finops --trend
# Run a FinOps audit
aws-finops --audit --region us-east-1
# Export to PDF
aws-finops --report-name my_report --report-type pdf
--time-range option--time-range last-month to query the previous calendar month (includes service breakdown for that month)--tag(cost allocation tags must be enabled)--profiles--all--combine--regions--report-name and --report-type csv--report-name and --report-type json--report-name and --report-type pdf--report-name and --report-type csv json pdf--dir--s3-bucket and --s3-profile--slack (requires SLACK_BOT_TOKEN environment variable)--trend) currently only support JSON export. Other formats specified in --report-type will be ignored for trend reports.ce:GetCostAndUsagebudgets:ViewBudgetec2:DescribeInstancesec2:DescribeRegionssts:GetCallerIdentityec2:DescribeVolumesec2:DescribeAddressesrds:DescribeDBInstancesrds:ListTagsForResourcelambda:ListFunctionslambda:ListTagselbv2:DescribeLoadBalancerselbv2:DescribeTagss3:PutObject (required when using --s3-bucket to export reports to S3)s3:ListBucket (required when using --s3-bucket to export reports to S3)There are several ways to install the AWS FinOps Dashboard:
pipx install aws-finops-dashboard
If you don't have pipx, install it with:
python -m pip install --user pipx
python -m pipx ensurepath
pip install aws-finops-dashboard
uv is a modern Python package installer and resolver that's extremely fast.
# Install uv if you don't have it yet
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create project directory
mkdir aws-finops-dashboard && cd aws-finops-dashboard
# Create and activate python virtual environment
uv venv && source .venv/bin/activate
# Install aws-finops-dashboard
uv pip install aws-finops-dashboard
# Clone the repository
git clone https://github.com/ravikiranvm/aws-finops-dashboard.git
cd aws-finops-dashboard
# Create and activate python virtual environment
python -m venv .venv && source .venv/bin/activate
# Install using pip
pip install -e .
git clone https://github.com/ravikiranvm/aws-finops-dashboard.git
cd aws-finops-dashboard
docker compose build
# Run commands
docker compose run --rm aws-finops --all
docker compose run --rm aws-finops --profiles dev prod --regions us-east-1
docker compose run --rm aws-finops --audit
Note: AWS credentials are mounted from ~/.aws automatically via docker-compose.yml.
If you haven't already, configure your named profiles using the AWS CLI:
aws configure --profile profile1-name
aws configure --profile profile2-name
# ... etc ...
Repeat this for all the profiles you want the dashboard to potentially access.
To send reports to Slack, you need to:
Create a Slack App and Bot Token:
files:write (to upload files)chat:write (to send messages)xoxb-)Set the Environment Variable:
export SLACK_BOT_TOKEN=xoxb-your-token-here
Use the --slack flag with a channel identifier:
--slack C1234567890Note:
SLACK_BOT_TOKEN). It cannot be provided via config file or CLI flag for security reasons.Run the script using aws-finops followed by options:
aws-finops [options]
| Flag | Description |
|---|---|
--config-file, -C | Path to a TOML, YAML, or JSON configuration file. Command-line arguments will override settings from the config file. |
--profiles, -p | Specific AWS profiles to use (space-separated). If omitted, uses 'default' profile if available, otherwise all profiles. |
--regions, -r | Specific AWS regions to check for EC2 instances (space-separated). If omitted, attempts to check all accessible regions. |
--all, -a | Use all available AWS profiles found in your config. |
--combine, -c | Combine profiles from the same AWS account into single rows. |
--tag, -g | Filter cost data by one or more cost allocation tags in Key=Value format. Example: --tag Team=DevOps Env=Prod |
--report-name, -n | Specify the base name for the report file (without extension). |
--report-type, -y | Specify report types (space-separated): 'csv', 'json', 'pdf'. All formats are supported for both cost dashboard and audit reports. For trend reports, only 'json' is supported. |
--dir, -d | Directory to save the report file(s) (default: current directory). |
--time-range, -t | Time range for cost data in days (default: current month). Examples: 7, 30, 90. Use last-month to query the previous calendar month. |
--trend | View cost trend analysis for the last 6 months. |
--audit | View list of untagged, unused resources and budget breaches. |
--s3-bucket, -s3 | S3 bucket name to export report files to. When specified, files are uploaded to S3 instead of saving locally. Requires --s3-profile. |
--s3-prefix, -s3p | S3 key prefix/folder path for report files (optional). Example: reports/2025/january |
# Use default profile, show output in terminal only
aws-finops
# Use specific profiles 'dev' and 'prod'
aws-finops --profiles dev prod
# Use all available profiles
aws-finops --all
# Combine profiles from the same AWS account
aws-finops --all --combine
# Specify custom regions to check for EC2 instances
aws-finops --regions us-east-1 eu-west-1 ap-southeast-2
# View cost data for the last 30 days instead of current month
aws-finops --time-range 30
# View cost data only for a specific tag (e.g., Team=DevOps)
aws-finops --tag Team=DevOps
# View cost data for multiple tags (e.g., Team=DevOps and Env=Prod)
aws-finops --tag Team=Devops Env=Prod
# Export data to CSV only
aws-finops --all --report-name aws_dashboard_data --report-type csv
# Export data to JSON only
aws-finops --all --report-name aws_dashboard_data --report-type json
# Export data to both CSV and JSON formats simultaneously
aws-finops --all --report-name aws_dashboard_data --report-type csv json
# Export combi
Selected from shared topics, language and repository description—not editorial ratings.
Sharashchandra /
A terminal-based user interface for browsing and managing AWS S3 buckets and objects. Built with Python and Textual, s3ranger provides an intuitive way to interact with S3 storage directly from your terminal.
Khadeim /
I created this AWS Cloud Practioner (CLF C02) python terminal based quiz resource as a fun challenge to use my python skills as well as revise in a gameified way for my now completed exam
nholuongut /
A terminal-based AWS cost and resource dashboard built with Python and the Rich library. It provides an overview of AWS spend by account, service-level breakdowns, budget tracking, and EC2 instance summaries.
--s3-profile, -s3s |
AWS CLI profile to use for S3 uploads. Required when --s3-bucket is specified. |
--slack | Send reports to Slack channel. Provide channel identifier: --slack C1234567890. Requires SLACK_BOT_TOKEN environment variable. |
DamianChelva /
https://github.com/ravikiranvm - A terminal-based AWS cost and resource dashboard built with Python and the Rich library. It provides an overview of AWS spend by account, service-level breakdowns, budget tracking, and EC2 instance summaries.