🐫 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 Fri Aug 28 14:41:04 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.2 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.5 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.4 An OCaml library for HTTP clients and servers cohttp-lwt 2.5.4 CoHTTP implementation using the Lwt concurrency library cohttp-lwt-unix 2.5.4 CoHTTP implementation for Unix and Windows using Lwt cohttp-mirage 2.5.4 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.2 An opinionated Domain Name System (DNS) library dns-client 4.6.2 Pure DNS resolver API dockerfile 7.0.0 Dockerfile eDSL in OCaml dockerfile-opam 7.0.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.7.0 Helper library for gathering system configuration 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.2.0 Simple interface on top of the Jsonm JSON library ezjsonm-lwt 1.2.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 3.1.1 A DSL to organize functor applications 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.1 GitHub APIv3 OCaml library github-unix 4.3.1 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.7.0 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.2.0 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 llambda-term 3.1.0 Terminal manipulation library for OCaml logs 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 mew 0.1.0 Modal editing witch mew_vi 0.5.0 Modal editing witch, VI interpreter mirage 3.8.0 The MirageOS library operating system 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.4 Simple symmetric cryptography for the modern age mirage-crypto-pk 0.8.4 Simple public-key cryptography for the modern age mirage-crypto-rng 0.8.4 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 num-top oobytelib ocaml ocaml-compiler-libs v0.12.1 OCaml compiler libraries repackaged ocaml-migrate-parsetree 1.7.3 Convert OCaml parsetrees between different versions ocaml-version 3.0.0 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-1373-g2e7c1c75 OCaml documentation generator omd opam-file-format 2.1.0 Parser and printer for the opam file syntax 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 session-webmachine 0.4.1 A session manager for your everyday needs - Webmachine-specific support sexplib v0.13.0 Library for serializing OCaml values to and from S-expressions 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.4 Transport Layer Security purely in OCaml tls-mirage 0.12.4 Transport Layer Security purely in OCaml, MirageOS layer topkg 1.0.2 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 utop 2.6.0 Universal toplevel for OCaml 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 webmachine 0.6.2 A REST toolkit for OCaml 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