blob: cd5ac92ee1e9223197c7df9e26b5ea7c1c38a29b [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.
<ul>
<li>
Java 8 and Scala 2.11 are required to build NLPCraft (Java 11 is NOT supported).
</li>
<li>
For runtime Java 8 or later is supported.
</li>
</ul>
</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>
<p>
The above release files should be verified using the PGP signatures and the <a href="https://downloads.apache.org/incubator/nlpcraft/KEYS">project release KEYS</a>.
See official ASF <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verification instructions</a> for a description of using the PGP and KEYS files for verification.
A SHA512 checksum is also provided as an alternative verification method.
</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 <b>are not official</b> 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>
<b>Unpack the source package:</b>
<pre class="brush: plain">
$ unzip -q apache-nlpcraft-incubating-{{site.latest_version}}.zip
$ cd apache-nlpcraft-incubating-{{site.latest_version}}
</pre>
<b>Build NLPCraft:</b>
<pre class="brush: plain">
$ mvn clean package -DskipTests
</pre>
<p>
Built JARs and Javadoc will be located in <code>target</code> sub-folder.
</p>
</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. Following instructions assume binary release on Mac OS/Linux environment but the verification steps are
similar for Windows.
</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-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-sha256" role="tabpanel">
<pre class="brush: plain, highlight: [2,3]">
# Run these two commands and compare generated hashes:
$ openssl dgst -sha256 apache-nlpcraft-incubating-{{site.latest_version}}.zip
$ cat apache-nlpcraft-incubating-{{site.latest_version}}.zip.sha256
</pre>
</div>
<div class="tab-pane fade show" id="nav-macos-pgp" role="tabpanel">
<pre class="brush: plain, highlight: [2]">
# NOTE: make sure to have GPGTools (gpgtools.org) installed.
$ gpg --verify apache-nlpcraft-incubating-{{site.latest_version}}.zip.asc apache-nlpcraft-incubating-{{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-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-sha256" role="tabpanel">
<pre class="brush: plain, highlight: [1]">
$ sha256sum --check apache-nlpcraft-incubating-{{site.latest_version}}.zip.sha256
</pre>
</div>
<div class="tab-pane fade show" id="nav-linux-pgp" role="tabpanel">
<pre class="brush: plain, highlight: [1]">
$ gpg --verify apache-nlpcraft-incubating-{{site.latest_version}}.zip.asc apache-nlpcraft-incubating-{{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> mirror:
</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>