package ppx_csv_conv
All checked builds passInstall
dune-project
Dependency
Authors
Maintainers
Sources
sha256=069430f81559bfeca188da347f0e3aa7827bf69d8ac90e17d729c9d7e55fb4e5
Description
Part of the Jane Street's PPX rewriters collection.
Added to opam-repository:
README
ppx_csv_conv
Generate functions to read/write records in csv format.
ppx_csv_conv generates functions to output some records as a csv file, and read the records back from a list of strings coming from a csv file or a database query.
Usage
Annotate the type: [@@deriving fields, csv]
type t = {
field : ...
....
} [@@deriving fields, csv]Csv uses fields so fields is also required. Now the functions listed in Csvfields.Csv.Csvable are included in the module, including conversion to and from string lists, dumping to files, and loading files.
The Csvfields.Csv module provides the Atom functor, which accepts a Stringable module to produce the necessary functions for recursive calls:
module Date = struct
include Date
include (Csvfields.Csv.Atom (Date) : Csvfields.Csv.Csvable with type t := t)
end
type t = {
a : float;
b : string;
c : int;
e : Date.t;
} [@@deriving fields, csv]Generate code/functions with types:
include (Csvfields.Csv.Csvable with type t := t)(Known) limitations:
- No
option,ref, orlazy_ttypes allowed. - No variant types ... nothing other than primitive types and records. You should create your own stringable version of those types and use the
Atomfunctor. - The name of the type must be
t.
Dependencies (7)
-
ppxlib
>= "0.28.0" -
dune
>= "3.11.0" -
ppx_fields_conv
>= "v0.17" & < "v0.18~" -
ppx_conv_func
>= "v0.17" & < "v0.18~" -
csvfields
>= "v0.17" & < "v0.18~" -
base
>= "v0.17" & < "v0.18~" -
ocaml
>= "5.1.0"
Dev Dependencies
None
Optional Dependencies
None
Conflicts
None
Build status
Results of building ppx_csv_conv with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.
Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.
| Version | OCaml 4.11 | OCaml 4.14 | OCaml 5.2 | OCaml 5.4 | OCaml 5.5 |
|---|---|---|---|---|---|
| v0.17.0 (this version) | n/a | n/a | good | good | good |
| v0.16.0 | n/a | good | good | n/a | n/a |
| v0.15.0 | good | good | n/a | n/a | n/a |
- good Package successfully built
- partial One of the dependencies failed to build
- bad Package failed to build
- n/a Package is not available in this environment
- internal Internal failure