packages feed

servant-openapi3-2.1.0.0: servant-openapi3.cabal

cabal-version:       3.0
name:                servant-openapi3
version:             2.1.0.0
synopsis:            Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API.
description:
  Swagger is a project used to describe and document RESTful APIs. The core of the 
  project is the [OpenAPI Specification (OAS)](https://swagger.io/docs/specification/about/). 
  This library implements v3.0 of the spec. Unlike Servant it is language-agnostic and thus is 
  quite popular among developers in different languages. It has also existed for a longer time 
  and has more helpful tooling.
  .
  This package provides means to generate a Swagger/OAS specification for a Servant API
  and also to partially test whether an API conforms with its specification.
  .
  Generated Swagger specification then can be used for many things such as
  .
  * displaying interactive documentation using [Swagger UI](http://swagger.io/swagger-ui/);
  .
  * generating clients and servers in many languages using [Swagger Codegen](http://swagger.io/swagger-codegen/);
  .
  * and [many others](http://swagger.io/open-source-integrations/).
homepage:            https://github.com/haskell-servant/servant
bug-reports:         https://github.com/haskell-servant/servant/issues
license:             BSD-3-Clause
license-file:        LICENSE
author:              David Johnson, Nickolay Kudasov, Maxim Koltsov
maintainer:          Laurent P. Rene de Cotret
copyright:           (c) 2015-2020, Servant contributors
                     (c) 2020-2025 Maxim Koltsov
                     (c) 2026 Servant contributors
category:            Web, Servant, Swagger
build-type:          Simple
tested-with:         GHC ==9.2.8 || ==9.4.8 || ==9.6.6 || ==9.8.4 || ==9.10.1 || ==9.12.1

extra-source-files:
    README.md
  , example/server/*.hs
  , example/src/*.hs
  , example/test/*.hs
  , example/*.cabal
  , example/swagger.json
  , example/LICENSE
extra-doc-files:
    CHANGELOG.md
  , example/src/*.hs
  , example/test/*.hs

source-repository head
  type:     git
  location: https://github.com/haskell-servant/servant.git
  subdir:   servant-openapi3

library
  ghc-options:         -Wall -Wunused-packages
  exposed-modules:
    Servant.OpenApi
    Servant.OpenApi.Test
    Servant.OpenApi.TypeLevel

    -- Internal modules
    Servant.OpenApi.Internal
    Servant.OpenApi.Internal.Orphans
    Servant.OpenApi.Internal.Test
    Servant.OpenApi.Internal.TypeLevel
    Servant.OpenApi.Internal.TypeLevel.API
    Servant.OpenApi.Internal.TypeLevel.Every
    Servant.OpenApi.Internal.TypeLevel.TMap
  hs-source-dirs:      src
  build-depends:       aeson                     >=2.2      && <2.4
                     , aeson-pretty              >=0.8.9    && <0.9
                     , base                      >=4.16.4   && <4.23
                     , base-compat               >=0.12     && <0.15
                     , bytestring                >=0.11     && <0.13
                     , http-media                >=0.7.1.3  && <0.9
                     , lens                      >=5.3.6    && <5.4
                     , servant                   >=0.20.3   && <0.21
                     , servant-server            >=0.20.3   && <0.21
                     , singleton-bool            >=0.1.6    && <0.2
                     , openapi3                  >=3.2.5    && <3.3
                     , text                      >=1.2.5.0  && <3

                     , hspec                     >=2.11     && <2.12
                     , QuickCheck                >=2.18     && <2.19
  default-language:    Haskell2010

test-suite spec
  ghc-options:      -Wall -Wunused-packages
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          Spec.hs
  build-tool-depends: hspec-discover:hspec-discover >=2.11  && <2.12
  build-depends:    base
                  , aeson
                  , hspec
                  , lens
                  , servant
                  , servant-openapi3
                  , openapi3
                  , text
                  , time
  other-modules:
    Servant.OpenApiSpec
  default-language: Haskell2010