# 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 database - `category` - DatabaseCategory constant for grouping - `pypi_packages` - Python packages needed for connection - `connection_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: ```python 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.