What is OpenMetadata built with?

OpenMetadata is a Java repo built with React, Vite, JAX-RS, Flask, org.glassfish.jersey.media:jersey-media-multipart, and 17 more. It stores its data in Postgres, com.zaxxer:HikariCP, Flyway, and MySQL, reaches it with guicey-jdbi3, jdbi3-sqlobject, jsqlparser, org.jdbi:jdbi3-core, and io.dropwizard:dropwizard-jdbi3, signs people in with com.google.auth:google-auth-library-oauth2-http, google-oauth-client, java-jwt, nimbus-jose-jwt, oauth2-oidc-sdk, and 7 more, uses AI through Model Context Protocol and io.modelcontextprotocol.sdk:mcp-json-jackson2, connects to Google, makes its content with angus-mail, commonmark-ext-autolink, commonmark-ext-gfm-strikethrough, commonmark-ext-gfm-tables, owasp-java-html-sanitizer, and 11 more, validates its data with everit-json-schema, jakarta.validation:jakarta.validation-api, com.networknt:json-schema-validator, org.jsonschema2pojo:jsonschema2pojo-core, javax.validation:validation-api, and 1 more, is tested with jsonassert, junit, junit-bom, junit-jupiter, junit-jupiter-api, and 18 more, deploys with log4j-core, metrics-core, micrometer-observation, micrometer-registry-prometheus, OpenTelemetry, and 10 more, and uses apache-client, com.mysql:mysql-connector-j, docker-java-transport-zerodep, elasticache, lettuce-core, and 10 more. It has 2,166,002 written lines, with 4,066 test files.

Read on November 7, 2026, at commit 3aaedca. Read it as markdown

Frontend

Backend

The base 3

  • JAX-RS466 files
  • Flask23 files
  • org.glassfish.jersey.media:jersey-media-multipart3 files

Data 18

6 more
  • docker-java-transport-zerodep
  • elasticache
  • lettuce-core
  • redshift-jdbc42
  • s3
  • tomcat-jdbc

Data access 5

  • org.jdbi:jdbi3-core226 files
  • io.dropwizard:dropwizard-jdbi31 file
  • guicey-jdbi3
  • jdbi3-sqlobject
  • jsqlparser

Sign-in 12

  • com.google.auth:google-auth-library-oauth2-http
  • software.amazon.awssdk:auth8 files
  • com.unboundid:unboundid-ldapsdk6 files
  • com.azure:azure-identity3 files
  • com.microsoft.azure:msal4j1 file
  • org.passay:passay1 file
  • software.amazon.awssdk:secretsmanager1 file
  • software.amazon.awssdk:sts1 file
  • google-oauth-client
  • java-jwt
  • nimbus-jose-jwt
  • oauth2-oidc-sdk

AI 2

Services 2

Support

The base 17

  • Spring8 files
  • org.springframework:spring-beans
  • jakarta.servlet:jakarta.servlet-api47 files
  • io.dropwizard:dropwizard-core45 files
  • org.eclipse.jetty:jetty-server6 files
  • org.eclipse.jetty.ee10:jetty-ee10-servlet4 files
  • org.eclipse.jetty:jetty-http3 files
  • org.eclipse.jetty:jetty-util3 files
  • javax.servlet:javax.servlet-api1 file
  • org.eclipse.jetty:jetty-io1 file
  • javax.ws.rs-api
  • jersey-container-servlet
5 more
  • jersey-media-json-jackson
  • jersey-server
  • jetty-bom
  • jetty-ee10-bom
  • jetty-ee10-servlets

Content 16

  • Apache25 files
  • com.github.jknack:handlebars31 files
  • org.commonmark:commonmark11 files
  • org.freemarker:freemarker7 files
  • com.opencsv:opencsv1 file
  • com.vladsch.flexmark:flexmark-html2md-converter1 file
  • org.apache.pdfbox:pdfbox1 file
  • org.apache.poi:poi1 file
  • org.jsoup:jsoup1 file
  • org.simplejavamail:simple-java-mail1 file
  • angus-mail
  • commonmark-ext-autolink
4 more
  • commonmark-ext-gfm-strikethrough
  • commonmark-ext-gfm-tables
  • owasp-java-html-sanitizer
  • poi-ooxml

Validation 6

  • Hibernate1 file
  • jakarta.validation:jakarta.validation-api157 files
  • com.networknt:json-schema-validator5 files
  • org.jsonschema2pojo:jsonschema2pojo-core5 files
  • javax.validation:validation-api4 files
  • everit-json-schema

Testing 23

  • org.mockito:mockito-core734 files
  • org.awaitility:awaitility248 files
  • org.mockito:mockito-junit-jupiter104 files
  • org.assertj:assertj-core101 files
  • org.testcontainers:testcontainers62 files
  • com.github.docker-java:docker-java-api6 files
  • io.dropwizard:dropwizard-testing5 files
  • org.junit.platform:junit-platform-launcher3 files
  • com.tngtech.archunit:archunit-junit52 files
  • jsonassert
  • junit
  • junit-bom
11 more
  • junit-jupiter
  • junit-jupiter-api
  • junit-jupiter-engine
  • junit-jupiter-params
  • junit-pioneer
  • junit-platform-commons
  • kubernetes-server-mock
  • mockito-all
  • mockito-inline
  • mockwebserver
  • postgresql

Deploy 15

3 more
  • micrometer-observation
  • micrometer-registry-prometheus
  • slf4j-simple

Tools 5

  • Swagger
  • org.projectlombok:lombok1,227 files
  • packaging10 files
  • org.antlr:antlr4-runtime1 file
  • commons-cli

Other 59

  • com.google.code.gson:gson1 file
  • Apache Airflow
  • com.google.guava:guava
  • io.swagger.core.v3:swagger-core
  • Mozilla
  • org.apache.httpcomponents.client5:httpclient5
  • com.fasterxml.jackson.core:jackson-databind264 files
  • jakarta.json:jakarta.json-api169 files
  • org.apache.commons:commons-lang399 files
  • com.fasterxml.jackson.core:jackson-core90 files
  • jakarta.annotation:jakarta.annotation-api10 files
  • org.json:json8 files
47 more
  • com.fasterxml.jackson.dataformat:jackson-dataformat-yaml7 files
  • com.cronutils:cron-utils5 files
  • com.slack.api:slack-api-client5 files
  • com.apicatalog:titanium-json-ld2 files
  • io.github.classgraph:classgraph2 files
  • com.fasterxml.jackson.module:jackson-module-blackbird1 file
  • com.jayway.jsonpath:json-path1 file
  • info.picocli:picocli1 file
  • org.apache.httpcomponents:httpclient1 file
  • bcpkix-jdk18on
  • bcprov-jdk18on
  • bcutil-jdk18on
  • bom
  • commons-beanutils
  • commons-codec
  • commons-compress
  • commons-io
  • dropwizard-client
  • feign-core
  • feign-okhttp
  • httpasyncclient
  • httpcore5
  • jackson-annotations
  • jackson-bom
  • jackson-databind-nullable
  • jackson-dataformat-cbor
  • jackson-datatype-jsr310
  • jakarta.el
  • jakarta.json
  • jakarta.xml.bind-api
  • jaxb-runtime
  • jersey-client
  • json-smart
  • netty-bom
  • okhttp-bom
  • okhttp-jvm
  • parsson
  • pendulum
  • quartz
  • reactor-core
  • reactor-netty-core
  • reactor-netty-http
  • reflections
  • resilience4j-ratelimiter
  • snakeyaml
  • woodstox-core
  • xmlsec

Other repos with a similar stack

Ordered by how much of its stack they share with OpenMetadata, then by stars.

Frequently asked questions

What language is OpenMetadata written in?
OpenMetadata is written in Java, with 2,166,002 written lines.
What framework does OpenMetadata use?
OpenMetadata is built with React, Vite, JAX-RS, Flask, org.glassfish.jersey.media:jersey-media-multipart, javax.ws.rs-api, jersey-container-servlet, jersey-media-json-jackson, jersey-server, jetty-bom, jetty-ee10-bom, jetty-ee10-servlets, org.springframework:spring-beans, jakarta.servlet:jakarta.servlet-api, io.dropwizard:dropwizard-core, Spring, org.eclipse.jetty:jetty-server, org.eclipse.jetty.ee10:jetty-ee10-servlet, org.eclipse.jetty:jetty-http, org.eclipse.jetty:jetty-util, javax.servlet:javax.servlet-api, and org.eclipse.jetty:jetty-io.

The proof: in openmetadata-ui/src/main/resources/ui/package.json

What database does OpenMetadata use?
OpenMetadata stores its data in Postgres, com.zaxxer:HikariCP, Flyway, and MySQL and reaches it with guicey-jdbi3, jdbi3-sqlobject, jsqlparser, org.jdbi:jdbi3-core, and io.dropwizard:dropwizard-jdbi3.

The proof: openmetadata-service/src/main/java/org/openmetadata/service/migration/utils/v111/MigrationUtilV111.java, line 22

What does OpenMetadata sign people in with?
OpenMetadata signs people in with com.google.auth:google-auth-library-oauth2-http, google-oauth-client, java-jwt, nimbus-jose-jwt, oauth2-oidc-sdk, software.amazon.awssdk:auth, com.unboundid:unboundid-ldapsdk, com.azure:azure-identity, com.microsoft.azure:msal4j, org.passay:passay, software.amazon.awssdk:secretsmanager, and software.amazon.awssdk:sts.
Does OpenMetadata use AI?
Yes. OpenMetadata uses AI through Model Context Protocol and io.modelcontextprotocol.sdk:mcp-json-jackson2.
What services does OpenMetadata use?
OpenMetadata connects to Google and uses apache-client, com.mysql:mysql-connector-j, docker-java-transport-zerodep, elasticache, lettuce-core, org.flywaydb:flyway-mysql, PostgreSQL, redshift-jdbc42, s3, tomcat-jdbc, Redis, com.azure:azure-storage-blob, net.jodah:expiringmap, software.amazon.awssdk:rds, and Elasticsearch.

The proof: openmetadata-service/src/main/java/org/openmetadata/service/secrets/GCPSecretsManager.java, line 6

Does OpenMetadata have tests?
Yes. OpenMetadata has 4,066 test files and is tested with jsonassert, junit, junit-bom, junit-jupiter, junit-jupiter-api, junit-jupiter-engine, junit-jupiter-params, junit-pioneer, junit-platform-commons, kubernetes-server-mock, mockito-all, mockito-inline, mockwebserver, postgresql, org.mockito:mockito-core, org.awaitility:awaitility, org.mockito:mockito-junit-jupiter, org.assertj:assertj-core, org.testcontainers:testcontainers, com.github.docker-java:docker-java-api, io.dropwizard:dropwizard-testing, org.junit.platform:junit-platform-launcher, and com.tngtech.archunit:archunit-junit5.
Which repos have a stack like OpenMetadata's?

See inside your code, today.

Paste your repo and see it drawn, part by part: a medium one in under a minute.

Free, no account.

Or look inside SeeRepo's own →

Is it your repo? Add its badge, keep it up to date or take it down →