Sections

Base Libraries
These libraries provide basic functionality for your scripts.
Partitioned Standard Library - 4.14
These libraries are a re-packaging of the OCaml standard library.
dk Ml Libraries
These are open-source libraries created by Us (the dk team) to support immutable builds, code analysis, security and Unix emulation. The `MlFront_Cache`, `MlFront_ZipFile` and `MlFront_Signify` libraries are commonly used in scripts. They are dual-published outside of the `dk` coder to benefit the OCaml community.
dk Tr1 Libraries
These libraries are re-packaged, liberally-licensed 3rd-party libraries curated by Us (the dk team).
dk Dk Libraries
These higher-level libraries are available freely to registered users, with some available only to paid subscribers.

Base Libraries

These libraries are maintained by Us (the dk team) to provide basic functionality for your scripts. They are stable and can be used in your scripts without additional configuration:

DkCoder_Std

Each dk script has a structure and overridable defaults defined by DkCoder_Std.SCRIPT. The DkCoder_Std.Context module provides information about the operating system and console.

Partitioned Standard Library - 4.14

These libraries are a re-packaging of the OCaml standard library. Tr1Stdlib_V414All is the conventional OCaml "Stdlib" standard library. All the other Tr1Stdlib_V414* packages are a partition of the OCaml standard library: opening all of these packages is equivalent to opening the whole Tr1Stdlib_V414All library.

You have a choice to open either the whole Tr1Stdlib_V414All or open the individual partitions you need. We recommend the individual partitioned packages like Tr1Stdlib_V414Runtime in accordance to the security principle of least privilege and for future compatibility with the `dk` coder security analysis tools.

Tr1Stdlib_V414Base

Modules safe for use on any platform. Also includes safe functions like sqrt.

Tr1Stdlib_V414All

The conventional Stdlib OCaml standard library.

Tr1Stdlib_V414CRuntime

Modules that need a C99 runtime.

Tr1Stdlib_V414Extras

The types and functions of the Stdlib that are conventionally available to OCaml programs, and helper modules so the OCaml standard library can be used consistently with the rest of the the dk coder libraries:

  • StdExit contains all the program termination types and functions of Stdlib.
  • StdIo contains all the input/output types and functions of Stdlib.
  • StdBinds contains modules that can be opened and used with the ocaml-monadic PPX macros.
Tr1Stdlib_V414Gc

Modules for garbage collection.

Tr1Stdlib_V414Io

Modules for input and output. Can't be used on Android and iOS.

Tr1Stdlib_V414Random

Modules for random numbers.

Tr1Stdlib_V414Threads

Modules to create and coordinate threads. Brings in Tr1Stdlib_V414CRuntime.

Tr1Stdlib_V414Unsafe

Modules that can break type-safety.

dk Ml Libraries

These are open-source libraries created by Us (the dk team) to support immutable builds, code analysis, security and Unix emulation. The `MlFront_Cache`, `MlFront_ZipFile` and `MlFront_Signify` libraries are commonly used in scripts. They are dual-published outside of the `dk` coder to benefit the OCaml community.

MlFront_Cache

A framework for transient caches and slowly varying data.

MlFront_Core

The framework that the dk coder uses to perform its build is called "mlfront". MlFront_Core has basic types and values used throughout the build system.

MlFront_Errors

Experimental. Do not use it directly.

MlFront_Signify

An implementation of [OpenBSD's signify](https://man.openbsd.org/signify) to have your software update itself or its datasets securely.

MlFront_ZipFile

A set of functions to create and extract from zipfiles.

dk Tr1 Libraries

These libraries are re-packaged 3rd-party libraries that were curated by Us (the dk team). They are liberally licensed and serve as your comprehensive standard library. Each library is subject to change. They can be used in your scripts without additional configuration:

Tr1Angstrom_Std

Parser combinators.

Tr1Bogue_Std

Cannot be cross-compiled. 🚧 Under construction. GUI library based on SDL2.

Tr1Bos_Std

Basic input/output.

Tr1Capnp_Std

Cap'n Proto serialization framework.

Tr1Capnp_Unix

Cap'n Proto serialization on Unix-like platforms including Windows.

Tr1Clap_Std

Imperative command-line argument parsing.

Tr1Cmdliner_Std

Deprecated. Declarative command-line argument parsing. This library may be more difficult for beginners to adopt than Tr1Clap_Std, and the API is less stable than Tr1Clap_Std. However, especially when you have many command line options, your code will be easier to maintain with this library.

Tr1Fpath_Cmdliner

Deprecated. Command line options for Tr1Cmdliner_Std specifically for Tr1Fpath_Std file path options.

Tr1Fpath_Std

File path operations.

Tr1Htmlit_Std

Simple combinators to generate HTML fragments and pages.

Tr1Http_Std

Types that represent HTTP methods, requests and responses.

Tr1Json_Std

Easy interfaces to read and write JSON.

Tr1Json_Stream

Modules to stream JSON documents without storing them all in memory.

Tr1Json_Yojson2

Alternative parsing and pretty-printing JSON with non-standard extensions.

Tr1Logs_Clap

Command line options for logging and colors in an Tr1Clap_Std-based application that runs on the terminal.

Tr1Logs_Lwt

Command line options for logging and colors in an application that uses cooperative Lwt threading and runs on the terminal.

Tr1Logs_Std

Logging interfaces.

Tr1Logs_Term

Command line options for logging and colors in an Tr1Cmdliner_Std-based application that runs on the terminal.

Tr1Num_Stdint

Standard C-style integer types beyond those provided by OCaml.

Tr1Paths_Xdg
Tr1Progress_Logs
Tr1Qrc_Std

QR code encoder.

Tr1Regex_Std
Tr1Routes_Std

Typed routing combinators for web frameworks.

Tr1SQLite3_Std

An interface to the [sqlite3](https://www.sqlite.org/) embedded SQL database.

Tr1Semver_Std
Tr1Shexp_Std

Deprecated. This is a library for creating possibly parallelized pipelines that represent shell scripts. Works only on 64-bit machines.

Tr1String_Ext

A set of string operations that are not included in the OCaml standard library.

Tr1Tar_LwtUnix

.tar and .tar.gz operations for Unix-like platforms including Windows.

Tr1Tezt_C

Testing framework for native applications.

Tr1Tezt_Core

Testing framework API.

Tr1TinyHttpd_Std

Minimal HTTP server using good old threads, with stream abstractions, simple routing, URL encoding/decoding, static asset serving, and optional compression.

Tr1TosCheck_Std

DkSDK terms of service checks.

Tr1Uri_Std

RFC3986-compliant Uniform Resource Identifier handling.

Tr1Uuid_Std

Universally unique identifiers (UUIDs).

Tr1TinyHttpd_Prometheus

Expose metrics over HTTP in the prometheus format.

dk Dk Libraries

These higher-level libraries are available freely to registered users, with some available only to paid subscribers.

DkFs_C99

🚧 Under construction. File and directory operations.

DkNet_Std

Access the Internet or Intranet, or open a web browser.

DkStdRestApis_Gen

For subscribers. 🚧 Under construction. Generate REST servers and clients.