SDK and command line interface for Watson Assistant
wcs-ocaml is a source development kit in OCaml and command line interface for Watson Assistant (formerly Watson Conversation Service, or WCS). It allows to program chat bots in OCaml.
wcs-lib
provides a framework to write WCS programs, called workspaces. It also offers an OCaml binding to the service API and a generic client application.wcs
is a command line tool that interact with the service.
The documentation is available online or in the directory docs.
Install
Quick install with Opam
You can install wcs-ocaml with the following command:
opam install wcs
This will install the following packages:
wcs-lib
wcs
Install from source with Opam
Opam can also be used to compile and install from the source directory. For that you first need to pin the source directory. So, from this directory, do:
opam pin add wcs-lib .
opam pin add wcs .
Then you can install using the command:
opam install wcs
If the source files are modified, the packages must be reinstalled with the command:
opam reinstall wcs-lib
Building from source
Prerequistes
To build from source, you will need to install the dependencies
listed in the depends
field of the *.opam
files.
An easy way to get set up on most platforms is to use the OCaml package manager (https://opam.ocaml.org). Once opam is installed, you can just add the corresponding libraries:
opam install ocamlfind sedlex menhir rml ...
Compiling
To compile, do:
make
Make a new release
In order to do a new release, we have to do the following steps.
- Make sure that the documentation is up to date:
make webdoc
- Search and update the version number:
grep -r -e '\d\d\d\d-\d\d-\d\d.\d\d-dev' .
-
Update the
CHANGES.md
file. -
Create a new release on the github interface: https://github.com/IBM/wcs-ocaml/releases
-
Create a new release of the opam packages.
- Create or update the fork of https://github.com/ocaml/opam-repository
git checkout master
git fetch --all
git merge --ff-only upstream/master
git push
- Create a new branch
git checkout -b wcs-XXXX-XX-XX.XX
- Create the new packages from the old ones:
cp -R packages/wcs-lib/wcs-lib.YYYY-YY-YY.YY packages/wcs-lib/wcs-lib.XXXX-XX-XX.XX
cp -R packages/wcs/wcs.YYYY-YY-YY.YY packages/wcs/wcs.XXXX-XX-XX.XX
- Update the
opam
files:
cp WCS_OCAML_DIR/wcs-lib.opam packages/wcs-lib/wcs-lib.XXXX-XX-XX.XX/opam
cp WCS_OCAML_DIR/wcs.opam packages/wcs/wcs.XXXX-XX-XX.XX/opam
- Update the
url
files
emacs packages/wcs-lib/wcs-lib.XXXX-XX-XX.XX/url
cp packages/wcs-lib/wcs-lib.XXXX-XX-XX.XX/url packages/wcs/wcs.XXXX-XX-XX.XX/url
- Commit and push the changes
git push origin wcs-XXXX-XX-XX.XX
- Create a pull request from the github interface: https://github.com/ocaml/opam-repository
- Once the pull request is accepted update the version number.
Contribute
Contributions and bug reports are welcome! To contribute please follows the instructions given in the file CONTRIBUTING.md.