packages feed

dataframe-parquet-th 1.0.1.2 → 1.1.0.0

raw patch · 2 files changed

+36/−6 lines, 2 filesdep ~containersdep ~dataframe-coredep ~dataframe-parquet

Dependency ranges changed: containers, dataframe-core, dataframe-parquet, dataframe-th

Files

dataframe-parquet-th.cabal view
@@ -1,6 +1,6 @@-cabal-version:      2.4+cabal-version:      3.4 name:               dataframe-parquet-th-version:            1.0.1.2+version:            1.1.0.0  synopsis:           Parquet-file-based Template Haskell splices for the dataframe ecosystem. description:@@ -28,11 +28,12 @@     import:             warnings     exposed-modules:                         DataFrame.TH.Parquet+                        DataFrame.Typed.TH.Parquet     build-depends:      base >= 4 && < 5,-                        containers >= 0.6.7 && < 0.9,-                        dataframe-core ^>= 1.1,-                        dataframe-parquet ^>= 1.1,-                        dataframe-th ^>= 1.0,+                        containers >= 0.6.7 && < 0.10,+                        dataframe-core:internal >= 2.0 && < 2.1,+                        dataframe-parquet >= 1.2 && < 1.3,+                        dataframe-th >= 2.0 && < 2.1,                         directory >= 1.3.0.0 && < 2,                         filepath >= 1.4 && < 2,                         Glob >= 0.10 && < 1,
+ src/DataFrame/Typed/TH/Parquet.hs view
@@ -0,0 +1,29 @@+{- |+Module      : DataFrame.Typed.TH.Parquet+License     : MIT++Parquet-file-based typed-schema derivation. The typed counterpart of+'DataFrame.TH.Parquet.declareColumnsFromParquetFile': instead of binding one+@Expr@ per column, it generates a type synonym describing the file's schema,+suitable for 'DataFrame.Typed.freeze' / @readParquet \@Schema@.++@+deriveSchemaFromParquetFile \"Trips\" \"trips.parquet\"+-- generates:  type Trips = '[Column \"id\" Int, Column \"fare\" Double, ...]+@+-}+module DataFrame.Typed.TH.Parquet (+    deriveSchemaFromParquetFile,+) where++import Control.Monad.IO.Class (liftIO)+import Language.Haskell.TH++import qualified DataFrame.IO.Parquet as Parquet+import DataFrame.Typed.TH.Records (deriveSchema)++-- | Derive a typed schema synonym from a Parquet file (or directory\/glob).+deriveSchemaFromParquetFile :: String -> String -> DecsQ+deriveSchemaFromParquetFile typeName path = do+    df <- liftIO (Parquet.readParquetFiles path)+    deriveSchema typeName df