JavaPermutationTools (JPT) is a Java library for representing and generating permutations and sequences, as well as performing computation on permutations and sequences. This includes implementations of a variety of permutation distance metrics as well as distance metrics on sequences (i.e., Strings, arrays, and other ordered data types).

The source code is hosted on GitHub; and is licensed under the GNU General Public License Version 3 (GPLv3). The library's jar files are regularly published to Maven Central, from which it is easily imported into software projects using Maven and other commonly used build tools. Additionally, there is a GitHub repository of example programs that show basic usage of the JPT library, as well as replication programs that reproduce results found in published papers.

For more information see the JavaPermutationTools website. Potential contributors, please see the source repository, and/or contact Vincent A. Cicirello.

Packages 
Package Description
org.cicirello.math
Collection of classes related to a variety of mathematical concepts.
org.cicirello.math.la
Collection of classes related to linear algebra.
org.cicirello.math.rand
Collection of classes related to random number generation.
org.cicirello.math.stats
Collection of classes related to statistics.
org.cicirello.permutations
Collection of classes related to representing and manipulating permutations.
org.cicirello.permutations.distance
Implementations of a variety of permutation distance measures.
org.cicirello.sequences
Classes that perform a variety of operations on sequences (such as arrays, etc).
org.cicirello.sequences.distance
Implementations of distance measures for general sequences of various forms, including Strings, arrays of primitive types, arrays of objects, etc.
org.cicirello.util
This package includes classes and interfaces that serve some useful utility purpose.