stdf alternatives and similar packages
Based on the "Data" category.
Alternatively, view stdf alternatives based on common mentions on social networks and blogs.
-
semantic-source
Parsing, analyzing, and comparing source code across many languages -
text
Haskell library for space- and time-efficient operations over Unicode text. -
code-builder
Packages for defining APIs, running them, generating client code and documentation. -
compendium-client
Mu (μ) is a purely functional framework for building micro services. -
cassava
A CSV parsing and encoding library optimized for ease of use and high performance -
resource-pool
A high-performance striped resource pooling implementation for Haskell -
primitive
This package provides various primitive memory-related operations. -
discrimination
Fast linear time sorting and discrimination for a large class of data types -
dependent-sum
Dependent sums and supporting typeclasses for comparing and displaying them -
reflection
Reifies arbitrary Haskell terms into types that can be reflected back into terms -
dependent-map
Dependently-typed finite maps (partial dependent products) -
streaming
An optimized general monad transformer for streaming applications, with a simple prelude of functions -
text-icu
This package provides the Haskell Data.Text.ICU library, for performing complex manipulation of Unicode text. -
orgmode-parse
Attoparsec parser combinators for parsing org-mode structured text! -
scientific
Arbitrary-precision floating-point numbers represented using scientific notation
Build time-series-based applications quickly and at scale.
Do you think we are missing an alternative of stdf or a related project?
Popular Comparisons
README
Data.Stdf
Structured Test Data Format (STDF) is used to log test data by semiconductor automated test equipment (ATE).
There's a couple of good, open-source libraries for parsing STDF, notably PyStdf.
Latest version: 0.2
The Data.Stdf advantage
- Haskell
- Fast
Install
cabal install stdf
Or for the latest revision, clone and build from here.
Usage
Here's an example of converting STDF to JSON. (What else would you want to do with it?)
import Data.Stdf
import qualified Data.ByteString.Lazy.Char8 as BL
import Data.Aeson
-- unparsed records have type Raw for the time being
notRaw :: Rec -> Bool
notRaw (Raw _) = False
notRaw _ = True
main = do
raw <- BL.readFile "test.stdf"
let recs = parse raw
let goodRecs = filter notRaw recs
mapM_ (BL.putStrLn . encode) goodRecs
Included Examples Applications
- WaferMap -- prints a pretty wafermap like this:
$ Examples/WaferMap test.stdf
File: test.stdf
. . . . . 11 11 11 11 11 . . . . . .
. . . 11 11 11 11 6 1 6 11 11 11 . . .
. . 11 11 1 11 11 11 1 11 1 1 11 11 . .
. 1 1 1 11 1 1 1 1 6 6 6 1 1 11 .
203 11 11 11 11 11 1 6 11 1 1 11 1 11 11 .
11 11 11 11 1 11 6 1 1 1 11 11 11 11 11 11
11 11 11 11 1 1 11 1 11 6 1 11 1 11 11 11
203 11 11 1 1 11 6 1 11 212 6 1 11 11 11 .
. 200 6 11 1 1 1 1 1 6 11 1 1 11 11 .
. . 11 11 11 11 1 1 1 11 1 1 1 11 . .
. . . 11 11 1 11 11 1 11 11 11 11 . . .
. . . . . 11 11 11 11 200 212 . . . . .
- StdfToJson -- prints each Stdf record as a one-line JSON object for easy importing into other languages for further processing
- StdfToYaml -- Like StdfToJson but it prints a YAML document. YAML is vastly slower and more human-readable than JSON.
Performance
Performance is very good but can be 50% better if you build with -O2
.
However compiling takes forever with -O2
.
Not Implemented
Non-Intel floating-point and endianness
It really blows my mind that Stdf expects the parser to support any N CPU bit encodings. I won't do it.
Some tricky records and fields
There may be a few little-used fields getting dropped. Since I only have Advantest 93k STDF files to test it with, some things haven't gotten much QA.