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 byDkCoder_Std.SCRIPT
. TheDkCoder_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 thedk
coder libraries:StdExit
contains all the program termination types and functions ofStdlib
.StdIo
contains all the input/output types and functions ofStdlib
.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 forTr1Fpath_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.