General file read/write libraries in Julia. See also official documentation about the filesystem and Julia IO organization.

General packages

  • FileIO.jl : general dispatcher for save and load, support for recognizing magic bytes and file-extensions.
  • FilePaths.jl :  A type based approach to working with filesystem paths.
  • SerialPorts.jl : SerialPort IO streams in Julia.
  • StructIO.jl : Generates IO methods (pack, unpack) from structure definitions.
  • ULID.jl : The ulid() function generates Universally Unique Lexicographically Sortable Identifiers (ULIDs).

Object serialization

Similar to Python’s pickle. See also the official documentation on serialization.

  • BSON.jl : A Julia package for working with the Binary JSON serialization format, that can be used as a general store for Julia data structures.
  • CBOR.jl : A Concise Binary Object Representation (RFC 7049) Julia package for working with the CBOR data format, providing straightforward encoding and decoding for Julia types.
  • JLD.jl : High-level interface to HDF5 for saving and loading Julia variables and types.
  • JLD2.jl : Next-generation successor to JLD. HDF5-compatible file format in pure Julia.

File Compression

File Formats


  • Avro.jl : A pure Julia implementation of the Apache Avro data standard
  • BDF.jl : Module to read Biosemi BDF files with the Julia programming language.
  • BEncode.jl : A Julia library for BEncode metadata files used for encoding BitTorrent storage and transmission of loosely structured data.
  • FlatBuffers.jl : A package to support Julia code generated by Google’s flatbuffers compiler flatc.
  • FortranFiles.jl : Read and write “unformatted” Fortran data, i.e. binary data interspersed with metadata about data records.
  • NPZ.jl : Julia package that provides support for reading and writing Numpy .npy and .npz files.
  • RawFile.jl by @azraq27 : A simple, fast file format for storing numeric arrays in .raw files.
  • SASLib.jl : Provide a Julia library for reading SAS7BDAT data sets.
  • UFFFiles.jl : read (and write in the future) Universal File Format (UFF) files, commonly used in engineering applications.
  • YAML.jl : read and write .yml files.

INI files

  • ConfParser.jl : Julia package for parsing configuration (e.g., *.ini) files.
  • IniFile.jl : Reading and writing Windows-style INI files.

JSON files

  • LazyJSON.jl : it does not process any part of the JSON text until values are requested through the AbstractVector and AbstractDict interfaces.
  • JSONTables.jl : JSON3.jl + Tables.jl.
  • JSON.jl : JSON parsing and printing.
  • JSON3.jl : Yet another JSON package for speed and slick struct mapping.

XML files

  • XMLDict.j : This package implements a simple Associative interface for XML documents.
  • EzXML.jl : XML/HTML handling tools for primates.
  • LibExpat.jl : A Julia wrapper for libexpat.
  • LightXML.jl : A light-weight Julia package for XML based on libxml2.