Lightweight, high-performance FinOps toolkit for AWS
Project description
🦈 Remora-Fin: High-Performance AWS FinOps CLI
Remora-Fin is a lightweight, high-performance FinOps toolkit for AWS. Built with Polars and Textual, it attaches to your AWS environment to analyze spending, detect anomalies, and export professional-grade reports.
🚀 Key Features
- 📈 Vector Graphics: Native PDF visualizations (Bars & Lines) with zero external dependencies.
- 📂 High-Speed Analysis: Powered by Polars for near-instant processing of large billing datasets.
- 🔍 Anomaly Intelligence: Identify unexpected cost spikes using AWS Cost Explorer algorithms.
- 🔮 Predictive Analysis: Integrated spending forecasts to avoid end-of-month surprises.
- 🖥️ Terminal UI: Interactive dashboard (TUI) for real-time cost monitoring.
- 🔒 Privacy First: All data processing happens locally on your machine. Remora-Fin never sends your billing data to external servers.
📦 Installation
Install Remora-Fin using pip or uv:
# Using uv (Recommended)
uv tool install remora-fin
# Using pip
pip install remora-fin
🛠️ Commands & Usage
📊 report
Generate comprehensive cost and usage reports.
| Argument | Shortcut | Type / Choices | Default | Description |
|---|---|---|---|---|
--type |
-t |
breakdown, trend, account |
breakdown |
Report type. |
--format |
-f |
pdf, table, json, csv, parquet, markdown |
pdf |
Output format. |
--days |
-d |
int |
30 |
Lookback period in days. |
--start |
YYYY-MM-DD |
Start date. | ||
--end |
YYYY-MM-DD |
End date. | ||
--metric |
UnblendedCost, BlendedCost, NetUnblendedCost, AmortizedCost, UsageQuantity |
UnblendedCost |
Cost metric. | |
--group-by |
SERVICE, LINKED_ACCOUNT, REGION, USAGE_TYPE |
Group results by dimension. | ||
--service |
-s |
string |
Filter by AWS service. | |
--output |
-o |
path |
Output file path. | |
--profile |
-p |
string |
AWS profile name. | |
--region |
-r |
string |
AWS region. |
# Generate a monthly breakdown in PDF for the last 30 days
remora-fin report --type breakdown --format pdf --output monthly_report.pdf
# Get a CSV report filtered by EC2 service
remora-fin report --type account --service EC2 --format csv
🔍 anomalies
Detect and display AWS cost anomalies using ML-based detection.
| Argument | Shortcut | Type / Choices | Default | Description |
|---|---|---|---|---|
--days |
-d |
int |
30 |
Lookback period (max 90). |
--start |
YYYY-MM-DD |
Start date. | ||
--end |
YYYY-MM-DD |
End date. | ||
--severity |
low, medium, high, critical |
Filter by severity. | ||
--monitor-arn |
string |
Filter by specific monitor ARN. | ||
--detail |
flag | Show detailed anomaly list. | ||
--json |
flag | Output as JSON. | ||
--profile |
-p |
string |
AWS profile name. | |
--region |
-r |
string |
AWS region. |
# Detect anomalies in the last 60 days
remora-fin anomalies --days 60 --severity high
🔮 forecast
Predict future AWS costs using ML-based forecasting.
| Argument | Shortcut | Type / Choices | Default | Description |
|---|---|---|---|---|
--days |
-d |
int |
30 |
Days to forecast (max 365). |
--start |
YYYY-MM-DD |
Forecast start date. | ||
--end |
YYYY-MM-DD |
End date. | ||
--metric |
UnblendedCost, BlendedCost, NetUnblendedCost, AmortizedCost, UsageQuantity |
UnblendedCost |
Metric to forecast. | |
--granularity |
DAILY, MONTHLY |
DAILY |
Forecast granularity. | |
--group-by-type |
DIMENSION, TAG, COST_CATEGORY |
Group forecast by type. | ||
--group-by-key |
SERVICE, LINKED_ACCOUNT, REGION, USAGE_TYPE, INSTANCE_TYPE, PLATFORM |
Group forecast by key. | ||
--scenarios |
flag | Show what-if scenario analysis. | ||
--json |
flag | Output as JSON. | ||
--profile |
-p |
string |
AWS profile name. | |
--region |
-r |
string |
AWS region. |
# Forecast next 30 days of spend
remora-fin forecast --days 30 --scenarios
🖥️ dashboard
Launch the interactive Terminal User Interface.
| Argument | Shortcut | Type / Choices | Default | Description |
|---|---|---|---|---|
--days |
-d |
int |
Default period in days. | |
--theme |
dark, light |
UI theme. | ||
--profile |
-p |
string |
AWS profile name. | |
--region |
-r |
string |
AWS region. |
remora-fin dashboard --days 60 --theme dark
🔐 login
Configure and test AWS credentials.
| Argument | Shortcut | Type / Choices | Default | Description |
|---|---|---|---|---|
--profile |
-p |
string |
default |
AWS profile name. |
--region |
-r |
string |
AWS region. | |
--test |
-t |
flag | Test existing credentials. | |
--configure |
-c |
flag | Interactive configuration. |
# Configure interactively
remora-fin login --configure
# Test existing credentials
remora-fin login --test
👤 profile
View current remora-fin configuration and AWS session identity.
remora-fin profile
🔐 IAM Permissions
Remora-Fin requires read-only access to AWS Cost Explorer and Organizations. Ensure your IAM identity has the following permissions:
| Action | Purpose |
|---|---|
ce:GetCostAndUsage |
Cost reports and trends. |
ce:GetAnomalies |
Cost spike detection and monitor access. |
ce:GetCostForecast |
Native spend projections. |
sts:GetCallerIdentity |
Current account and user identification. |
organizations:ListAccounts |
Multi-account environment support. |
🌍 Multi-Cloud Support (Coming Soon)
We are planning to expand Remora-Fin to support Azure and GCP. See our Multi-Cloud Roadmap for more details.
🤝 Contributing
Contributions are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
Distributed under the MIT License. See LICENSE for more information.
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 remora_fin-1.0.2.tar.gz.
File metadata
- Download URL: remora_fin-1.0.2.tar.gz
- Upload date:
- Size: 60.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
378e8f862fb0699111915b865799313edec25eda36041f70d35f0a9cc8fe8c1d
|
|
| MD5 |
8c8d7179db5665e757e9048314d90dda
|
|
| BLAKE2b-256 |
cb6945d0c6f3bd8cc5f1c2fa118784959d28bd987dbc56a87cd6d61225cff50c
|
File details
Details for the file remora_fin-1.0.2-py3-none-any.whl.
File metadata
- Download URL: remora_fin-1.0.2-py3-none-any.whl
- Upload date:
- Size: 91.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e0e882dfdb52df4727451e2b4ef8e78032f3c5d17a788823031cffd33cff5a3
|
|
| MD5 |
4fd2dbc3b9300a535f849ff912764974
|
|
| BLAKE2b-256 |
398c8d0b022720faf354378c0ca5bfcbc2588c0ecb54a501192da5ff7641e61b
|