🐫 MirageOS package documentation
MirageOS is a library operating system that constructs unikernels for secure, high-performance applications across a variety of cloud computing and mobile platforms. Code can be developed on a normal OS such as Linux or macOS, and then compiled into a standalone, specialised unikernel that runs under a Xen or KVM hypervisor.
This lets your services run more efficiently, securely and with finer control than with a full conventional software stack. MirageOS uses the OCaml language, with libraries that provide networking, storage and concurrency support that work under Unix during development, but become operating system drivers when being compiled for production deployment. The framework is fully event-driven using the Lwt  framework.
The MirageOS ecosystem provides a growing number of OCaml libraries that you can link into your application. Browse them here by name , by tag , the standard library  and the OCaml manual . You can contribute more libraries to this site by sending a pull request to the PACKAGES  file with the new packages.
This page was built on Thu Jul 23 09:27:37 BST 2020.
 
 Packages by namea b c d e f g h i j k l m n o p r s t u v w x y z  aalcotest  1.2.1  Alcotest is a lightweight and colourful test framework angstrom  0.14.1  Parser combinators built for speed and memory-efficiency arp  2.2.1  Address Resolution Protocol purely in OCaml asetmap  0.8.1  asn1-combinators  0.2.2  Embed typed ASN.1 grammars in OCaml astring  0.8.4  Alternative String module for OCaml async  v0.13.0  Monadic concurrency library async_kernel  v0.13.0  Monadic concurrency library async_rpc_kernel  v0.13.0  Platform-independent core of Async RPC library async_unix  v0.13.0  Monadic concurrency library atd  2.2.1  Parser for the ATD data format description language atdgen  2.2.1  Generates efficient JSON serializers, deserializers and validators atdgen-runtime  2.2.1  Runtime library for code generated by atdgen  bb0  0.0.1  Software construction and deployment kit base  v0.13.0  Full standard library replacement for OCaml base64  3.4.0  Base64 encoding for OCaml base_bigstring  v0.13.0  String type based on [Bigarray], for use in I/O and C-bindings base_quickcheck  v0.13.0  Randomized testing framework, designed for compatibility with Base bheap    bigarray-compat  1.0.0  Compatibility library to use Stdlib.Bigarray when possible bigarray-overlap  0.2.0  Bigarray.overlap bigstringaf  0.6.1  Bigstring intrinsics and fast blits based on memcpy/memmove bin_prot  v0.13.0  A binary protocol generator biniou  1.2.1  Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve bisect_ppx  2.4.1  Code coverage for OCaml bitv    bloomf  0.1.0  Efficient Bloom filters for OCaml bos  0.2.0   ccamomile  1.0.2  A Unicode library charInfo_width  1.1.0  Determine column width for a character charrua  1.2.2  DHCP wire frame encoder and decoder charrua-client  1.2.2  DHCP client implementation charrua-client-lwt  1.2.2  A DHCP client using lwt as effectful layer charrua-client-mirage  1.2.2  A DHCP client for MirageOS charrua-server  1.2.2  DHCP server checkseum  0.2.1  Adler-32, CRC32 and CRC32-C implementation in C and OCaml cmdliner  1.0.4  Declarative definition of command line interfaces for OCaml cohttp  2.5.3  An OCaml library for HTTP clients and servers cohttp-lwt  2.5.3  CoHTTP implementation using the Lwt concurrency library cohttp-lwt-unix  2.5.3  CoHTTP implementation for Unix and Windows using Lwt cohttp-mirage  2.5.3  CoHTTP implementation for the MirageOS unikernel conduit  2.1.0  A network connection establishment library conduit-lwt  2.1.0  A portable network connection establishment library using Lwt conduit-lwt-unix  2.2.2  A network connection establishment library for Lwt_unix conduit-mirage  2.2.1  A network connection establishment library for MirageOS core  v0.13.0  Industrial strength alternative to OCaml's standard library core_kernel  v0.13.0  Industrial strength alternative to OCaml's standard library cow  2.4.0  Caml on the Web cowabloga  0.5.0  Simple static blogging support cpuid  0.1.2  Detect CPU features crunch  3.2.0  Convert a filesystem into a static OCaml module cstruct  5.2.0  Access C-like structures directly from OCaml cstruct-lwt  5.2.0  Access C-like structures directly from OCaml cstruct-sexp  5.2.0  S-expression serialisers for C-like structures cstruct-unix  5.2.0  Access C-like structures directly from OCaml csv  2.4  A pure OCaml library to read and write CSV files ctypes     ddecompress  0.9.1  Implementation of Zlib in OCaml depyt  0.2.0  diet  0.4  Discrete Interval Encoding Trees digestif  0.9.0  Hashes implementations (SHA*, RIPEMD160, BLAKE2* and MD5) dispatch  0.4.1  Path-based dispatching for client- and server-side applications dns  4.6.1  An opinionated Domain Name System (DNS) library dns-client  4.6.1  Pure DNS resolver API dockerfile  6.6.0  Dockerfile eDSL in OCaml dockerfile-opam  6.6.0  Dockerfile eDSL -- opam support domain-name  0.3.0  RFC 1035 Internet domain names down  0.0.3  An OCaml toplevel (REPL) upgrade duff  0.2  Rabin's fingerprint and diff algorithm in OCaml dune-configurator  2.6.1  Helper library for gathering system configuration dune-private-libs  2.6.1  Private libraries of Dune duration  0.1.3  Conversions to various time units  eeasy-format  1.3.2  High-level and functional interface to the Format module of the OCaml standard library emile  0.9  Parser of email address according RFC822 encore  0.5  Library to generate encoder/decoder which ensure isomorphism eqaf  0.7  Constant-time equal function on string ethernet  2.2.0  OCaml Ethernet (IEEE 802.3) layer, used in MirageOS ezjsonm  1.1.0  Simple interface on top of the Jsonm JSON library ezjsonm-lwt  1.1.0  Simple Lwt-based interface to the Jsonm JSON library ezxmlm  1.1.0  Combinators for parsing and selection of XML structures  ffaraday  0.7.1  A library for writing fast and memory-efficient serializers. faraday-async  0.7.1  Async support for Faraday faraday-lwt  0.7.1  Lwt support for Faraday faraday-lwt-unix  0.7.1  Lwt_unix support for Faraday fiat-p256  v0.2.1  Primitives for Elliptic Curve Cryptography taken from Fiat fieldslib  v0.13.0  Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values findlib    fmt  0.8.8  OCaml Format pretty-printer combinators fpath  0.7.2  functoria-runtime  3.0.3  Runtime support library for functoria-generated code  ggit  2.1.3  Git format and protocol in pure OCaml git-http  2.1.3  Client implementation of the \"Smart\" HTTP Git protocol in pure OCaml git-mirage  2.1.3  MirageOS backend for the Git protocol(s) git-unix  2.1.3  Virtual package to install and configure ocaml-git's Unix backend github  4.3.0  GitHub APIv3 OCaml library github-unix  4.3.0  GitHub APIv3 Unix library gluten  0.2.1  A reusable runtime library for network protocols gluten-lwt  0.2.1  Lwt-specific runtime for gluten gluten-lwt-unix  0.2.1  Lwt + Unix support for gluten gluten-mirage  0.2.1  Mirage support for gluten gmap  0.3.0  Heterogenous maps over a GADT graphql  0.13.0  Build GraphQL schemas and execute queries against them graphql-cohttp  0.13.0  Run GraphQL servers with `cohttp` graphql-lwt  0.13.0  Build GraphQL schemas with Lwt support graphql_parser  0.13.0  Library for parsing GraphQL queries  hh2  0.6.1  A high-performance, memory-efficient, and scalable HTTP/2 library for OCaml h2-lwt  0.6.1  Lwt support for h2 h2-lwt-unix  0.6.1  Lwt + UNIX support for h2 h2-mirage  0.6.1  Mirage support for h2 hacl_x25519  v0.1.1  Primitives for Elliptic Curve Cryptography taken from Project Everest hex  1.4.0  Library providing hexadecimal converters hkdf  1.0.4  HMAC-based Extract-and-Expand Key Derivation Function (RFC 5869) hpack  0.2.0  An HPACK (Header Compression for HTTP/2) implementation in OCaml httpaf  0.6.6  A high-performance, memory-efficient, and scalable web server for OCaml httpaf-async  0.6.6  Async support for http/af hxd  0.2.0  Hexdump in OCaml  iindex  1.2.1  A platform-agnostic multi-level index for OCaml integers  0.4.0  Various signed and unsigned integer types for OCaml io-page  2.3.0  Support for efficient handling of I/O memory pages io-page-unix  2.3.0  Support for efficient handling of I/O memory pages on Unix io-page-xen  2.3.0  Support for efficient handling of I/O memory pages on Xen ipaddr  5.0.0  A library for manipulation of IP (and MAC) address representations ipaddr-sexp  5.0.0  A library for manipulation of IP address representations usnig sexp irc-client  0.6.2  IRC client library, supporting Lwt and Unix blocking IO irmin  2.2.0  Irmin, a distributed database that follows the same design principles as Git irmin-chunk  2.2.0  Irmin backend which allow to store values into chunks irmin-fs  2.2.0  Generic file-system backend for Irmin irmin-git  2.2.0  Git backend for Irmin irmin-graphql  2.2.0  GraphQL server for Irmin irmin-http  2.2.0  HTTP client and server for Irmin irmin-mem  2.2.0  Generic in-memory Irmin stores irmin-mirage  2.2.0  MirageOS-compatible Irmin stores irmin-mirage-git  2.2.0  MirageOS-compatible Irmin stores irmin-mirage-graphql  2.2.0  MirageOS-compatible Irmin stores irmin-pack  2.2.0  Irmin backend which stores values in a pack file irmin-test  2.2.0  Irmin test suite irmin-unix  2.2.0  Unix backends for Irmin irmin-watcher  0.3.0   jjekyll-format  0.1.0  jsonm  1.0.1  jst-config  v0.13.0  Compile-time configuration for Jane Street libraries  kke  0.4  Queue implementation  llogs  0.7.0  Logging infrastructure for OCaml logs-syslog  0.2.2  Logs reporter to syslog (UDP/TCP/TLS) lru  0.3.0  Scalable LRU caches lru-cache    lwt  5.3.0  Promises and event-driven I/O lwt-dllist  1.0.0  Mutable doubly-linked list with Lwt iterators lwt_log  1.1.1  Lwt logging library (deprecated) lwt_react  1.1.3  Helpers for using React with Lwt  mmacaddr  5.0.0  A library for manipulation of MAC address representations macaddr-cstruct  5.0.0  A library for manipulation of MAC address representations using Cstructs macaddr-sexp  5.0.0  A library for manipulation of MAC address representations using sexp magic-mime  1.1.2  Map filenames to common MIME types markup  0.8.2  Error-recovering functional HTML5 and XML parsers and writers menhirLib    menhirSdk    metrics  0.2.0  Metrics infrastructure for OCaml metrics-unix  0.2.0  Unix backend for the Metrics library mirage-block  2.0.1  Block signatures and implementations for MirageOS mirage-block-ramdisk  0.5  In-memory BLOCK device for MirageOS mirage-block-solo5  0.6.1  Solo5 implementation of MirageOS block interface mirage-block-unix  2.12.1  MirageOS disk block driver for Unix mirage-block-xen  1.7.0  MirageOS block driver for Xen that implements the blkfront/back protocol mirage-bootvar-solo5  0.6.0  Solo5 implementation of MirageOS Bootvar interface mirage-bootvar-xen  0.7.0  Handle boot-time arguments for Xen platform mirage-btrees    mirage-channel  4.0.1  Buffered channels for MirageOS FLOW types mirage-clock  3.0.1  Libraries and module types for portable clocks mirage-clock-freestanding  3.0.1  Paravirtual implementation of the MirageOS Clock interface mirage-clock-unix  3.0.1  Unix-based implementation for the MirageOS Clock interface mirage-console  3.0.2  Implementations of Mirage console devices mirage-console-solo5  0.6.1  Solo5 implementation of MirageOS console interface mirage-console-unix  3.0.2  Implementation of Mirage consoles for Unix mirage-console-xen  3.0.2  Implementation of Mirage console for Xen mirage-console-xen-backend  3.0.2  Implementation of Mirage console backend for Xen mirage-console-xen-proto  3.0.2  Implementation of Mirage console protocol for Xen mirage-crypto  0.8.1  Simple symmetric cryptography for the modern age mirage-crypto-pk  0.8.1  Simple public-key cryptography for the modern age mirage-crypto-rng  0.8.1  A cryptographically secure PRNG mirage-device  2.0.0  Abstract devices for MirageOS mirage-entropy  0.5.1  Entropy source for MirageOS unikernels mirage-flow  2.0.1  Flow implementations and combinators for MirageOS mirage-flow-combinators  2.0.1  Flow implementations and combinators for MirageOS specialized to lwt mirage-flow-unix  2.0.1  Flow implementations and combinators for MirageOS on Unix mirage-fs  3.0.1  MirageOS signatures for filesystem devices mirage-kv  3.0.1  MirageOS signatures for key/value devices mirage-kv-mem  3.0.0  In-memory key value store for MirageOS mirage-kv-unix  2.1.0  Key-value store for MirageOS backed by Unix filesystem mirage-logs  1.2.0  A reporter for the Logs library that writes log messages to stderr, using a Mirage `CLOCK` to add timestamps mirage-net  3.0.1  Network signatures for MirageOS mirage-net-solo5  0.6.1  Solo5 implementation of MirageOS network interface mirage-net-unix  2.7.0  Unix implementation of the Mirage_net_lwt interface mirage-net-xen  1.13.1  Network device for reading and writing Ethernet frames via then Xen netfront/netback protocol mirage-profile  0.9.1  Collect runtime profiling information in CTF format mirage-protocols  4.0.1  MirageOS signatures for network protocols mirage-random  2.0.0  Random-related devices for MirageOS mirage-runtime  3.8.0  The base MirageOS runtime library, part of every MirageOS unikernel mirage-solo5  0.6.2  Solo5 core platform libraries for MirageOS mirage-stack  2.0.1  MirageOS signatures for network stacks mirage-time  2.0.1  Time operations for MirageOS mirage-types  3.8.0  Module type definitions for MirageOS applications mirage-unix  4.0.0  Unix core platform libraries for MirageOS mirage-vnetif  0.5.0  Virtual network interface and software switch for Mirage mirage-xen  5.0.0  Xen core platform libraries for MirageOS mmap  1.1.0  File mapping functionality mtime  1.2.0  Monotonic wall-clock time for OCaml  nnetchannel  1.13.1  Network device for reading and writing Ethernet frames via then Xen netfront/netback protocol nocrypto  0.5.4   oobytelib    ocaml-compiler-libs  v0.12.1  OCaml compiler libraries repackaged ocaml-migrate-parsetree  1.7.3  Convert OCaml parsetrees between different versions ocaml-version  2.6.1  Manipulate, parse and generate OCaml compiler version strings ocamlbuild  0.14.0  OCamlbuild is a build system with builtin rules to easily build most OCaml projects. ocamlgraph    ocb-stubblr  0.1.1  ocplib-endian  1.1  Optimised functions to read and write int16/32/64 from strings and bigarrays octavius  1.2.2  odig  0.0.5  Lookup documentation of installed OCaml packages odoc  1.1.1-1337-ga57f0fb5  OCaml documentation generator omd    opam-file-format    optint  0.0.4  Abstract type on integer between x64 and x86 architecture otr  0.3.8  Off the record implementation purely in OCaml  pparse-argv  0.2.0  Process strings into sets of command-line arguments parsexp  v0.13.0  S-expression parsing library pbkdf  1.1.0  Password based key derivation functions (PBKDF) from PKCS#5 pcap-format  0.5.2  Decode and encode PCAP (packet capture) files pecu  0.4  Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047) ppx_assert  v0.13.0  Assert-like extension nodes that raise useful errors on failure ppx_base  v0.13.0  Base set of ppx rewriters ppx_bench  v0.13.0  Syntax extension for writing in-line benchmarks in ocaml code ppx_bin_prot  v0.13.0  Generation of bin_prot readers and writers from types ppx_cold  v0.13.0  Expands [@cold] into [@inline never][@specialise never][@local never] ppx_compare  v0.13.0  Generation of comparison functions from types ppx_cstruct  5.2.0  Access C-like structures directly from OCaml ppx_custom_printf  v0.13.0  Printf-style format-strings for user-defined string conversion ppx_derivers  1.2.1  Shared [@@deriving] plugin registry ppx_deriving  4.5  Type-driven code generation for OCaml >=4.02.2 ppx_enumerate  v0.13.0  Generate a list containing all values of a finite type ppx_expect  v0.13.0  Cram like framework for OCaml ppx_fail  v0.13.0  Add location to calls to failwiths ppx_fields_conv  v0.13.0  Generation of accessor and iteration functions for ocaml records ppx_hash  v0.13.0  A ppx rewriter that generates hash functions from type expressions and definitions ppx_here  v0.13.0  Expands [%here] into its location ppx_inline_test  0.13.1  Syntax extension for writing in-line tests in ocaml code ppx_jane  v0.13.0  Standard Jane Street ppx rewriters ppx_js_style  v0.13.0  Code style checker for Jane Street Packages ppx_let  v0.13.0  Monadic let-bindings ppx_module_timer  v0.13.0  Ppx rewriter that records top-level module startup times ppx_optcomp  v0.13.0  Optional compilation for OCaml ppx_optional  v0.13.0  Pattern matching on flat options ppx_pipebang  v0.13.0  A ppx rewriter that inlines reverse application operators `|>` and `|!` ppx_sexp_conv  v0.13.0  [@@deriving] plugin to generate S-expression conversion functions ppx_sexp_message  v0.13.0  A ppx rewriter for easy construction of s-expressions ppx_sexp_value  v0.13.0  A ppx rewriter that simplifies building s-expressions from ocaml values ppx_stable  v0.13.0  Stable types conversions generator ppx_tools  6.2  Tools for authors of ppx rewriters and other syntactic tools ppx_tools_versioned  5.4.0  A variant of ppx_tools based on ocaml-migrate-parsetree ppx_typerep_conv  v0.13.0  Generation of runtime types from type declarations ppx_variants_conv  v0.13.0  Generation of accessor and iteration functions for ocaml variant types ppxlib  0.13.0  Base library and tools for ppx rewriters prometheus  0.7  Client library for Prometheus monitoring psq  0.2.0  Functional Priority Search Queues ptime  0.8.5  POSIX time for OCaml  rrandomconv  0.1.3  Convert from random byte vectors (Cstruct.t) to random native numbers rawlink  1.0  Portable library to read and write raw packets re  1.9.0  RE is a regular expression library for OCaml react  1.2.1  result  1.4  rfc1951  0.9.1  Implementation of RFC1951 in OCaml rresult  0.6.0   ssalsa20-core  1.0.0  The Salsa20 core functions, in OCaml scrypt-kdf  1.1.0  The scrypt Password-Based Key Derivation Function session  0.4.1  A session manager for your everyday needs session-cohttp  0.4.1  A session manager for your everyday needs - Cohttp-specific support session-cohttp-lwt  0.4.1  A session manager for your everyday needs - Cohttp-specific support for Lwt sexplib0  v0.13.0  Library containing the definition of S-expressions and some base converters shared-memory-ring  3.1.0  Shared memory rings for RPC and bytestream communications shared-memory-ring-lwt  3.1.0  Shared memory rings for RPC and bytestream communications using Lwt spawn  0.13.0  Spawning sub-processes splittable_random  v0.13.0  PRNG that can be split into independent streams stdio  v0.13.0  Standard IO library for OCaml stringext  1.6.0  Extra string functions for OCaml syslog-message  1.1.0  Syslog message parser  ttar  1.1.0  Decode and encode tar format files in pure OCaml tcpip  5.0.0  OCaml TCP/IP networking stack, used in MirageOS textutils  v0.13.0  Text output utilities time_now  v0.13.0  Reports the current time tls  0.12.3  Transport Layer Security purely in OCaml tls-mirage  0.12.3  Transport Layer Security purely in OCaml, MirageOS layer topkg  1.0.1  The transitory OCaml software packager trie  1.0.0  Strict impure trie tree tuntap  2.0.0  OCaml library for handling TUN/TAP devices typerep  v0.13.0  Typerep is a library for runtime types tyre  0.5  Typed Regular Expressions tyxml  4.4.0  TyXML is a library for building correct HTML and SVG documents  uuri  3.1.0  An RFC3986 URI/URL parsing library uri-sexp  3.1.0  An RFC3986 URI/URL parsing library uucp  13.0.0  Unicode character properties for OCaml uuidm  0.9.7  Universally unique identifiers (UUIDs) for OCaml uuseg  13.0.0  Unicode text segmentation for OCaml uutf  1.0.2   vvariantslib  v0.13.0  Part of Jane Street's Core library vchan  5.0.0  Xen Vchan implementation  wwebbrowser  0.6.1  win-error  1.0  Manipulate Windows system errors  xx509  0.11.2  Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml xen-evtchn  2.1.0  Xen event channel interface for MirageOS xen-gnt  4.0.0  Xen grant table bindings for OCaml xenstore  2.1.1  Xenstore protocol in pure OCaml xenstore_transport  1.1.0  low-level libraries for connecting to a xenstore service on a xen host. xmlm  1.3.0   yyaml  2.1.0  Parse and generate YAML 1.1 files yojson  1.7.0  Yojson is an optimized parsing and printing library for the JSON format  zzarith    zed  3.1.0  Abstract engine for text edition in OCaml zip