packages feed

hanalyze-plot-0.2.0.1: hanalyze-plot.cabal

cabal-version: 3.0
name:          hanalyze-plot
version:       0.2.0.1
synopsis:      Static-plot integration for hanalyze (toPlot / Plottable)
description:
    The integration layer between hanalyze and the sibling
    hgg project. It provides the Plottable class, whose toPlot turns
    a fitted analysis model into an hgg VisualSpec that can be
    layered with other marks and rendered to static SVG / PDF / PNG. Instances
    cover the linear family (LM / GLM / weighted LM), Bayesian and HBM results
    (chains, forest plots, posterior predictive checks, model DAGs), robust
    and quantile regression, smoothing and kernel methods, and the generic fit
    wrappers.
    .
    Unlike the other layers this package sits above the umbrella package
    hanalyze (the reverse direction would close a package cycle) and
    depends on the sibling hgg packages, so it is built through the
    dedicated build root cabal.project.plot rather than the default
    cabal.project. For Vega-Lite figures and HTML reports see
    hanalyze-viz instead. See README.md for the module map and a
    usage example.
license:       BSD-3-Clause
author:        Toshiaki Honda
maintainer:    frenzieddoll@gmail.com
copyright:     2026 Aelysce Project (Toshiaki Honda)
category:      Math, Statistics, Numeric, Machine Learning
build-type:    Simple
tested-with:   GHC == 9.6.7
extra-source-files:
    README.md
    README.ja.md

common warnings
  ghc-options: -Wall -Wcompat -Widentities -Wredundant-constraints

-- -O2 は分割前と同一 (性能変更と構造変更を混ぜない、 層別 -O 調整は 106.5 後の別 Phase)
common opt
  ghc-options: -O2 -funbox-strict-fields

library
  import:           warnings, opt
  hs-source-dirs:   src
  default-language: GHC2021
  exposed-modules:
    Hanalyze.Plot
    Hanalyze.Plot.Bayes
    Hanalyze.Plot.Core
    Hanalyze.Plot.Linear
    Hanalyze.Plot.ML
    Hanalyze.Plot.Robust
    Hanalyze.Plot.Smooth
    Hanalyze.Plot.Wrappers
  build-depends:
      base                 >= 4.14 && < 5
    , array                >= 0.5  && < 0.6
    , async                >= 2.2  && < 2.3
    , bytestring           >= 0.11 && < 0.13
    , cassava              >= 0.5  && < 0.6
    , containers           >= 0.6  && < 0.8
    , filepath             >= 1.4  && < 1.6
    , hmatrix              >= 0.20 && < 0.22
    , hvega                >= 0.12 && < 0.13
    , mwc-random           >= 0.15 && < 0.16
    , primitive            >= 0.7  && < 0.10
    , deepseq              >= 1.4  && < 1.6
    , parallel             >= 3.2  && < 3.3
    , process              >= 1.6  && < 1.8
    , statistics           >= 0.16 && < 0.17
    , text                 >= 1.2  && < 2.2
    , aeson                >= 2.0  && < 2.3
    , directory            >= 1.3  && < 1.4
    , temporary            >= 1.3  && < 1.4
    , unordered-containers >= 0.2  && < 0.3
    , ad                   >= 4.4  && < 4.6
    , reflection           >= 2.1  && < 2.2
    , vector               >= 0.12 && < 0.14
    , dataframe-core        ^>= 1.1
    , dataframe-operations  >= 1.1.1 && < 1.2
    , dataframe-csv         ^>= 1.0.2
    , dataframe-json        ^>= 1.0
    , dataframe-parquet     ^>= 1.1
    , massiv               >= 1.0  && < 1.1
    , vector-algorithms    >= 0.9  && < 0.10
    , megaparsec           >= 9.0  && < 9.7
    , parser-combinators   >= 1.3  && < 1.4
    , unicode-transforms   >= 0.4  && < 0.5
    , regex-tdfa           >= 1.3  && < 1.4
    , regex-base           >= 0.94 && < 0.95
    , hanalyze       == 0.2.0.1
    , hgg-core     >= 0.2  && < 0.3
    , hgg-svg      >= 0.2  && < 0.3
    , hgg-3d       >= 0.2  && < 0.3
    , hgg-custom   >= 0.2  && < 0.3

-- Phase 46 (hgg 統合) のテスト。 Phase 106 で umbrella から移設
-- (umbrella component が本 package に依存すると package 循環になるため)。
test-suite hanalyze-plot-test
  import:           warnings
  type:             exitcode-stdio-1.0
  main-is:          Spec.hs
  hs-source-dirs:   test-plot
  default-language: GHC2021
  build-depends:
      base
    , hspec              >= 2.10 && < 2.12
    , hmatrix
    , vector
    , containers
    , text
    , mwc-random
    , dataframe-core        ^>= 1.1
    , hanalyze
    , hanalyze-plot
    , hgg-core
    , hgg-3d
    , hgg-custom
    , aeson