{"id":23435437,"url":"https://github.com/jmfontaine/pantomath","last_synced_at":"2025-04-13T03:41:49.874Z","repository":{"id":46201567,"uuid":"403336329","full_name":"jmfontaine/pantomath","owner":"jmfontaine","description":"Collect, analyze, and explore all the data you need to optimize the cost of your cloud","archived":false,"fork":false,"pushed_at":"2022-12-08T12:50:54.000Z","size":231,"stargazers_count":4,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T20:51:28.712Z","etag":null,"topics":["aws","cloud","cost-optimization","finops","postgresql","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmfontaine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-05T14:57:11.000Z","updated_at":"2025-01-17T03:00:42.000Z","dependencies_parsed_at":"2023-01-25T13:15:10.447Z","dependency_job_id":null,"html_url":"https://github.com/jmfontaine/pantomath","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmfontaine%2Fpantomath","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmfontaine%2Fpantomath/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmfontaine%2Fpantomath/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmfontaine%2Fpantomath/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmfontaine","download_url":"https://codeload.github.com/jmfontaine/pantomath/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248660942,"owners_count":21141372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cloud","cost-optimization","finops","postgresql","python"],"created_at":"2024-12-23T12:51:29.279Z","updated_at":"2025-04-13T03:41:49.853Z","avatar_url":"https://github.com/jmfontaine.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pantomath\n\n![Build Status](https://github.com/jmfontaine/pantomath/actions/workflows/build.yml/badge.svg)\n![Interrogate](assets/badges/interrogate.svg)\n\nPantomath is a command-line application that helps you collect, analyze, and explore all the data you need to optimize the cost of your cloud.\n\n## 🎯 Purpose\n\nPantomath is a versatile data manager that allows to easily:\n\n- Collect data from various sources (**APIs, databases, local and remote files**, web sites, etc.).\n- Store structured and semi-structured data.\n- Query data with **SQL**.\n- Report on the data.\n- Alert on the data.\n\nIt is designed to be extensible so that adding support for new data sources requires minimal work.\n\n## ⚡️ Getting Started\n\n### Prerequisites\n\n- [Python](https://www.python.org/) 3.7+\n- [PostgreSQL](https://www.postgresql.org/) 13+\n\n### Installation\n\n- Clone the repository.\n\n```shell\ngit clone https://github.com/jmfontaine/pantomath.git\ncd pantomath\n```\n\n- Install the dependencies with [Poetry](https://python-poetry.org).\n\n```shell\npoetry install\n```\n\n- Activate the virtual environment.\n\n```shell\npoetry shell\n```\n\n\n\nWhen done using Pantomath, you can deactivate the Poetry shell:\n\n```shell\nexit\n```\n\n## 💻 Usage\n\nTo start the interactive program, run `pantomath`.\n\n```shell\nUsage: pantomath [OPTIONS] COMMAND [ARGS]...\n\n  Easily collect, analyze, and explore FinOps data.\n\n  Written by Jean-Marc Fontaine (jm@jmfontaine.net).\n\nOptions:\n  -c, --config TEXT  Set configuration file path.  [default: pantomath.yaml]\n  -v, --verbose      [x\u003e=0]\n  --help             Show this message and exit.\n\nCommands:\n  collect  Extract, transform and load from data sources into the database.\n  version  Display version.\n```\n\n## ⚙️ Configuration\n\nPantomath can be configured via a YAML configuration.\n\nBy default, Pantomath will look in the current folder for a file named `pantomath.yaml`. This can be overridden by using the `--config` option (or `-c` for short): `pantomath --config ./custom/path/pantomath.yaml`.\n\nHere are all the currently available settings:\n\n```yaml\nversion: 0.1.0\n\ndb:\n  host: localhost # Optional\n  port: 5432 # Optional\n  user: pantomath # Optional\n  password: pantomath # Optional\n  name: pantomath # Optional\n\nproviders:\n  aws:\n    settings:\n      accounts:\n        - profile: account1\n        - profile: account2\n          assume_role: arn:aws:iam::1111111111111:role/MyRole\n    sources:\n      - aws_cloudfront_distributions\n      - aws_cloudtrail_trails\n      - aws_dax_clusters\n      - aws_docdb_clusters\n      - aws_dynamodb_tables\n      - aws_ebs_snapshots\n      - aws_ebs_volumes\n      - aws_ec2_alb\n      - aws_ec2_clb\n      - aws_ec2_eip\n      - aws_ec2_glb\n      - aws_ec2_images\n      - aws_ec2_instances\n      - aws_ec2_nat_gateways\n      - aws_ec2_nlb\n      - aws_ec2_vpc_endpoints\n      - aws_ecs_clusters\n      - aws_efs_file_systems\n      - aws_eks_clusters\n      - aws_elasticache_clusters\n      - aws_emr_clusters\n      - aws_es_domains\n      - aws_lambda_functions\n      - aws_rds_instances\n      - aws_rds_snapshots\n      - aws_redshift_clusters\n      - aws_route53_domains\n      - aws_s3_buckets\n\n```\n\n## 🙋 Support\n\nIf you need some help, please [create an issue](https://github.com/jmfontaine/pantomath/issues).\n\n## 🤔 Pantomath?\n\nA [pantomath](https://en.wikipedia.org/wiki/Pantomath) is a person who wants to know or knows everything.\n\nThis tool aims at making it easier for users to know everything they need to manage and optimize the cost of their cloud.\n\n## 📜 License\n\nPantomath is free, and the source is available. It is distributed under the [Server Side Public License (SSPL) v1](LICENSE.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmfontaine%2Fpantomath","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmfontaine%2Fpantomath","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmfontaine%2Fpantomath/lists"}