packages feed

hgg-0.1.0.0: hgg.cabal

cabal-version:      3.0
name:               hgg
version:            0.1.0.0
extra-doc-files:    CHANGELOG.md
                    README.md
synopsis:           A grammar of graphics plotting library for Haskell
description:
  The batteries-included entry point for hgg, a Haskell-native declarative
  plotting library in the grammar-of-graphics tradition (ggplot2 /
  Vega-Lite). Plots are built by monoid composition and can be bound to
  dataframes by column name.
  .
  Depending on this package brings in the core (@hgg-core@), the dataframe
  binding (@hgg-frame@) and the SVG backend (@hgg-svg@), and exposes a
  single module "Graphics.Hgg" — one @import Graphics.Hgg@ gives you the
  Easy API, the full grammar API, the @df |>> spec@ binding and SVG save
  functions.
  .
  > import Graphics.Hgg
  >
  > main :: IO ()
  > main = quickScatter "scatter.svg" [1,2,3,4,5] [1,4,9,16,25]
  .
  Optional backends are pulled in via manual cabal flags: @pdf@
  (@hgg-pdf@), @png@ (@hgg-rasterific@), @latex@ (@hgg-latex@), @3d@
  (@hgg-3d@). Their modules (e.g. "Graphics.Hgg.Backend.PDF") are imported
  from the backend packages directly. Alternatively, depend on the backend
  packages themselves — this umbrella is a convenience, not a requirement.
license:            BSD-3-Clause
homepage:           https://github.com/frenzieddoll/hgg
license-file:       LICENSE
author:             Toshiaki Honda
maintainer:         frenzieddoll@gmail.com
copyright:          2026 Aelysce Project (Toshiaki Honda)
category:           Graphics
build-type:         Simple

flag pdf
  description: Pull in the PDF backend (hgg-pdf, needs a LaTeX engine at runtime)
  manual:      True
  default:     False

flag png
  description: Pull in the PNG backend (hgg-rasterific)
  manual:      True
  default:     False

flag latex
  description: Pull in the LaTeX (TikZ) backend (hgg-latex)
  manual:      True
  default:     False

flag 3d
  description: Pull in 3D plotting (hgg-3d)
  manual:      True
  default:     False

common warnings
  ghc-options:        -Wall -Wcompat -Widentities -Wincomplete-record-updates
                      -Wincomplete-uni-patterns -Wpartial-fields
                      -Wredundant-constraints

library
  import:           warnings
  exposed-modules:  Graphics.Hgg
  hs-source-dirs:   src
  build-depends:    base       >= 4.17 && < 5
                  , hgg-core  == 0.1.0.0
                  , hgg-frame == 0.1.0.0
                  , hgg-svg   == 0.1.0.0
  if flag(pdf)
    build-depends:  hgg-pdf == 0.1.0.0
  if flag(png)
    build-depends:  hgg-rasterific == 0.1.0.0
  if flag(latex)
    build-depends:  hgg-latex == 0.1.0.0
  if flag(3d)
    build-depends:  hgg-3d == 0.1.0.0
  default-language: Haskell2010