The complete usage guide for parquet-fortran, beyond the quick-start overview on the front
page. For the full per-procedure API reference (every public
type/function/subroutine under use parquet), see the modules and
procedures listings generated from source.
One use parquet brings in the whole library — readers and writers, schemas and MAML, the
parquet_table container, the parquet_column foundation and its PK_* kind constants, compact
string columns, the date/time/timestamp types, sorting, random numbers and sampling, and the
process-global settings. Every page below assumes that single import. The individual modules
(parquet_io, parquet_tables, parquet_columns, parquet_strings, parquet_temporal,
parquet_sorting, parquet_argsort, parquet_sampling, parquet_random, parquet_settings,
parquet_version, parquet_maml_base) are still there and can be named directly when you want a
narrower import — see Choosing a module for what each one costs
to compile against and which of them are covered by the library's API stability promise.
parquet_core is the exception in the other direction: it is internal and is covered by no promise.
Because parquet re-exports rather than defines, the generated
procedures and types listings are the reliable
place to look a name up, rather than the parquet module's own page.
Parquet in, parquet out. This library reads and writes parquet and no other format. Any conversion — FITS, CSV, HDF5, anything else — happens outside it, before the library is called or after it returns. That is a settled scope decision rather than a gap waiting to be filled.
The guide is organised into six groups, ordered roughly by what a new user needs first; reference/advanced material is last. If you only want a file's columns as arrays with the least ceremony, skip straight to Whole tables in memory — it is the easiest entry point in the library.
parquet_table layer: a whole
file as one object, columns by name as ordinary arrays or zero-copy pointers, read only when
touched — or built in memory and written out.All 24 pages, in reading order. (This list, each group's own page list and the
ordered_subpage: frontmatter are kept consistent by
tools/check_source_conventions.py, which fails the CI lint stage when they drift.)
Reading and writing files
Data types
parquet_string_columnSchemas, metadata and quality control
schema%init and schema%add_fieldWhole tables in memory
Utilities and code generation
pf_sort/pf_argsortpf_random_atOperating the library