tofu-tf / typed-schema

Typelevel http service definition DSL
Apache License 2.0
150 stars 28 forks source link
akka-http http-server open-api-v3 scala swagger typelevel-programming
CI Release
Scala CI Maven Central

Welcome to Typed Schema

Typed schema is an http service definition DSL, currently translating to akka-http Routes and OpenApi 3.0 definition inspired by the haskell-servant library.

Getting started

Typed Schema is published to Maven Central and cross-built for Scala 2.12 and 2.13 so you can just add the following to your build:

libraryDependencies ++= List(
  "ru.tinkoff" %% "typed-schema-swagger" % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-zio" % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-custom" % "latest version in badge",
)

or

libraryDependencies ++= List(
  "ru.tinkoff" %% "typed-schema-swagger"        % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-env"    % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-custom" % "latest version in badge",
)

or

libraryDependencies ++= List(
  "ru.tinkoff" %% "typed-schema-swagger"   % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-akka-http" % "latest version in badge",
)

Motivation

We the People building services using modern scala often struggling to satisfy following requirements

Learn More on the TypedSchema Microsite