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