packages feed

Frames 0.1.4 → 0.1.6

raw patch · 6 files changed

+38/−27 lines, 6 filesdep +directorydep ~http-clientdep ~pipesdep ~readable

Dependencies added: directory

Dependency ranges changed: http-client, pipes, readable, template-haskell, text, transformers, vector

Files

CHANGELOG.md view
@@ -1,3 +1,8 @@+# 0.1.6++Re-export `Frames.CSV.declareColumn` from `Frames`. This makes it much+easier to manually define column types.+ # 0.1.4  Use `microlens` instead of `lens-family-core` for demos.
Frames.cabal view
@@ -1,5 +1,5 @@ name:                Frames-version:             0.1.4+version:             0.1.6 synopsis:            Data frames For working with tabular data files description:         User-friendly, type safe, runtime efficient tooling for                      working with tabular data deserialized from@@ -48,7 +48,7 @@                        TypeOperators, ConstraintKinds, StandaloneDeriving,                        UndecidableInstances, ScopedTypeVariables,                        OverloadedStrings-  build-depends:       base >=4.7 && <4.10,+  build-depends:       base >=4.8 && <4.10,                        ghc-prim >=0.3 && <0.6,                        primitive >= 0.6 && < 0.7,                        text >= 1.1.1.0,@@ -68,7 +68,7 @@     buildable: False   main-is: GetData.hs   if flag(demos)-    build-depends: base, bytestring, http-client, zip-archive+    build-depends: base, bytestring, http-client >= 0.4.3, zip-archive, directory   hs-source-dirs: data   default-language: Haskell2010   ghc-options: -Wall@@ -118,7 +118,8 @@                    pipes >= 4.1.5 && < 4.3   hs-source-dirs: demo   default-language: Haskell2010-  ghc-options: -O2 -fllvm+  ghc-options: -O2+  -- ghc-options: -O2 -fllvm  executable tutorial   if !flag(demos)@@ -143,7 +144,10 @@                       pipes >= 4.1.5 && < 4.3   hs-source-dirs:   benchmarks   default-language: Haskell2010-  ghc-options:      -O2 -fllvm+  -- ghc-options:      -O2++  -- Use opt and llc found on PATH rather than the GHC settings file+  ghc-options:      -O2 -pgmlo opt -pgmlc llc -fllvm  -- A demonstration of dealing with missing data. Provided for source -- code and experimentation rather than a useful executable.
benchmarks/BenchDemo.hs view
@@ -2,9 +2,8 @@ -- | Demonstration of streaming data processing. Try building with -- cabal (@cabal build benchdemo@), then running in bash with -- something like,--- +-- -- @$ /usr/bin/time -l dist/build/benchdemo/benchdemo 2>&1 | head -n 4@-import Control.Applicative import qualified Control.Foldl as F import Frames import Pipes.Prelude (fold)
data/GetData.hs view
@@ -3,38 +3,40 @@ import qualified Data.ByteString.Lazy.Char8 as B import Data.Maybe (fromJust) import Network.HTTP.Client+import System.Directory (createDirectoryIfMissing)  getPrestige :: IO ()-getPrestige = withManager defaultManagerSettings $ \m ->-              httpLbs req m >>=-                B.writeFile "data/prestige.csv" . responseBody-  where Just req = parseUrl "http://vincentarelbundock.github.io/Rdatasets/csv/car/Prestige.csv"+getPrestige = do m <- newManager defaultManagerSettings+                 httpLbs req m >>=+                   B.writeFile "data/prestige.csv" . responseBody+  where Just req = parseUrlThrow "http://vincentarelbundock.github.io/Rdatasets/csv/car/Prestige.csv"  getFLinsurance :: IO ()-getFLinsurance = withManager defaultManagerSettings $ \m -> -                 httpLbs req m >>=-                   B.writeFile "data/FL2.csv"-                 . B.map fixup . fromEntry . fromJust-                 . findEntryByPath "FL_insurance_sample.csv"-                 . toArchive-                 . responseBody+getFLinsurance = do m <- newManager defaultManagerSettings+                    httpLbs req m >>=+                        B.writeFile "data/FL2.csv"+                      . B.map fixup . fromEntry . fromJust+                      . findEntryByPath "FL_insurance_sample.csv"+                      . toArchive+                      . responseBody   where fixup '\r' = '\n'         fixup c = c-        Just req = parseUrl "http://spatialkeydocs.s3.amazonaws.com/FL_insurance_sample.csv.zip"+        Just req = parseUrlThrow "http://spatialkeydocs.s3.amazonaws.com/FL_insurance_sample.csv.zip"  getAdultIncome :: IO ()-getAdultIncome = withManager defaultManagerSettings $ \m ->-                 httpLbs req m >>=-                   B.writeFile "data/adult.csv"-                 . B.append colNames-                 . responseBody-  where Just req = parseUrl "http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"+getAdultIncome = do m <- newManager defaultManagerSettings+                    httpLbs req m >>=+                        B.writeFile "data/adult.csv"+                      . B.append colNames+                      . responseBody+  where Just req = parseUrlThrow "http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"         colNames = "age, workclass, fnlwgt, education, education-num, \                    \marital-status, occupation, relationship, race, sex, \                    \capital-gain, capital-loss, hours-per-week, \                    \native-country\n"  main :: IO ()-main = do getPrestige+main = do createDirectoryIfMissing False "data"+          getPrestige           getFLinsurance           getAdultIncome
demo/Plot.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE DataKinds, FlexibleContexts, TemplateHaskell #-}+module Main where import qualified Data.Vector.Unboxed as V import Diagrams.Backend.Rasterific import Diagrams (dims2D, width, height)
src/Frames.hs view
@@ -25,7 +25,7 @@ import Frames.Col ((:->)(..)) import Frames.ColumnUniverse import Frames.CoRec (Field, onField, onCoRec)-import Frames.CSV (readTable, readTableMaybe, readTable', +import Frames.CSV (readTable, readTableMaybe, readTable', declareColumn,                    tableType, tableTypes, tableType', tableTypes') import Frames.Exploration import Frames.Frame