packages feed

dataframe-1.1.2.1: dataframe.cabal

cabal-version:      2.4
name:               dataframe
version:            1.1.2.1

synopsis: A fast, safe, and intuitive DataFrame library.

description: A fast, safe, and intuitive DataFrame library for exploratory data analysis.

bug-reports: https://github.com/mchav/dataframe/issues
license:            MIT
license-file:       LICENSE
author:             Michael Chavinda
maintainer:         mschavinda@gmail.com

copyright: (c) 2024-2025 Michael Chavinda
category: Data
tested-with: GHC ==9.4.8 || ==9.6.7 || ==9.8.4 || ==9.10.3 || ==9.12.2
extra-doc-files: CHANGELOG.md README.md
extra-source-files: cbits/arrow_abi.h
                    cbits/dataframe_arrow.h
                    cbits/rts_init.c
                    tests/data/typing/texts.txt
                    tests/data/typing/texts_with_empties.txt
                    tests/data/typing/texts_with_empties_and_nullish.txt
                    data/titanic/*.csv
                    data/sharded/*.parquet
                    tests/data/*.csv
                    tests/data/*.tsv
                    tests/data/*.parquet
                    tests/data/unstable_csv/*.csv
                    tests/data/unstable_csv/*.tsv
                    -- tests/data/*.md
                    -- tests/data/*.bin
                    -- tests/data/*.json
                    -- tests/data/*.txt
                    -- tests/data/*.encrypted

source-repository head
  type:     git
  location: https://github.com/mchav/dataframe

common warnings
    ghc-options:
        -Wall

library
    import: warnings
    default-extensions: Strict
    exposed-modules: DataFrame,
                    DataFrame.Lazy,
                    DataFrame.Functions,
                    DataFrame.Synthesis,
                    DataFrame.Display.Web.Plot,
                    DataFrame.Internal.Types,
                    DataFrame.Internal.Expression,
                    DataFrame.Internal.Grouping,
                    DataFrame.Internal.Interpreter,
                    DataFrame.Internal.Nullable,
                    DataFrame.Internal.Parsing,
                    DataFrame.Internal.Column,
                    DataFrame.Internal.Binary,
                    DataFrame.Internal.Statistics,
                    DataFrame.Display.Terminal.PrettyPrint,
                    DataFrame.Display.Terminal.Colours,
                    DataFrame.Internal.DataFrame,
                    DataFrame.Internal.Row,
                    DataFrame.Internal.Schema,
                    DataFrame.Errors,
                    DataFrame.Operations.Core,
                    DataFrame.Operations.Join,
                    DataFrame.Operations.Merge,
                    DataFrame.Operators,
                    DataFrame.Operations.Permutation,
                    DataFrame.Operations.Subset,
                    DataFrame.Operations.Statistics,
                    DataFrame.Operations.Transformations,
                    DataFrame.Operations.Typing,
                    DataFrame.Operations.Aggregation,
                    DataFrame.Display,
                    DataFrame.Display.Terminal.Plot,
                    DataFrame.IO.CSV,
                    DataFrame.IO.JSON,
                    DataFrame.IO.Parquet,
                    DataFrame.IO.Parquet.Binary,
                    DataFrame.IO.Parquet.Dictionary,
                    DataFrame.IO.Parquet.Levels,
                    DataFrame.IO.Parquet.Thrift,
                    DataFrame.IO.Parquet.ColumnStatistics,
                    DataFrame.IO.Parquet.Compression,
                    DataFrame.IO.Parquet.Encoding,
                    DataFrame.IO.Parquet.Page,
                    DataFrame.IO.Parquet.Seeking,
                    DataFrame.IO.Parquet.Time,
                    DataFrame.IO.Parquet.Types,
                    DataFrame.Lazy.IO.CSV,
                    DataFrame.Lazy.IO.Binary,
                    DataFrame.Lazy.Internal.DataFrame,
                    DataFrame.Lazy.Internal.LogicalPlan,
                    DataFrame.Lazy.Internal.PhysicalPlan,
                    DataFrame.Lazy.Internal.Optimizer,
                    DataFrame.Lazy.Internal.Executor,
                    DataFrame.Monad,
                    DataFrame.DecisionTree,
                    DataFrame.Typed.Types,
                    DataFrame.Typed.Schema,
                    DataFrame.Typed.Freeze,
                    DataFrame.Typed.Access,
                    DataFrame.Typed.Operations,
                    DataFrame.Typed.Join,
                    DataFrame.Typed.Aggregate,
                    DataFrame.Typed.TH,
                    DataFrame.Typed.Expr,
                    DataFrame.Typed.Lazy,
                    DataFrame.Typed
    build-depends:    base >= 4 && <5,
                      deepseq >= 1 && < 2,
                      aeson >= 0.11.0.0 && < 3,
                      array >= 0.5.4.0 && < 0.6,
                      attoparsec >= 0.12 && < 0.15,
                      bytestring >= 0.11 && < 0.13,
                      bytestring-lexing >= 0.5 && < 0.6,
                      cassava >= 0.1 && < 1,
                      containers >= 0.6.7 && < 0.9,
                      directory >= 1.3.0.0 && < 2,
                      granite ^>= 0.4,
                      hashable >= 1.2 && < 2,
                      process ^>= 1.6,
                      snappy-hs ^>= 0.1,
                      random >= 1.2 && < 2,
                      regex-tdfa >= 1.3.0 && < 2,
                      scientific >=0.3.1 && <0.4,
                      template-haskell >= 2.0 && < 3,
                      text >= 2.0 && < 3,
                      these >= 1.1 && < 2,
                      time >= 1.12 && < 2,
                      unordered-containers >= 0.1 && < 1,
                      vector ^>= 0.13,
                      vector-algorithms ^>= 0.9,
                      zlib >= 0.5 && < 1,
                      zstd >= 0.1.2.0 && < 0.2,
                      stm >= 2.5 && < 3,
                      filepath >= 1.4 && < 2,
                      Glob >= 0.10 && < 1,
                      http-conduit >= 2.3 && < 3,
                      streamly-core >= 0.2.3 && < 0.4,
                      streamly-bytestring >= 0.2.0 && < 0.4
    hs-source-dirs:   src
    default-language: Haskell2010

foreign-library dataframe-arrow
    type:             native-shared
    hs-source-dirs:   ffi
    other-modules:    DataFrame.FFI
                      DataFrame.IO.Arrow
                      DataFrame.IR
    build-depends:
        base        >= 4   && < 5,
        dataframe   ^>= 1.1,
        text        >= 2.0 && < 3,
        aeson       >= 0.11 && < 3,
        bytestring  >= 0.11 && < 0.13,
        containers  >= 0.6.7 && < 0.9,
        vector      ^>= 0.13
    c-sources:        cbits/rts_init.c
    include-dirs:     cbits
    includes:         arrow_abi.h dataframe_arrow.h
    install-includes: arrow_abi.h dataframe_arrow.h
    ghc-options:      -threaded
    default-language: Haskell2010

executable dataframe-benchmark-example
    import: warnings
    main-is: Benchmark.hs
    build-depends:    base >= 4 && < 5,
                      dataframe ^>= 1.1,
                      random >= 1 && < 2,
                      time >= 1.12 && < 2,
                      vector ^>= 0.13,
    hs-source-dirs:   app
    default-language: Haskell2010
    ghc-options: -rtsopts -threaded -with-rtsopts=-N

executable synthesis
    import: warnings
    main-is: Synthesis.hs
    build-depends:    base >= 4 && < 5,
                      dataframe ^>= 1.1,
                      random >= 1 && < 2,
                      text >= 2.0 && < 3
    hs-source-dirs:   app
    default-language: Haskell2010
    ghc-options: -rtsopts -threaded -with-rtsopts=-N

executable dataframe
    import: warnings
    main-is: Main.hs
    build-depends:    base >= 4 && < 5,
                      directory >= 1.3.0.0 && < 2,
                      filepath >= 1.4 && < 2,
                      process >= 1.6 && < 2,
                      time >= 1.12 && < 2
    if !os(windows)
        build-depends: unix >= 2 && < 3
    hs-source-dirs:   app
    default-language: Haskell2010
    ghc-options: -rtsopts -threaded -with-rtsopts=-N

executable lazy-bench
    import: warnings
    main-is: LazyBenchmark.hs
    build-depends:    base >= 4 && < 5,
                      bytestring >= 0.11 && < 0.13,
                      containers >= 0.6.7 && < 0.9,
                      dataframe ^>= 1.1,
                      directory >= 1.3.0.0 && < 2,
                      random >= 1 && < 2,
                      text >= 2.0 && < 3,
                      time >= 1.12 && < 2,
    hs-source-dirs:   app
    default-language: Haskell2010
    ghc-options: -rtsopts -threaded -with-rtsopts=-N

benchmark dataframe-benchmark
    import: warnings
    type: exitcode-stdio-1.0
    main-is: Main.hs
    hs-source-dirs: benchmark
    build-depends: base >= 4 && < 5,
                   criterion >= 1 && < 2,
                   process >= 1.6 && < 2,
                   dataframe ^>= 1.1,
                   random >= 1 && < 2,
    default-language: Haskell2010
    ghc-options:
      -threaded
      -rtsopts
      -with-rtsopts=-N

test-suite tests
    import: warnings
    type: exitcode-stdio-1.0
    main-is: Main.hs
    other-modules: Assertions,
                   DecisionTree,
                   Functions,
                   GenDataFrame,
                   Internal.Parsing,
                   IO.CSV,
                   IO.JSON,
                   Operations.Aggregations,
                   Operations.Apply,
                   Operations.Core,
                   Operations.Derive,
                   Operations.Filter,
                   Operations.GroupBy,
                   Operations.InsertColumn,
                   Operations.Join,
                   Operations.Merge,
                   Operations.Nullable,
                   Operations.Provenance,
                   Operations.ReadCsv,
                   Operations.Window,
                   Operations.WriteCsv,
                   Operations.Shuffle,
                   Operations.Sort,
                   Operations.Subset,
                   Operations.Statistics,
                   Operations.Take,
                   Operations.Typing,
                   LazyParquet,
                   Parquet,
                   ParquetTestData,
                   Properties,
                   Monad
    build-depends:  base >= 4 && < 5,
                    bytestring >= 0.11 && < 0.13,
                    dataframe ^>= 1.1,
                    HUnit ^>= 1.6,
                    QuickCheck >= 2 && < 3,
                    random-shuffle >= 0.0.4 && < 1,
                    random >= 1 && < 2,
                    text >= 2.0 && < 3,
                    these >= 1.1 && < 2,
                    time >= 1.12 && < 2,
                    vector ^>= 0.13,
                    containers >= 0.6.7 && < 0.9
    hs-source-dirs: tests
    default-language: Haskell2010