mirror of
https://github.com/apache/superset.git
synced 2026-04-13 13:18:25 +00:00
7.2 KiB
7.2 KiB
Database Metadata Completeness Report
This report is auto-generated by python superset/db_engine_specs/lint_metadata.py --markdown.
It tracks which database engine specs have complete metadata.
Summary
- Total engine specs: 79
- With metadata: 64 (81%)
- All required fields: 59 (74%)
- Average completeness: 65.4%
Required Fields
These fields should be in every engine spec's metadata attribute:
description- Brief description of the databasecategory- DatabaseCategory constant for groupingpypi_packages- Python packages needed for connectionconnection_string- SQLAlchemy URI template
Specs Needing Work
| Engine | Module | Score | Missing Required | Missing Recommended |
|---|---|---|---|---|
| Azure Synapse | mssql.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| ClickHouse Connect (Superset) | clickhouse.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| ClickHouseBaseEngineSpec | clickhouse.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Databend | databend.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| DatabendBaseEngineSpec | databend.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Databricks | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Databricks (legacy) | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Databricks SQL Endpoint | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| DatabricksBaseEngineSpec | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| DatabricksDynamicBaseEngineSpec | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| MotherDuck | duckdb.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| PostgreSQL | postgres.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| PrestoBaseEngineSpec | presto.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Shillelagh | shillelagh.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Superset meta database | superset.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
| Apache Drill | drill.py | 51% | connection_string, pypi_packages | default_port |
| Amazon Athena | athena.py | 52% | connection_string, pypi_packages | default_port |
| Ascend | ascend.py | 60% | ✓ | default_port, homepage_url, logo |
| Ocient | ocient.py | 61% | ✓ | default_port, homepage_url, logo |
| RisingWave | risingwave.py | 61% | ✓ | default_port, homepage_url, logo |
| Arc | arc.py | 62% | ✓ | default_port, homepage_url, logo |
| Parseable | parseable.py | 62% | ✓ | default_port, homepage_url, logo |
| IBM Db2 | db2.py | 66% | connection_string | default_port |
| Apache Solr | solr.py | 70% | ✓ | default_port, logo |
| Apache Spark SQL | spark.py | 70% | ✓ | default_port, logo |
| CockroachDB | cockroachdb.py | 71% | ✓ | default_port, logo |
| Cloudflare D1 | d1.py | 71% | ✓ | default_port, logo |
| IBM Db2 for i | ibmi.py | 71% | ✓ | default_port, logo |
| Amazon DynamoDB | dynamodb.py | 72% | ✓ | default_port, logo |
| Microsoft SQL Server | mssql.py | 76% | connection_string | ✓ |
| Amazon Redshift | redshift.py | 77% | connection_string | ✓ |
| Apache Hive | hive.py | 80% | ✓ | default_port |
| Apache Impala | impala.py | 80% | ✓ | default_port |
| Apache Kylin | kylin.py | 80% | ✓ | default_port |
| IBM Netezza Performance Server | netezza.py | 80% | ✓ | default_port |
| OceanBase | oceanbase.py | 80% | ✓ | default_port |
| Apache Doris | doris.py | 81% | ✓ | default_port |
| Aurora MySQL (Data API) | aurora.py | 81% | ✓ | default_port |
| Aurora PostgreSQL (Data API) | aurora.py | 81% | ✓ | default_port |
| SQLite | sqlite.py | 81% | ✓ | default_port |
| Teradata | teradata.py | 81% | ✓ | default_port |
| Apache Pinot | pinot.py | 81% | ✓ | default_port |
| Dremio | dremio.py | 81% | ✓ | default_port |
| DuckDB | duckdb.py | 81% | ✓ | default_port |
| Exasol | exasol.py | 81% | ✓ | default_port |
| Firebird | firebird.py | 81% | ✓ | default_port |
| Firebolt | firebolt.py | 81% | ✓ | default_port |
| Google Sheets | gsheets.py | 81% | ✓ | default_port |
| KustoKQL | kusto.py | 81% | ✓ | default_port |
| KustoSQL | kusto.py | 81% | ✓ | default_port |
| Oracle | oracle.py | 81% | ✓ | default_port |
| SAP HANA | hana.py | 81% | ✓ | default_port |
| YDB | ydb.py | 81% | ✓ | default_port |
| ClickHouse | clickhouse.py | 82% | ✓ | default_port |
| SAP Sybase | sybase.py | 82% | ✓ | default_port |
| Databricks Interactive Cluster | databricks.py | 82% | ✓ | default_port |
| Google BigQuery | bigquery.py | 83% | ✓ | default_port |
| Snowflake | snowflake.py | 83% | ✓ | default_port |
Complete Specs
These specs have all required and recommended fields:
- Apache Druid (92%)
- Couchbase (91%)
- CrateDB (91%)
- Databend (91%)
- Denodo (91%)
- ElasticSearch (OpenDistro SQL) (91%)
- ElasticSearch (SQL API) (91%)
- Greenplum (91%)
- Hologres (91%)
- MariaDB (91%)
- MonetDB (91%)
- MySQL (92%)
- PostgreSQL (94%)
- Presto (92%)
- SingleStore (91%)
- StarRocks (91%)
- TDengine (91%)
- TimescaleDB (92%)
- Trino (92%)
- Vertica (92%)
- YugabyteDB (91%)
How to Fix
Add a metadata attribute to your engine spec class:
from superset.db_engine_specs.base import (
BaseEngineSpec, DatabaseCategory
)
class MyEngineSpec(BaseEngineSpec):
engine_name = "My Database"
metadata = {
"description": "Brief description of the database.",
"category": DatabaseCategory.TRADITIONAL_RDBMS,
"pypi_packages": ["my-driver"],
"connection_string": "mydb://{username}:{password}@{host}:{port}/{database}",
"logo": "mydb.svg",
"homepage_url": "https://mydb.example.com/",
"default_port": 5432,
}
See superset/db_engine_specs/README.md for full documentation.