blob: ae68e36522214303151177368322bfd0bd40033a [file] [log] [blame]
---
active_crumb: Download
layout: interior
---
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1 class="page-title">
<span><i class="fas fa-fw fa-download"></i> {{ page.active_crumb }}</span>
</h1>
<div id="downloads" class="three-cols-container">
<div class="col-md-2 first-column">
<ul class="side-nav">
<li class="side-nav-title">Introduction</li>
<li><a href="/docs.html">Overview</a></li>
<li><a href="/installation.html">Installation</a></li>
<li><a href="/getting-started.html">Getting Started</a></li>
</ul>
</div>
<div class="col-md-8 second-column">
<section id="prerequisites">
<h2 class="section-title">Support</h2>
<p>
Here's the list of tools you will need to get started with NLPCraft:
</p>
<ul>
<li>
<a target=_new href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">Java SE Runtime Environment</a>
(JRE) or <a target=_new href="https://openjdk.java.net/">OpenJDK</a> ver. 8 or later installed.
</li>
<li>
Latest versions of <a target=_ href="https://git-scm.com/downloads">Git</a> and
<a target=_ href="https://maven.apache.org/install.html">Maven</a>.
</li>
</ul>
<p>
For any questions, feedback or suggestions:
</p>
<ul>
<li>
File a bug or improvement in <a target="jira" href="https://issues.apache.org/jira/projects/NLPCRAFT">NLPCraft JIRA</a>
</li>
<li>
Post a question at <i class="fab fa-stack-overflow"></i>&nbsp;<a href="https://stackoverflow.com/questions/ask">Stack Overflow</a> using <code>nlpcraft</code> tag
</li>
<li>
Access <a target="github" href="https://github.com/apache/incubator-nlpcraft">GitHub</a> mirror repository.
</li>
<li>
Join project developers on <a href="mailto:dev@nlpcraft.apache.org">dev@nlpcraft.apache.org</a>
</li>
</ul>
<p>
By downloading NLPCraft you are agreeing to <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a> terms <span class="amp">&amp;</span> conditions.
</p>
</section>
<section id="src">
<h2 class="section-title">Source Release</h2>
<p>
Download the NLPCraft release - <code><b>{{site.latest_version}}</b></code> is the latest version:
</p>
<table class="gradient-table max-width">
<thead>
<tr>
<th>File Name</th>
<th>Version</th>
<th>Release Date</th>
<th>Signatures</th>
<th></th>
</tr>
</thead>
<tbody>
{% for rel in site.data.src-releases %}
<tr>
<td>
<i class="fa fa-fw fa-download"></i> <a href="{{rel.zip_url}}">{{rel.zip_name}}</a>
{% unless rel.backward_compatible %}<i class="fas fa-fw fa-bomb"></i>{% endunless %}
</td>
<td>{{rel.version}}</td>
<td>{{rel.date}}</td>
<td class="download-sigs">
<a href="{{rel.sha256_url}}">SHA256</a>
<a href="{{rel.pgp_url}}">PGP</a>
</td>
<td>
<a href="/release-notes-{{rel.version}}.html"><i class="fas fa-fw fa-file-alt"></i></a>
<a target=_ href="/apis/javadoc-{{rel.version}}/index.html"><i class="fab fa-fw fa-java"></i></a>
<a target="github" href="{{rel.github_link}}"><i class="fab fa-fw fa-github"></i></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="bq info">
<p>
Releases marked with <i class="fas fa-fw fa-bomb"></i> are <b>NOT</b> backward compatible.
</p>
</div>
</section>
<section id="zip">
<h2 class="section-title">Binary Release / Docker</h2>
<p>
Download the NLPCraft binary release - <code><b>{{site.latest_version}}</b></code> is the latest version:
</p>
<table class="gradient-table max-width">
<thead>
<tr>
<th>File Name</th>
<th>Version</th>
<th>Release Date</th>
<th>Signatures</th>
<th></th>
</tr>
</thead>
<tbody>
{% for rel in site.data.bin-releases %}
<tr>
<td>
<i class="fa fa-fw fa-download"></i> <a href="{{rel.zip_url}}">{{rel.zip_name}}</a>
{% unless rel.backward_compatible %}<i class="fas fa-fw fa-bomb"></i>{% endunless %}
</td>
<td>{{rel.version}}</td>
<td>{{rel.date}}</td>
<td class="download-sigs">
<a href="{{rel.sha256_url}}">SHA256</a>
<a href="{{rel.pgp_url}}">PGP</a>
</td>
<td>
<a href="/release-notes-{{rel.version}}.html"><i class="fas fa-fw fa-file-alt"></i></a>
<a target=_ href="/apis/javadoc-{{rel.version}}/index.html"><i class="fab fa-fw fa-java"></i></a>
<a target="github" href="{{rel.github_link}}"><i class="fab fa-fw fa-github"></i></a>
{% if rel.dockerhub_link %}<a target="docker" href="{{rel.dockerhub_link}}"><i class="fab fa-fw fa-docker"></i></a>{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="bq warn">
<p>
<b>Apache Release Policy</b>
</p>
<p>
Binary downloads are provided for the convenience of our users and are not official Apache NLPCraft
releases. In order to verify the release, we recommend that you download the official source
distribution and <a href="#verification">verify</a> the signatures of the downloaded files before opening them.
</p>
<p>
See <a target="asf" href="http://www.apache.org/dev/release.html#what">more</a> information about
Apache release policy.
</p>
</div>
<div class="bq info">
<p>
Releases marked with <i class="fas fa-fw fa-bomb"></i> are <b>NOT</b> backward compatible.
</p>
</div>
</section>
<section id="build">
<h2 class="section-title">Building Binaries</h2>
<p>
To build binaries from the source release download the <a href="#src">source release</a> and run
the following commands:
</p>
<pre class="brush: plain, highlight: [2,3,6]">
# Unpack the source package.
$ unzip -q apache-nlpcraft-{{site.latest_version}}-src.zip
$ cd apache-nlpcraft-{{site.latest_version}}-src
# Build NLPCraft.
$ mvn clean package -DskipTests
</pre>
</section>
<section id="verification">
<h2 class="section-title">Release Verification</h2>
<p>
We highly recommend to verify the integrity and authenticity of the ZIP archive by comparing cryptographic
signatures.
</p>
<div class="bq warn">
<p>
<b>NOTE:</b> <code>MD5</code> and <code>SHA1</code> signatures provided only for
rare backward compatibility as they are not cryptographically strong and generally
not recommended. In most cases you should only trust to <code>PGP</code> or <code>SHA256</code>
signatures.
</p>
</div>
<p>
Following instructions assume binary release on Mac OS/Linux environment but the verification steps are
similar for Windows. Note that you can also verify signatures online at
<a target=_ href="https://md5file.com/calculator">File Hash Online Calculator</a> or
<a target=_ href="http://onlinemd5.com/">Online MD5</a>.
</p>
<h3 class="section-title">Mac OS</h3>
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab" href="#nav-macos-md5" role="tab" aria-controls="nav-home" aria-selected="true">MD5</a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-macos-sha1" role="tab" aria-controls="nav-home" aria-selected="true">SHA1</a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-macos-sha256" role="tab" aria-controls="nav-home" aria-selected="true">SHA256</a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-macos-pgp" role="tab" aria-controls="nav-home" aria-selected="true">PGP</a>
</div>
</nav>
<div class="tab-content">
<div class="tab-pane fade show active" id="nav-macos-md5" role="tabpanel">
<pre class="brush: plain">
# Run these two commands and compare generated hashes:
$ openssl dgst -md5 apache-nlpcraft-{{site.latest_version}}.zip
$ cat apache-nlpcraft-{{site.latest_version}}.zip.md5
</pre>
</div>
<div class="tab-pane fade show" id="nav-macos-sha256" role="tabpanel">
<pre class="brush: plain">
# Run these two commands and compare generated hashes:
$ openssl dgst -sha256 apache-nlpcraft-{{site.latest_version}}.zip
$ cat apache-nlpcraft-{{site.latest_version}}.zip.sha256
</pre>
</div>
<div class="tab-pane fade show" id="nav-macos-sha1" role="tabpanel">
<pre class="brush: plain">
# Run these two commands and compare generated hashes:
$ openssl dgst -sha1 apache-nlpcraft-{{site.latest_version}}.zip
$ cat apache-nlpcraft-{{site.latest_version}}.zip.sha1
</pre>
</div>
<div class="tab-pane fade show" id="nav-macos-pgp" role="tabpanel">
<pre class="brush: plain">
# NOTE: make sure to have GPGTools (gpgtools.org) installed.
$ gpg --verify apache-nlpcraft-{{site.latest_version}}.zip.sig apache-nlpcraft-{{site.latest_version}}.zip
</pre>
</div>
</div>
<h3 class="section-title">Linux</h3>
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab" href="#nav-linux-md5" role="tab" aria-controls="nav-home" aria-selected="true">MD5</a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-linux-sha1" role="tab" aria-controls="nav-home" aria-selected="true">SHA1</a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-linux-sha256" role="tab" aria-controls="nav-home" aria-selected="true">SHA256</a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-linux-pgp" role="tab" aria-controls="nav-home" aria-selected="true">PGP</a>
</div>
</nav>
<div class="tab-content">
<div class="tab-pane fade show active" id="nav-linux-md5" role="tabpanel">
<pre class="brush: plain">
$ md5sum --check apache-nlpcraft-{{site.latest_version}}.zip.md5
</pre>
</div>
<div class="tab-pane fade show" id="nav-linux-sha256" role="tabpanel">
<pre class="brush: plain">
$ sha256sum --check apache-nlpcraft-{{site.latest_version}}.zip.sha256
</pre>
</div>
<div class="tab-pane fade show" id="nav-linux-sha1" role="tabpanel">
<pre class="brush: plain">
$ sha1sum --check apache-nlpcraft-{{site.latest_version}}.zip.sha1
</pre>
</div>
<div class="tab-pane fade show" id="nav-linux-pgp" role="tabpanel">
<pre class="brush: plain">
$ gpg --verify apache-nlpcraft-{{site.latest_version}}.zip.sig apache-nlpcraft-{{site.latest_version}}.zip
</pre>
</div>
</div>
</section>
<section id="maven">
<h2 class="section-title">Maven/Grape/SBT</h2>
<p>
The easiest way to start using NLPCraft is to add Maven dependency (Grape, SBT, etc.) to your
project. NLPCraft project consists of a single module.
</p>
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab" href="#nav-maven" role="tab" aria-controls="nav-home" aria-selected="true">Maven <sup>Java</sup></a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-grape" role="tab" aria-controls="nav-profile" aria-selected="false">Grape <sup>Groovy</sup></a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-gradle" role="tab" aria-controls="nav-profile" aria-selected="false">Gradle <sup>Kotlin</sup></a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-sbt" role="tab" aria-controls="nav-contact" aria-selected="false">SBT <sup>Scala</sup></a>
</div>
</nav>
<div class="tab-content">
<div class="tab-pane fade show active" id="nav-maven" role="tabpanel">
<pre class="brush: xml">
&lt;dependency&gt;
&lt;groupId&gt;org.apache.nlpcraft&lt;/groupId&gt;
&lt;artifactId&gt;nlpcraft&lt;/artifactId&gt;
&lt;version&gt;{{site.latest_version}}&lt;/version&gt;
&lt;/dependency&gt;
</pre>
</div>
<div class="tab-pane fade" id="nav-grape" role="tabpanel">
<pre class="brush: java">
@Grab ('org.apache.nlpcraft:nlpcraft:{{site.latest_version}}')
</pre>
</div>
<div class="tab-pane fade" id="nav-gradle" role="tabpanel">
<pre class="brush: java">
dependencies {
runtime group: 'org.apache.nlpcraft', name: 'nlpcraft', version: '{{site.latest_version}}'
}
</pre>
</div>
<div class="tab-pane fade" id="nav-sbt" role="tabpanel">
<pre class="brush: scala">
libraryDependencies += "org.apache.nlpcraft" % "nlpcraft" % "{{site.latest_version}}"
</pre>
</div>
</div>
<div class="bq info">
<p>
<b>Latest Version</b>
</p>
<p>
<code>{{site.latest_version}}</code> is the latest version. You can replace it
with a desired version.
</p>
</div>
</section>
<section id="github">
<h2 class="section-title">GitHub</h2>
<p>
If you want to contribute to the project or build it form the source
you need to get the full developer snapshot from <a target="github" href="https://github.com/apache/incubator-nlpcraft">GitHub</a>:
</p>
<pre class="brush: plain">
$ git clone https://github.com/apache/incubator-nlpcraft.git
$ mvn clean package
</pre>
<div class="bq info">
<p>
<b>GitHub vs. ZIP vs. Maven</b>
</p>
<p>
Use GitHub clone if you want to contribute to the project or build it from source.
To build your own models and integrate into your own application it is recommended to
download ZIP archive or use build tools and add build dependency.
</p>
</div>
</section>
<section id="java-client">
<h2 class="section-title">Java Client <i class="fab fa-java"></i></h2>
<p>
NLPCraft provides native Java Client for <a href="using-rest.html">REST APIs</a>. Java Client is hosted as a separate
<a target="github" href="https://github.com/apache/incubator-nlpcraft-java-client">GitHub project</a> and you
can add Maven dependency (Grape, SBT, etc.) to your project to start using it:
</p>
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab" href="#nav-java-client-maven" role="tab" aria-controls="nav-home" aria-selected="true">Maven <sup>Java</sup></a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-java-client-grape" role="tab" aria-controls="nav-profile" aria-selected="false">Grape <sup>Groovy</sup></a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-java-client-gradle" role="tab" aria-controls="nav-profile" aria-selected="false">Gradle <sup>Kotlin</sup></a>
<a class="nav-item nav-link" data-toggle="tab" href="#nav-java-client-sbt" role="tab" aria-controls="nav-contact" aria-selected="false">SBT <sup>Scala</sup></a>
</div>
</nav>
<div class="tab-content">
<div class="tab-pane fade show active" id="nav-java-client-maven" role="tabpanel">
<pre class="brush: xml">
&lt;dependency&gt;
&lt;groupId&gt;org.apache.nlpcraft&lt;/groupId&gt;
&lt;artifactId&gt;nlpcraft-java-client&lt;/artifactId&gt;
&lt;version&gt;{{site.java_client_latest_version}}&lt;/version&gt;
&lt;/dependency&gt;
</pre>
</div>
<div class="tab-pane fade" id="nav-java-client-grape" role="tabpanel">
<pre class="brush: java">
@Grab ('org.apache.nlpcraft:nlpcraft-java-client:{{site.java_client_latest_version}}')
</pre>
</div>
<div class="tab-pane fade" id="nav-java-client-gradle" role="tabpanel">
<pre class="brush: java">
dependencies {
runtime group: 'org.apache.nlpcraft', name: 'nlpcraft-java-client', version: '{{site.java_client_latest_version}}'
}
</pre>
</div>
<div class="tab-pane fade" id="nav-java-client-sbt" role="tabpanel">
<pre class="brush: scala">
libraryDependencies += "org.apache.nlpcraft" % "nlpcraft-java-client" % "{{site.java_client_latest_version}}"
</pre>
</div>
</div>
<div class="bq info">
<p>
<b>Latest Version</b>
</p>
<p>
<code>{{site.java_client_latest_version}}</code> is the latest Java Client version. You can replace it
with a desired version.
</p>
</div>
</section>
</div>
<div class="col-md-2 third-column">
<ul class="side-nav">
<li class="side-nav-title">On This Page</li>
<li><a href="#src">Source Release</a></li>
<li><a href="#zip">Binary Release</a></li>
<li><a href="#build">Building Binaries</a></li>
<li><a href="#verification">Verification</a></li>
<li><a href="#maven">Maven/Grape/SBT</a></li>
<li><a href="#github">GitHub</a></li>
<li><a href="#java-client">Java Client</a></li>
{% include quick-links.html %}
</ul>
</div>
</div>