{"package":"metricflow","ecosystem":"pypi","latest_version":"0.210.0","description":"Translates a simple metric definition into reusable SQL and executes it against the SQL engine of your choice.","license":"Apache-2.0","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/metricflow/","repository":"","downloads_weekly":77669,"health":{"score":77,"risk":"moderate","breakdown":{"maintenance":25,"popularity":10,"security":25,"maturity":15,"community":2},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"0.210.0","total_count":93,"recent":["0.204.1.dev3","0.204.1.dev4","0.204.1.dev5","0.204.1.dev6","0.205.0.dev0","0.205.0","0.206.0.dev1","0.206.0.dev2","0.206.0.dev3","0.206.0","0.207.0.dev1","0.207.0.dev2","0.207.0","0.207.1","0.207.2","0.207.3","0.208.0","0.208.1","0.209.0","0.210.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":1,"first_published":null,"last_published":"2026-04-24T20:35:25.712517Z","dependencies_count":172,"dependencies":["importlib-metadata>=4.0","jinja2<3.7,>=3.1.6","jsonschema<5.0,>=4.17","more-itertools<11.0,>=10.0.0","pydantic<3.0,>=1.10.0","python-dateutil<2.10,>=2.9.0","pyyaml<7.0,>=6.0","rapidfuzz<4.0,>=3.0","referencing>=0.28","sqlglot>=20.0.0","tabulate>=0.8.9","typing-extensions<5.0,>=4.4","black<24,>=23.3; extra == \"bigquery-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"bigquery-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"bigquery-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"bigquery-env-requirements\"","httpx<0.25,>=0.24; extra == \"bigquery-env-requirements\"","hypothesis<7,>=6.87; extra == \"bigquery-env-requirements\"","isort<6,>=5.12; extra == \"bigquery-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"bigquery-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"bigquery-env-requirements\"","pympler<=2.0,>=1.1; extra == \"bigquery-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"bigquery-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"bigquery-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"bigquery-env-requirements\"","sqlalchemy-bigquery<2.0.0,>=1.9.0; extra == \"bigquery-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"bigquery-env-requirements\"","termcolor<4.0,>=3.0; extra == \"bigquery-env-requirements\"","tomli<3,>=2.3.0; extra == \"bigquery-env-requirements\"","types-jinja2<3,>=2.11; extra == \"bigquery-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"bigquery-env-requirements\"","types-python-dateutil; extra == \"bigquery-env-requirements\"","types-pyyaml; extra == \"bigquery-env-requirements\"","types-tabulate; extra == \"bigquery-env-requirements\"","varname<1,>=0.15.1; extra == \"bigquery-env-requirements\"","black<24,>=23.3; extra == \"databricks-env-requirements\"","databricks-sqlalchemy<3.0.0,>=2.0.0; extra == \"databricks-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"databricks-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"databricks-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"databricks-env-requirements\"","httpx<0.25,>=0.24; extra == \"databricks-env-requirements\"","hypothesis<7,>=6.87; extra == \"databricks-env-requirements\"","isort<6,>=5.12; extra == \"databricks-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"databricks-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"databricks-env-requirements\"","pympler<=2.0,>=1.1; extra == \"databricks-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"databricks-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"databricks-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"databricks-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"databricks-env-requirements\"","termcolor<4.0,>=3.0; extra == \"databricks-env-requirements\"","tomli<3,>=2.3.0; extra == \"databricks-env-requirements\"","types-jinja2<3,>=2.11; extra == \"databricks-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"databricks-env-requirements\"","types-python-dateutil; extra == \"databricks-env-requirements\"","types-pyyaml; extra == \"databricks-env-requirements\"","types-tabulate; extra == \"databricks-env-requirements\"","varname<1,>=0.15.1; extra == \"databricks-env-requirements\"","black<24,>=23.3; extra == \"dev-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"dev-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"dev-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"dev-env-requirements\"","httpx<0.25,>=0.24; extra == \"dev-env-requirements\"","hypothesis<7,>=6.87; extra == \"dev-env-requirements\"","isort<6,>=5.12; extra == \"dev-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"dev-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"dev-env-requirements\"","pympler<=2.0,>=1.1; extra == \"dev-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"dev-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"dev-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"dev-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"dev-env-requirements\"","termcolor<4.0,>=3.0; extra == \"dev-env-requirements\"","tomli<3,>=2.3.0; extra == \"dev-env-requirements\"","types-jinja2<3,>=2.11; extra == \"dev-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"dev-env-requirements\"","types-python-dateutil; extra == \"dev-env-requirements\"","types-pyyaml; extra == \"dev-env-requirements\"","types-tabulate; extra == \"dev-env-requirements\"","varname<1,>=0.15.1; extra == \"dev-env-requirements\"","black<24,>=23.3; extra == \"postgres-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"postgres-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"postgres-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"postgres-env-requirements\"","httpx<0.25,>=0.24; extra == \"postgres-env-requirements\"","hypothesis<7,>=6.87; extra == \"postgres-env-requirements\"","isort<6,>=5.12; extra == \"postgres-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"postgres-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"postgres-env-requirements\"","psycopg2-binary<3.0.0,>=2.9.0; extra == \"postgres-env-requirements\"","pympler<=2.0,>=1.1; extra == \"postgres-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"postgres-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"postgres-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"postgres-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"postgres-env-requirements\"","termcolor<4.0,>=3.0; extra == \"postgres-env-requirements\"","tomli<3,>=2.3.0; extra == \"postgres-env-requirements\"","types-jinja2<3,>=2.11; extra == \"postgres-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"postgres-env-requirements\"","types-python-dateutil; extra == \"postgres-env-requirements\"","types-pyyaml; extra == \"postgres-env-requirements\"","types-tabulate; extra == \"postgres-env-requirements\"","varname<1,>=0.15.1; extra == \"postgres-env-requirements\"","black<24,>=23.3; extra == \"redshift-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"redshift-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"redshift-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"redshift-env-requirements\"","httpx<0.25,>=0.24; extra == \"redshift-env-requirements\"","hypothesis<7,>=6.87; extra == \"redshift-env-requirements\"","isort<6,>=5.12; extra == \"redshift-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"redshift-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"redshift-env-requirements\"","psycopg2-binary<3.0.0,>=2.9.0; extra == \"redshift-env-requirements\"","pympler<=2.0,>=1.1; extra == \"redshift-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"redshift-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"redshift-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"redshift-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"redshift-env-requirements\"","termcolor<4.0,>=3.0; extra == \"redshift-env-requirements\"","tomli<3,>=2.3.0; extra == \"redshift-env-requirements\"","types-jinja2<3,>=2.11; extra == \"redshift-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"redshift-env-requirements\"","types-python-dateutil; extra == \"redshift-env-requirements\"","types-pyyaml; extra == \"redshift-env-requirements\"","types-tabulate; extra == \"redshift-env-requirements\"","varname<1,>=0.15.1; extra == \"redshift-env-requirements\"","black<24,>=23.3; extra == \"snowflake-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"snowflake-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"snowflake-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"snowflake-env-requirements\"","httpx<0.25,>=0.24; extra == \"snowflake-env-requirements\"","hypothesis<7,>=6.87; extra == \"snowflake-env-requirements\"","isort<6,>=5.12; extra == \"snowflake-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"snowflake-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"snowflake-env-requirements\"","pympler<=2.0,>=1.1; extra == \"snowflake-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"snowflake-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"snowflake-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"snowflake-env-requirements\"","snowflake-sqlalchemy<2.0.0,>=1.5.0; extra == \"snowflake-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"snowflake-env-requirements\"","termcolor<4.0,>=3.0; extra == \"snowflake-env-requirements\"","tomli<3,>=2.3.0; extra == \"snowflake-env-requirements\"","types-jinja2<3,>=2.11; extra == \"snowflake-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"snowflake-env-requirements\"","types-python-dateutil; extra == \"snowflake-env-requirements\"","types-pyyaml; extra == \"snowflake-env-requirements\"","types-tabulate; extra == \"snowflake-env-requirements\"","varname<1,>=0.15.1; extra == \"snowflake-env-requirements\"","black<24,>=23.3; extra == \"trino-env-requirements\"","duckdb!=1.2.1,<1.4.0; extra == \"trino-env-requirements\"","duckdb-engine<0.14.0,>=0.13.0; extra == \"trino-env-requirements\"","graphviz<0.21,>=0.18.2; extra == \"trino-env-requirements\"","httpx<0.25,>=0.24; extra == \"trino-env-requirements\"","hypothesis<7,>=6.87; extra == \"trino-env-requirements\"","isort<6,>=5.12; extra == \"trino-env-requirements\"","mypy<1.8.0,>=1.7.0; extra == \"trino-env-requirements\"","pre-commit<3.3.0,>=3.2.2; extra == \"trino-env-requirements\"","pympler<=2.0,>=1.1; extra == \"trino-env-requirements\"","pytest-mock<3.15.0,>=3.14.0; extra == \"trino-env-requirements\"","pytest-xdist<3.7.0,>=3.6.0; extra == \"trino-env-requirements\"","pytest<9.0.0,>=8.0.0; extra == \"trino-env-requirements\"","sqlalchemy<2.1.0,>=2.0.0; extra == \"trino-env-requirements\"","termcolor<4.0,>=3.0; extra == \"trino-env-requirements\"","tomli<3,>=2.3.0; extra == \"trino-env-requirements\"","trino<0.337.0,>=0.336.0; extra == \"trino-env-requirements\"","types-jinja2<3,>=2.11; extra == \"trino-env-requirements\"","types-jsonschema<5,>=4.17; extra == \"trino-env-requirements\"","types-python-dateutil; extra == \"trino-env-requirements\"","types-pyyaml; extra == \"trino-env-requirements\"","types-tabulate; extra == \"trino-env-requirements\"","varname<1,>=0.15.1; extra == \"trino-env-requirements\""]},"github_stats":null,"bundle":null,"typescript":null,"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"0.210.0","version_hint":null,"summary":"metricflow@0.210.0 is safe to use (health: 77/100)"},"version_scoped":null,"requested_version":null,"_cache":"miss","_response_ms":616,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"version_history_summary":{"total_versions":20,"first_release_age_days":null,"last_release_days_ago":7,"avg_days_between_releases":null,"release_velocity":"active"}}