Open Source
FFTW-GEL
[03-Mar-2003, version
1.2.1,
Stable]
FFTW-GEL is an architecture-specific version of FFTW.
zlib/libpng License
OCaml-SFML
[09-Aug-2010, version
0.03c,
Beta]
OCaml binding for SFML (Simple and Fast Multimedia Library). SFML is a free multimedia library that provides low and high level access to
graphics, input, audio, etc.
MIT/X11
ocaml-glob
[27-Oct-2008, version
0.1.0,
Beta]
This is a trivial wrapper around libc's glob(3) function for OCaml. The Glob
module interface contains a single function, glob. This function takes a
string argument possibly containing shell wildcards, and returns an array
containing the names of the file system entries matching it.
ocaml-lua
[10-Sep-2012, version
1.0,
Stable]
OCaml-lua provides bindings to the Lua programming language. Lua is a scripting language particularly useful when you need to embed a language in your application.
This project provides the bindings required to embed Lua.
Ocaml-Sqlite
[16-Apr-2004, version
0.3.5,
Alpha]
Bindings for accessing Sqlite databases from ocaml programs.
OCaml-SQLite3
[26-Feb-2007, version
0.12,
Beta]

OCaml bindings to the SQLite 3 database access library.
OCamlPAM
[25-Feb-2008, version
1.0,
Stable]
OCamlPAM is a wrapper for the Pluggable Authentication Modules (PAM) library. PAM provides a flexible mechanism for authenticating users via administrator-defined policies.
Ocurl
[31-Jan-2013, version
0.5.4,
Beta]

An OCaml binding for the
libcurl multi-protocol file transfer library.
LGPL
Ancient
[02-Jun-2009, version
0.9.0,
Beta]

Ancient is an OCaml module that allows you to use in-memory data structures which are larger than available memory and so are kept in swap. If you try this in normal OCaml code, you'll find that the machine quickly descends into thrashing as the garbage collector repeatedly iterates over swapped memory structures. This module lets you break that limitation. Of course the module doesn't work by magic :-) If your program tries to access these large structures, they still need to be swapped back in, but it is suitable for large, sparsely accessed structures.
Secondly, this module allows you to share those structures between processes. In this mode, the structures are backed by a disk file, and any process that has read/write access that disk file can map that file in and see the structures.
APM
[05-Nov-2002, version
1.00,
Stable]

This package provides basic interface to Linux APM driver for Objective Caml programs.
Cairo-OCaml
[29-May-2006, version
1.0.0,
Stable]
Objective-Caml bindings for the Cairo library.
CamlBZ2
[07-Nov-2008, version
0.6.0,
Beta]
CamlBZ2 provides OCaml bindings for libbzip2, a popular compression library which typically compresses better (i.e., smaller resulting files) than gzip.
Using CamlBZ2 you can read and write compressed "files", where files can be anything offering an in_channel/out_channel abstraction (files, sockets, ...).
Also, with CamlBZ2 you can compress and decompress strings in memory using the bzip2 compression algorithm.
CamlImages
[17-Nov-2009, version
3.0.2,
Stable]

An image processing library, which provides loading and saving various image formats with an interface for the Caml graphics library. It has also an interface with the freetype library to draw texts using truetype fonts.
CamlTK
[10-Aug-2001]
A library for interfacing Objective Caml with the scripting language Tcl/Tk which is included in the OCaml distribution.
Cash
[28-Aug-2002, version
0.20,
Beta]

Cash is a Unix shell that is embedded within Objective Caml. It's a Caml implementation of (an as large as possible subset of) the API of Scsh, the Scheme Shell by Olin Shivers. The Scsh API is designed for writing useful standalone Unix programs and shell scripts (but rather not for interactive command use). It spans a wide range of application, from “script” applications usually handled with perl or sh, to more standard systems applications usually written in C.
Creal
[07-Nov-2005, version
0.7,
Beta]
An exact real arithmetic module for OCaml.
GD4O
[25-Nov-2003, version
0.7,
Alpha]
An OCaml interface to the GD graphics library, which is an ANSI C library for the dynamic creation of images. GD creates PNG and JPEG images, among other formats
gmetadom
[11-Apr-2003, version
0.2,
Alpha]
A binding to gdome2, the GNU DOM Level 2 implementation.
LablGtkSourceView
[28-Aug-2006, version
0.2.0,
Beta]
LablGtkSourceView are the OCaml bindings for GtkSourceView, a GTK widget which extends the standrd GTK text widgets implementing syntax highlighting, automatic indentation, and other typical features of source editors.
Using LablGtkSourceView you can instantiate and use GtkSourceView widgets in OCaml programs which use GTK through the LablGtk interface.
Mesh
[14-Apr-2011, version
0.7,
Beta]
OCaml interface to various mesh generators, in particular triangle.
MLGMP
[23-Nov-2002, version
0.13,
Beta]
An extended precision computation library (integers, rationals, floats) in OCaml.
mod_ocaml
[03-Dec-2004, version
1.3.4,
Stable]

A set of OCaml bindings for the Apache API, allowing you to run CGI scripts written in OCaml directly inside the Apache webserver.
nlopt
[20-Jun-2012,
Development code]
OCaml bindings to the NLopt nonlinear optimization
library. The wrapper code implements an almost complete NLopt API (the
only exception are vector-valued constraints).
OCaml Curses
[27-Aug-2007, version
1.0.1,
Beta]
OCaml Curses is a project to provide curses / ncurses bindings for the Objective Caml language. It was formally known as Text Mode Kit (TMK), but the TMK part of the project is not supported any more, and instead we are just concentrating on providing reliable OCaml curses bindings.
ocaml-archive
[29-Aug-2011, version
2.8.4+1,
Stable]
Bindings to libarchive, a C library for reading and writing tar, cpio, zip, ISO, and
other archive formats.
ocaml-extunix
[18-Jun-2012, version
0.0.5,
Development code]
Thin bindings to various low-level system APIs which are not covered by Unix module.
ocaml-fastrandom
[29-Aug-2011, version
0.0.2,
Beta]
A random number generator compatible with standard library Random module (pre OCaml 3.12).
It contains C code to speed up generation and a function to skip a lot of numbers at once. Benchmarks show a 3 fold increase in speed for generating random numbers.
OCaml-lzma
[19-Apr-2010, version
0.01,
Alpha]
OCaml bindings for the lzma library.
OCaml-MySQL
[21-May-2012, version
1.1.1,
Stable]

A package for Objective Caml that provides access to MySQL databases.
OCaml-safepass
[16-Aug-2012, version
1.0.1,
Stable]
OCaml-safepass is a library offering facilities for the safe storage of user passwords. By "safe" we mean that passwords are salted and hashed using the Bcrypt algorithm. Salting prevents rainbow-table based attacks, whereas hashing by a very time-consuming algorithm such as Bcrypt renders brute-force password cracking impractical.
OCaml-Win32
[26-Oct-2004, version
1.0,
Stable]
OCaml-Win32 is a set of OCaml wrappers for the Win32 API. You can use this library to write true Win32 GUI applications in OCaml. A small sample application is provided.
OCaml-xmlr
[04-Apr-2004, version
1.0,
Stable]
ocaml-xmlr provides bindings for libxml's xmlreader.
OCamlODBC
[18-Jun-2007, version
2.15,
Stable]


Acces to databases through ODBC drivers.
OCamlODE
[18-Nov-2010, version
0.6,
Beta]
OCamlODE is a set of Objective CAML bindings to the Open Dynamics Engine (ODE). It comes with a very simple demonstration game.
OCamlPCSC
[30-Jul-2007, version
0.6,
Beta]

An OCaml binding that allows the manipulation of Smartcards in OCaml, both in Linux, through the C library PCSC-Lite provided by M.U.S.C.L.E. and in Windows through Winscard.dll.
Ocamlplot
[24-Nov-2003, version
0.5.6,
Beta]
An OCaml interface to the GNU libplot library.
OCamlSDL
[05-Nov-2002, version
0.7.2,
Beta]

OCaml interface to the Simple DirectMedia Layer library. SDL is used for example by 3D games under Linux.
OCI8 bindings
[09-Aug-2001, version
0.0.4,
Alpha]
OCI8 bindings for OCaml.
OraCaml
[07-Nov-2006, version
0.1,
Beta]

This library implements an OCaml client interface for an Oracle database. The library is built on top of the OCCI C++ interface available in Oracle 10g. It is efficient and suitable for processing large volumes of data.
PCRE-OCAML
[09-Aug-2001, version
5.12.2]

Perl compatibility regular expressions for OCaml.
PGOCaml
[14-Jan-2013, version
1.7.1,
Stable]
PG'OCaml is a type-safe, simple interface to PostgreSQL from OCaml. It lets you embed SQL statements directly into OCaml code.
PLPlot
[03-Mar-2008, version
5.8.0,
Alpha]
Ocaml language bindings for plplot plotting library.
SciLabl
[27-Sep-2004, version
pre-alpha,
Alpha]
A LablGTK2 wrapper for Scintilla source code editing widget.
Zarith
[17-Apr-2012, version
1.1,
Stable]
The Zarith library implements arithmetic and logical operations
over arbitrary-precision integers. It uses GMP to efficiently
implement arithmetic over big integers. Small integers are
represented as Caml unboxed integers, for speed and space economy.
GPL
Bindings for Chipmunk
[30-Apr-2008, version
0.01,
Stable]
Chipmunk is a rigid body physics library, designed for
2D video games. It is intended to be fast, numerically
stable, and easy to use.
Blahcaml
[18-Feb-2010, version
2.0,
Stable]
Blahcaml provides basic Ocaml bindings to the Blahtex library. Blahtex is written in C++, and aims at the conversion of TeX equations into MathML.
Gammu
[04-Jul-2011, version
0.9,
Beta]
This is a binding to libGammu, which provides abstraction layer to work with different cell phones from different vendors.
gdome2-xslt
[11-Apr-2003, version
0.0.6,
Alpha]
A C and Objective Caml library to apply XSLT stylesheets to gdome2 documents.
ImageMagick Binding for OCaml
[09-Dec-2005, version
0.15,
Beta]
An interface to the library of ImageMagick.
l-bfgs
[04-Jul-2011, version
0.5,
Beta]
L-BFGS is a limited-memory quasi-Newton code for bound-constrained optimization. It is a binding to http://users.eecs.northwestern.edu/~nocedal/lbfgsb.html
Lablgtkspell
[28-Apr-2004, version
1.0.0,
Stable]
Bindings for the GtkSpell spellchecking widget library for use with lablgtk2.
libguestfs
[14-Apr-2009, version
0.9,
Beta]
libguestfs is a library for accessing and modifying guest disk images. Amongst the things this is good for: making batch configuration changes to guests, getting disk used/free statistics (see also: virt-df), migrating between virtualization systems (see also: virt-p2v), performing partial backups, performing partial guest clones, cloning guests and changing registry/UUID/hostname info, and much else besides.
libguestfs uses Linux kernel and qemu code, and can access any type of guest filesystem that Linux and qemu can, including but not limited to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, qcow2, vmdk.
libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, what filesystem is in each LV, etc.). It can also run commands in the context of the guest. Also you can mount guest filesystems on the host (requires root privs and NFS).
libguestfs is a library that can be linked with C and C++ management programs (or management programs written in OCaml, Perl or Python). You can also use it from shell scripts or the command line.
OCam'OLE
[17-Nov-2003, version
1.0,
Stable]
OCam'OLE is an OLE binding for OCaml. It enable you to control remote COM objects with OCaml and is provided with OLEGen, a program that generate ML/MLI static type interface from the OLE Type Libraries.
ocaml-glpk
[26-Sep-2005, version
0.1.3,
Beta]
Bindings to GLPK (GNU Linear Programming Kit) which is a package intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems.
OCaml-Lirc
[03-Mar-2003, version
0.1.0,
Beta]
OCaml bindings for the LIRC (Linux Infrared Remote Control) library.
OCaml-R
[11-Feb-2010, version
0.2,
Beta]

OCaml-R provides bindings to the R math library and the R library usable to embed R in your application.
OCaml-Xlib
[13-Nov-2008,
Alpha]
OCaml bindings for the Xlib library.Also includes GLX for OpenGL windowing.
OCamlfuse
[26-Sep-2005,
Beta]
Multithreaded binding to the fuse api.
Pocengine
[14-Mar-2005, version
0.2.0,
Beta]

A game engine to help creating more games more easily.
The engine is written mainly in Ocaml with some XML and LUA.
BSD
CamlGL
[30-Dec-2002, version
0.9,
Beta]
OpenGL bindings for OCaml.
LablPCRE
[30-Jan-2007, version
1.0,
Stable]
A binding for PCRE, providing access to the POSIX regular expression pattern matching API of PCRE, fully supporting Linux and Windows builds of PCRE versions 6.1
- 7.0.
With an emphasis on simplicity and ease of use, LablPCRE offers a
small-footprint interface: four functions and a handful of public
methods in a returned "regresult" object.
LablScintilla
[01-Feb-2007, version
0.9pre1,
Beta]
Caml for Scintilla is a free source and binary package which adds syntax coloring for the Objective Caml language to the multi-platform (Win32 and GTK+) Scintilla editing component and SciTE text editor.
Objective C - Objective Caml bridge for Mac OS X
[08-Jan-2008,
Alpha]
The goal of this project is to provide access to Mac OS X's APIs from OCaml. The project focuses on the set of APIs referred to as "Cocoa", that is APIs based on Objective C artefacts (classes, objects, protocols, methods). With such access to Cocoa's APIs, it is expected that OCaml programmers would be able to design, develop and build native MacOSX applications with ease.
Some features are explicitly out of scope: - general support of C-type apis (structs) - general support for Objective C (this project is targetted at Mac OS X) - platforms different from MacOSX
The targetted user is an intermediate level developer, at ease with all of OCaml constructs (including modules, classes, labels) and with Cocoa programming.
ocalibs
[17-May-2004,
Development code]
Ocalibs is a collection of libraries for the ocaml programming language, designed to make windows game development easier. It will support DirectX for graphics and ODE for physics.
Ocaml Link Grammar
[29-May-2006, version
0.1,
Beta]
OCaml interface to Link Grammar.
This package contains the OCaml interface to Link Grammar. It enables Ocaml
applications to use Link Grammar to parse English sentences.
OCaml-Sem
[07-Nov-2005, version
0.0.2,
Beta]
Sem is an OCaml module implementing support of POSIX semaphores. The package contains code in C and OCaml programming languages. Once compiled it makes a usual OCaml library usable in both byte-code and native code development.
Ocamlyices
[22-Sep-2010, version
0.4,
Beta]
Yet another binding for Yices SMT 1.x. Based on CamlIDL, this library
allows the access to both Yices APIs (full and light), unsatisfiable
cores, bit vectors, and more experimental features (interrupting,
switching between APIs).
Oclock
[22-Sep-2010, version
0.2,
Beta]
Precise POSIX clock library for Ocaml. This library uses the
clock_gettime(2) family of functions, to get precisions from below the
milliseconds upto the nanoseconds depending on the platform (system
and CPU).
It lets you measure time from the real-time clock, monotonic clocks,
or CPU-time clocks of the current process, of a remote process, or of
a thread.
Others
Another OCaml-sqlite3
[31-Jul-2006, version
0.1.7,
Beta]
OCaml wrapper for the Sqlite3 database library.
Bindings for ORBit2
[28-May-2004, version
0.1.0,
Alpha]
Bindings for ORBit2, the CORBA ORB of the GNOME project. There is a IDL compiler that maps CORBA types to OCaml types, and a runtime library that does the necessary conversions.
Camlusb
[17-Feb-2005, version
1.0b,
Beta]
Camlusb is an Ocaml binding to libusb.
Libusb is a portable library to access USB devices in user space, available for various operating systems.
CamlZip
[23-Oct-2012, version
1.05,
Stable]
An Objective Caml library that provides easy access to compressed files in ZIP and GZIP format, as well as to Java JAR files.
daml
[12-Dec-2008,
Development code]
daml is an OCaml binding to the CUDA API.
FFTW
[14-May-2002,
Beta]

An interface to the FFTW library.
FTPlib
[19-Dec-2003,
Beta]
A C library providing communication facilities implementing the client side of FTP. It comes with Objective Caml bindings.
GLCaml
[25-Feb-2008, version
20080215,
Beta]


GLCaml (http://glcaml.sourceforge.net) is a compact set of Ocaml bindings to OpenGL versions 1.0 through 2.1, for Windows, Linux and OS-X. It also contains optional compact bindings for SDL (http://www.libsdl.org).
glMLite
[07-Jan-2008, version
0.03.17,
Beta]
This package provides OpenGL bindings for OCaml. There is a module for GL, Glu and Glut, and also a small jpeg loader module. The names of the functions are the same than in the C API.
Some test files are provided, and also some of the demonstration code samples from the red-book converted in OCaml.
Inotify bindings
[22-Nov-2006, version
0.2,
Beta]
A small bindings for inotify, aka linux file system notification new subsystem.
LablGL
[12-Dec-2007, version
1.03,
Stable]

An Objective Caml interface to OpenGL.
lablglut
[04-Nov-2002, version
1.3,
Development code]
A GLUT 3.7 binding, bundled with a Tk-independent modification of LablGL.
LablGTK
[16-Jul-2004, version
1.2.7,
Stable]

An Objective Caml interface to gtk, providing a strongly typed, yet very comfortable, object-oriented interface to gtk+.
LablGTK2
[27-Aug-2012, version
2.16.0,
Mature]

An Objective Caml interface to gtk+ 2.x.
lablgtkmathview
[11-Apr-2003, version
0.4.1,
Beta]
A lablgtk binding to GtkMathView, a Gtk widget to render MathML 2.0 documents.
Lablwebkit
[28-Aug-2012, version
1.8.2,
Stable]
A
binding to the corresponding webkit-gtk version. Almost all of its API
besides the DOM-related function is handled.
libaio-ocaml
[19-Mar-2012, version
1.0,
Stable]
OCaml bindings for the Linux libaio library for asynchronous read/write operations.
libsndfile-ocaml
[08-Jan-2007,
Alpha]
Bindings to the libsndfile C library.
Metaphone
[16-Aug-2005, version
1.0,
Stable]
Metaphone is an implementation of Lawrence Philips' Double Metaphone phonetic algorithm in OCaml. In fact it's just a very thin set of bindings around the original C++ implementation (with some bug fixes).
Mlfuse
[23-Jul-2002,
Beta]
An OCaml binding for the Fuse (File System in User Space) library.
MLpcap
[13-Jul-2004, version
0.9,
Beta]
Libpcap bindings for OCaml.
Numerix
[03-Jul-2006, version
0.22,
Beta]

Numerix is a library implementing arbitrary long signed integers and the usual arithmetic operations between these numbers.
OCaml-Allegro
[07-Jan-2008, version
20071223,
Development code]
This is an OCaml binding for Allegro.
Allegro is a cross-platform library intended for use in computer games and other types of multimedia programming.
OCaml-alsa
[28-Nov-2006, version
0.1.3,
Beta]
Bindings to the alsa library.
OCaml-dbus
[12-Dec-2006, version
0.01,
Alpha]
Bindings to dbus. This is an alpha release (few memory leaks, missing some proper finalize
function, and maybe segfault lurking), and the library is quite big so
not everything is wrapped.
However it should works for basic use, and the test program should be
enough to get to know how to use it.
OCaml-event
[17-Feb-2005, version
0.5.0]
Ocaml bindings for the libevent API.
The libevent API provides a mechanism to execute a callback function
when a specific event occurs on a file descriptor or after a timeout has
been reached. Furthermore, libevent also support callbacks due to
signals or regular timeouts.
OCaml-FreeTDS
[19-Apr-2004, version
0.2]
OCaml-FreeTDS is a binding to the ct-lib component of the FreeTDS library, to access Sybase and Microsoft (or other TDS) database servers.
OCaml-gettext
[02-Nov-2009, version
0.3.3,
Beta]
OCaml-gettext provides enough service to build a basic internationalized program. It comes with a pure Ocaml implementation, based on Camomile, a binding to GNU gettext library, and ocaml-gettext, a tool to extract strings from Ocaml source.
ocaml-gperftools
[18-Jun-2012, version
0.1,
Beta]
gperftools library provides fast, multi-threaded malloc() and some nifty performance analysis tools.
These OCaml bindings are useful to monitor memory usage and control behaviour of malloc() when the program is linked against tcmalloc.
OCaml-lame
[28-Nov-2006, version
0.1.1,
Beta]
Bindings to the lame library.
ocaml-lzo
[21-May-2012, version
0.0.1,
Development code]
Bindings to LZO - a portable lossless data compression library.
ocaml-mad
[28-Nov-2006, version
0.2.1,
Beta]
Bindings for the mad library which provides functions for encoding wave audio files into mp3.
OCaml-Milter
[25-Sep-2012, version
1.0.0,
Stable]
This library provides OCaml bindings to libmilter.
OCaml-Ming
[07-Jan-2008, version
0.01a,
Alpha]
OCaml bindings for the Ming library,
a library to create Flash animations.
OCaml-newt
[07-Mar-2008, version
0.1,
Beta]
Newt is a simple text window system, designed as a better replacement for systems such as dialog. It is used in the Red Hat text mode installer (anaconda).
This is a set of bindings for calling newt from OCaml programs.
ocaml-shout
[15-Jan-2004, version
0.2.2,
Beta]
Bindings for the shout library which provides functions for sending mp3 / ogg data to icecast 2 servers which are used to create streamed web-radios.
OCaml-smbclient
[28-Nov-2006, version
0.1.0,
Beta]
OCaml bindings for the libsmbclient library to access files through the samba protocol. It provides high-level functions for that.
ocaml-snappy
[21-May-2012, version
0.0.1,
Development code]
Bindings to snappy - fast compression/decompression library.
OCaml-SPF
[25-Sep-2012, version
1.0.0,
Stable]
This library provides OCaml bindings to libspf2.
OCaml-SRS
[25-Sep-2012, version
1.0.0,
Stable]
This library provides OCaml bindings to libsrs2.
OCaml-SSL
[28-Nov-2006, version
0.4.0,
Beta]

OCaml bindings for libssl to secure connections by using ssl encryption in your sockets.
ocaml-vorbis
[28-Nov-2006, version
0.5.0,
Beta]
Bindings for the ogg/vorbis library which provides functions for encoding, decoding and reading tags of ogg/vorbis files.
ocaml-winsvc
[21-May-2012, version
0.0.1,
Development code]
The library to make OCaml program act as a Windows service.
OCamlBDB
[12-Nov-2002, version
0.0.1,
Alpha]
A Berkeley DB wrapper for OCaml.
OCamlExpat
[14-Mar-2005, version
0.9.1,
Beta]

An ocaml wrapper for the Expat XML parsing library.
OCamlGettext
[12-Nov-2002, version
0.0.1]
GNU gettext binding for OCaml.
ocamlgsl
[16-Feb-2004, version
0.4.0,
Beta]
A wrapper for GSL, the GNU Scientific Library.
OCamlmex
[02-May-2002]
An OCaml/Matlab interface.
OCamlMPI
[10-Aug-2001,
Stable]
An interface to the MPI message-passing library.
OCamlPVM
[10-Aug-2001,
Stable]
An interface to the PVM message-passing library.
OCamlSpread
[18-Sep-2002, version
0.0.1,
Alpha]
A wrapper for a Spread group communication toolkit, which provides a high performance messaging service that is resilient to faults across external or internal networks.
OCI*ML
[04-Jul-2011,
Development code]

An Oracle binding for OCaml modeled on OraTcl.
Osiris
[26-Feb-2002,
Beta]
Osiris is very-easy-to-use GUI (graphical user interface) system for OCaml. It's built on top of the OCaml Win32 native API binding and enable the creation and control of most of the standard user interface components.
Peeroml
[01-Aug-2005,
Alpha]
The Peeroml package allows one to construct lego parts inventories or
deconstruct them from a lego set catalog.
Postgres
[09-Aug-2001, version
20040120,
Stable]

PostgreSQL bindings for OCaml.
Pycaml
[29-May-2002,
Beta]

A system for binding OCaml code with python.
SoCaml
[28-Jan-2004, version
1.1,
Beta]
A binding for the object-oriented 3D scene library Open Inventor (tm).
wxocaml
[26-Oct-2004,
Alpha]
Binding for wxWidgets.