

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Apache Tuweni | Downloads</title>
    <link rel="icon"
          type="image/ico"
          href="/assets/themes/apache/img/tuweni_face.ico">
    <meta name="description" content="Apache Tuweni Downloads page">

    <meta name="author" content="">

    <!-- Enable responsive viewport -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!-- Le styles -->
    <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
    <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
    <link href="/css/main.css?body=1" rel="stylesheet" type="text/css">
    <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" />
    <!-- Le fav and touch icons -->
    <!-- Update these with your own images
    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
  -->
  <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>

  </head>

  <body>

    <nav class="navbar-inverse">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/" style="font-family: 'Montserrat Light'">
                <img src="/assets/themes/apache/img/tuweni_face.svg" width="25" height="25">
                Apache Tuweni
            </a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <li id="download">
                    <a href="/download">Download</a>
                </li>
                <li id="community">
                    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
                    <ul class="dropdown-menu dropdown-left">
                        <li><a href="/community">Get Involved</a></li>
                        <li><a href="/community-members">Who we are</a></li>
                    </ul>
                </li>
                <li id="docs">
                    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Docs<b class="caret"></b></a>
                    <ul class="dropdown-menu dropdown-left">
                        <li><a href="/tutorials">Tutorials</a></li>
                        <li><a href="/faq">FAQ</a></li>
                        <li><a href="/docs">Javadoc</a></li>
                    </ul>
                </li>
                <li><a href="https://github.com/apache/incubator-tuweni">GitHub</a></li>
                <li id="apache">
                    <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="https://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
                        <li><a href="https://www.apache.org/licenses/">License</a></li>
                        <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                        <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                        <li><a href="https://www.apache.org/security/">Security</a></li>
                        <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                    </ul>
                </li>
            </ul>
        </div><!-- /.navbar-collapse -->
    </div><!-- /.container-fluid -->
</nav>




    <div class="container" style="margin-top:10px">
      

  <!--<div class="hero-unit Apache Tuweni | Downloads">
  <h1></h1>
</div>
-->

<div class="row">
  <div class="col-md-12">
    <!--

-->

<h2 id="apache-tuweni-downloads">Apache Tuweni Downloads</h2>

<p>Apache Tuweni is made available as a distribution and through Maven Central.</p>

<h3 id="release-artifacts">Release Artifacts</h3>

<table class="table table-hover sortable">
    <thead>
        <tr>
            <th><b>Name</b></th>
            <th><b>Archive</b></th>
            <th><b>SHA-512</b></th>
            <th><b>Signature</b></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Apache Tuweni 2.3.1 (tgz)</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/incubator/tuweni/2.3.1-incubating/tuweni-bin-2.3.1-incubating.tgz">tgz</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-bin-2.3.1-incubating.tgz.sha512">SHA-512</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-bin-2.3.1-incubating.tgz.asc">ASC</a></td>
        </tr>
        <tr>
            <td>Apache Tuweni 2.3.1 (zip)</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/incubator/tuweni/2.3.1-incubating/tuweni-bin-2.3.1-incubating.zip">zip</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-bin-2.3.1-incubating.zip.sha512">SHA-512</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-bin-2.3.1-incubating.zip.asc">ASC</a></td>
        </tr>
        <tr>
            <td>Apache Tuweni 2.3.1 (source tgz)</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/incubator/tuweni/2.3.1-incubating/tuweni-src-2.3.1-incubating.tgz">tgz</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-src-2.3.1-incubating.tgz.sha512">SHA-512</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-src-2.3.1-incubating.tgz.asc">ASC</a></td>
        </tr>
        <tr>
            <td>Apache Tuweni 2.3.1 (source zip)</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/incubator/tuweni/2.3.1-incubating/tuweni-src-2.3.1-incubating.zip">zip</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-src-2.3.1-incubating.zip.sha512">SHA-512</a></td>
            <td><a href="https://downloads.apache.org/incubator/tuweni/2.3.1-incubating/tuweni-src-2.3.1-incubating.zip.asc">ASC</a></td>
        </tr>
        <tr>
            <td>Release Notes</td>
            <td><a href="https://github.com/apache/incubator-tuweni/releases/tag/v2.3.1-incubating/">2.3.1</a></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>

<p>Choose a source distribution in either <em>tar</em> or <em>zip</em> format,
and <a href="https://www.apache.org/dyn/closer.cgi#verify">verify</a>
using the corresponding <em>asc</em> signature (using the committer file in
<a href="https://downloads.apache.org/incubator/tuweni/KEYS">KEYS</a>).
If you cannot do that, the <em>sha512</em> hash file may be used to check that the
download has completed OK.</p>

<p>For fast downloads, current source distributions are hosted on mirror servers;
older source distributions are in the
<a href="https://archive.apache.org/dist/incubator/tuweni/">archive</a>.
If a download from a mirror fails, retry, and the second download will likely
succeed.</p>

<p>For security, hash and signature files are always hosted at
<a href="https://downloads.apache.org">Apache</a>.</p>

<h3 id="maven-central">Maven Central</h3>

<p>You can download Apache Tuweni dependencies through Maven Central.</p>

<p>For Maven:</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dependency&gt;</span>
  <span class="nt">&lt;groupId&gt;</span>org.apache.tuweni<span class="nt">&lt;/groupId&gt;</span>
  <span class="nt">&lt;artifactId&gt;</span>tuweni-bytes<span class="nt">&lt;/artifactId&gt;</span> <span class="c">&lt;!-- swap with the component you want --&gt;</span>
  <span class="nt">&lt;version&gt;</span>2.3.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
</code></pre></div></div>

<p>Gradle:</p>

<div class="language-groovy highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">compile</span> <span class="s1">'org.apache.tuweni:tuweni-bytes:2.3.1'</span>
</code></pre></div></div>

<h3 id="debian-repository">Debian repository</h3>

<p>An <em>unofficial</em> APT repository is maintained under <a href="https://deb.tmio.io">deb.tmio.io</a>.</p>

<h3 id="homebrew">Homebrew</h3>

<p>An <em>unofficial</em> homebrew tap is maintained under this <a href="https://github.com/tmio/homebrew-tuweni">repository</a>.</p>

<p>You can follow these instructions to install Tuweni:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>brew tap tmio/tuweni
brew install tuweni
</code></pre></div></div>

  </div>
</div>


      <hr>
      <footer>
        <!-- <p>&copy; 2022 </p>-->
        <footer class="site-footer">
    <div class="wrapper">
        <div class="footer-col-wrapper">
            
            Apache Tuweni is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
            at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly
            accepted projects until a further review indicates that the infrastructure, communications, and decision
            making process have stabilized in a manner consistent with other successful ASF projects. While incubation
            status is not necessarily a reflection of the completeness or stability of the code, it does indicate that
            the project has yet to be fully endorsed by the ASF.
            <hr>
            
            <div style="text-align:center;">
                
                <div style="margin-top: 20px; margin-bottom: 20px;">
                    <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
                                                               alt="Apache Incubator"/></a>
                </div>
                
                <div>
                    Copyright &copy; 2019-2022 <a href="http://www.apache.org">The Apache Software Foundation</a>.
                    <br>
                    Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
                    2.0</a>.
                    <br>
                    
                    Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache
                    Software Foundation.
                    
                </div>
            </div>
        </div>
    </div>
</footer>

      </footer>
    </div>

    
    

    <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>


  </body>
</html>

