Apache License - Fluid Topics - 4.2

Fluid Topics Installation Guide

Operating system
Reference Guides

These libraries are under the Apache v2.0 license.



Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other.

Apache Cassandra is a NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

Apache Commons is an Apache project focused on all aspects of reusable Java components.

HttpClient may be of interest to anyone building HTTP-aware client applications such as web browsers, web service clients, or systems that leverage or extend the HTTP protocol for distributed communication.

The Apache HttpComponents™ project is responsible for creating and maintaining a tool set of low level Java components focused on HTTP and associated protocols.

HttpCore is a set of low level HTTP transport components that can be used to build custom client and server side HTTP services with a minimal footprint.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

A major use of the Apache POI API is for Text Extraction applications such as web spiders, index builders, and content management systems.

Apache Shiro is a Java security framework that performs authentication, authorization, cryptography, and session management.

The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.

Apache Velocity is a Java-based template engine that provides a template language to reference objects defined in Java code.

The Apache Santuari project is aimed at providing implementation of the primary security standards for XML: XML-Signature Syntax and Processing, and XML Encryption Syntax and Processing.

The Java Apereo CAS client consists of a collection of Servlet filters that are suitable for most Java-based web applications. It also serves as an API platform to interact with the CAS server programmatically to make authentication requests, validate tickets and consume principal attributes.

AssertJ provides a set of assertions, error messages and improves the test code readability.

The Auto subprojects are a collection of code generators that automate those types of tasks. They create the code you would have written, but without the bugs.

AutoValue offers generated immutable value classes for Java 1.6+.

Bean Validation is a Java specification which:

  • Lets you express constraints on object models via annotations.
  • Lets you write custom constraints in an extensible way.
  • Provides the APIs to validate objects and object graphs.
  • Provides the APIs to validate parameters and return values of methods and constructors.
  • Reports the set of violations (localized).
  • Runs on Java SE but is integrated in Java EE 6 and later; Bean Validation 2.0 is part of Java EE 8.

Bootstrap is a free and open-source front-end library for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions.

BrowserMob Proxy helps web developers watch and manipulate network traffic from their AJAX applications. BrowserMob Proxy allows you to manipulate HTTP requests and responses, capture HTTP content, and export performance data as a HAR file.

BSON for Jackson is pluggable BSON generator and parser for the Jackson JSON processor.

The buji-pac4j project is an easy and powerful security library for Shiro web applications which supports authentication and authorization, but also advanced features like CSRF protection. It is based on Java 8, Shiro 1.4 and on the pac4j security engine v2.

Byte Buddy is a code generation and manipulation library for creating and modifying Java classes during the runtime of a Java application and without the help of a compiler.

cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access.

Cassandra Driver is a modern, feature-rich and highly tunable C/C++ client library for Apache Cassandra 2.1+ using exclusively Cassandra's binary protocol and Cassandra Query Language v3.

Client-side GChart is a GWT chart library that supports line, pie, bar, area, and combination charts, popups, mouse events, and more.

concurrentLinkedHashMap is a library to provide an implementation of Java's HashMap that works correctly in multi-threaded applications.

Cryptacular is a complement to the Bouncy Castle Crypto APIs for Java.

The CSS Parser is implemented as a package of Java classes, that inputs Cascading Style Sheets source text and outputs a Document Object Model Level 2 Style tree.

Data Mapper package is a high-performance data binding package built on Jackson JSON processor.

DataStax is a modern, feature-rich and highly tunable Java client library for Apache Cassandra (2.1+) and using exclusively Cassandra's binary protocol and Cassandra Query Language v3.

Disruptor is an open source Java library written by LMAX. It is a programming framework designed to process a large number of transactions with low latency.

DITA-OT — DITA Open Toolkit is an open-source publishing engine for content authored in the Darwin Information Typing Architecture — extensible publishing power for DITA workflows.

Eclipse Jetty provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.

Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time.

fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. It is free software distributed under the Apache License 2.0. It requires Java 7 or newer.

FindBugs offers annotations for software defect detection.

Folly (acronymed loosely after Facebook Open Source Library) is a library of C++11 components designed with practicality and efficiency in mind. Folly contains a variety of core library components used extensively at Facebook.

Fongo is an in-memory java implementation of MongoDB. It intercepts calls to the standard mongo-java-driver for finds, updates, inserts, removes and other methods. The primary use is for lightweight unit testing where you don't want to spin up a mongod process.

Gatling is an async Scala-Akka-Netty based Load Test Tool.

GeoJson POJOs is a small package of all GeoJson POJOs (Plain Old Java Objects) for serializing and deserializing of objects via JSON Jackson Parser.

GIN (Gwt INjection) brings automatic dependency injection to Google Web Toolkit client-side code. GIN is built on top of Guice and uses (a subset of) Guice's binding language. (See GuiceCompatibility for details.) By using GWT's compile-time Generator support, GIN has little-to-no runtime overhead compared to manual DI.

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google.

Graphite-API is an alternative to Graphite-web, without any built-in dashboard. Its role is solely to fetch metrics from a time-series database (whisper, cyanite, etc.) and rendering graphs or JSON data out of these time series.

Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

GSS on Steroids unleashes the power of GSS and CSS3 in your GWT application.

Guava (Google Core Libraries for Java) is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, an in-memory cache, and APIs/utilities for concurrency, I/O, hashing, primitives, reflection, string processing, and much more!

Guava is a suite of core and expanded libraries that include utility classes, google's collections, io classes, and much much more. This project includes GWT-friendly sources.

GWT is a development toolkit for building and optimizing complex browser-based applications. Its goal is to enable productive development of high-performance web applications without the developer having to be an expert in browser quirks, XMLHttpRequest, and JavaScript.

GwtChosen Chosen is a javascript plugin (for jQuery and Prototype) that makes long, unwieldy select boxes much more user-friendly. GwtChosen is a port of the jquery version of Chosen for GWT Web Toolkit. It is not a wrapper but a complete rewrite using the GWT standards. It is available as a GwtQuery plugin or as a widget.

GWT Crypto is a partial port of the Bouncycastle J2ME crypto library with parts taken from GWTx.

gwt-dnd is a library providing easy to use mouse or touch (for mobile devices) based drag-and-drop capabilities to Google Web Toolkit (GWT) projects.

GWT HashCode/Equals is a port of Apache Commons Lang's HashCodeBuilder and EqualsBuilder to GWT.

The Google Web Toolkit (GWT) Incubator fosters additional widgets and libraries for GWT before they are added to the core toolkit. The project is managed by the GWT engineering team at Google, and is used as a place to share, discuss, and vet future or speculative GWT features. Future releases of GWT may or may not use these features, but you are welcome to pull them from here to use today.

gwt-jackson is a JSON parser for GWT. It uses Jackson 2.x annotations to customize the serialization/deserialization process.

gwt-log library provides easy-to-use logging capabilities. It works transparently on both the client and the server, while providing compile time elimination of client logging code via deferred binding for GWT.

GWT-OpenLayers is a Java wrapper for the OpenLayers JavaScript API. It allows GWT projects to use the OpenLayers JavaScript API.

GwtMockito solves GWT-related testing problems by allowing you to call GWT.create from JUnit tests, returning Mockito mocks.

GWTP is a complete model-view-presenter framework to simplify your next GWT project. (clients common, client, and shared)

Hamcrest is a library of matchers, which can be combined in to create flexible expressions of intent in tests. They've also been used for other purposes.

Hibernate Validator allows to express and validate application constraints. The default metadata source are annotations, with the ability to override and extend through the use of XML. It is not tied to a specific application tier or programming model and is available for both server and client application programming.

HtmlUnit is a "GUI-Less browser for Java programs". It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc... just like you do in your "normal" browser.

HtmlUnit adaptation of NekoHtml. It has the same functionality but exposing HTMLElements to be overridden.

ImageMagick® was designed to create, edit, compose, or convert bitmap images.

Java API for handling configuration files in Windows .ini format.

J2ObjC (Java to Objective-C Translator and Runtime) is an open-source command-line tool from Google that translates Java source code to Objective-C for the iOS (iPhone/iPad) platform. This tool enables Java source to be part of an iOS application's build, as no editing of the generated files is necessary.

Jackson is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Guava, Joda, PCollections and many, many more (see below).

jackson-databind-java-optional is a shim library to support mapping Java8 Optionals through Jackson.

Jackson JSON Schema Module supports the creation of a JSON Schema (v3) This module is intended to be an upgrade path from the hardcoded JSON Schema generation currently in jackson databind (pre 2.1), in order to allow for the generation of arbitrary formats specifying the expected output from a particular jackson enabled application.

Jamm (Java Agent for Memory Measurements) provides MemoryMeter, a java agent to measure actual object memory use including JVM overhead.

JavaEWAH is a compressed alternative to the Java BitSet class.

JavaPoet is a Java API for generating .java source files.

Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it.

The javax.inject package specifies a means for obtaining objects in such a way as to maximize reusability, testability and maintainability compared to traditional approaches such as constructors, factories, and service locators (e.g., JNDI). This process, known as dependency injection, is beneficial to most nontrivial applications.

Java Foreign Function Interface is used for Java bindings for libffi.

JNA (Java Native Access) allows you to call directly into native functions using natural Java method invocation.

Java Native Runtime (JNR) constants project contains Java enums for common POSIX constants. It is predominately used to make calls into jnr-posix far simpler.

Java Abstracted Foreign Function Layer (jnr-ffi) is a java library for loading native libraries without writing JNI code by hand, or using tools such as SWIG.

Joda-Time provides a quality replacement for the Java date and time classes. Joda-Time is the de facto standard date and time library for Java prior to Java SE 8.

Jongo allows to query in Java as in Mongo shell.

Builds mini parsers in pure Java.

JSON.simple is a simple Java toolkit for JSON. You can use JSON.simple to encode or decode JSON text.

The JSONPath RW library provides a robust and significantly extended implementation of JSONPath for Python.

JVM Integration for Metrics is a set of classes which allow you to monitor critical aspects of your Java Virtual Machine using Metrics.

Kafka® is used for building real-time data pipelines and streaming apps.

Port of Google's language-detection library to Python.

The indented syntax of Less is a nested metalanguage, as valid CSS is valid Less code with the same semantics. Less provides the following mechanisms: variables, nesting, mixins, operators and functions; the main difference between Less and other CSS precompilers being that Less allows real-time compilation via less.js by the browser.

libphonenumber is a Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers.

LittleProxy is a high performance HTTP proxy written in Java atop Trustin Lee's excellent Netty event-based networking library. It's quite stable, performs well, and is easy to integrate into your projects.

LMAX Disruptor backed Thrift Server implementation (half-sync/half-async).

The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.

LZ4 - Java is a Java port of the popular lz4 compression algorithms and xxHash hashing algorithm.

LZF-compress is a Java library for encoding and decoding data in LZF format.

MapDB provides Java Maps, Sets, Lists, Queues and other collections backed by off-heap or on-disk storage. It is a hybrid between java collection framework and embedded database engine.

The central library for Metrics is metrics-core, which provides some basic functionality:

  • Metric registries.
  • The five metric types: Gauges, Counters, Histograms, Meters, and Timers.
  • Reporting metrics values via JMX, the console, CSV files, and SLF4J loggers.

Coda Hale's Metrics package makes it easy to create useful metrics so you know what is going on in production. In addition to showing up in the normal Java places (JMX), Metrics supports an arbitrary number of Reporters (where to send the application telemetry to make pretty graphs). Ganglia and Graphite (or both!) are among the most popular choices.

mod_fcgid is a high performance alternative to mod_cgi or mod_cgid, which starts a sufficient number instances of the CGI program to handle concurrent requests, and these programs remain running to handle further incoming requests.

The official MongoDB Java Driver providing both synchronous and asynchronous interaction with MongoDB. Powering the drivers is a new driver core and BSON library.

MongoDB Legacy C++ Driver is a C++ library allowing to communicate with MongoDB and query it.

The Java driver for MongoDB.

NekoHTML is a simple HTML scanner and tag balancer that enables application programmers to parse HTML documents and access the information using standard XML interfaces.

Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible.

NLTK (Natural Language Toolkit) is a leading platform for building Python programs to work with human language data.

Objenesis is a small Java library designed to instantiate a new object of a particular class.

Off-Heap concurrent (OHC) hash map is intended to store GBs of serialized data.

OpenSAML is a set of open source C++ & Java libraries used in support of the Shibboleth Project's implementation of the Security Assertion Markup Language (SAML).

Note: Also under BSD License

The OWASP HTML Sanitizer is a fast and easy to configure HTML Sanitizer written in Java which lets you include HTML authored by third-parties in your web application while protecting against XSS.

PAC4J is the security library for Java.

packaging offers the core utilities for Python packages.

Python Build Reasonableness is a library for managing setuptools packaging needs in a consistent manner.

Proxool is a Java connection pool.

PyMongo - the Python driver for MongoDB.

pyOpenSSL is a rather thin wrapper around (a subset of) the OpenSSL library.

Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system.

Raptor is a free software / Open Source C library that provides a set of parsers and serializers that generate Resource Description Framework (RDF) triples by parsing syntaxes or serialize the triples into a syntax.

Rasqal is a free software / Open Source C library that handles Resource Description Framework (RDF) query language syntaxes, query construction and execution of queries returning results as bindings, boolean, RDF graphs/triples or syntaxes.

Redland is a set of free software C libraries that provide support for the Resource Description Framework (RDF).

Requests is the only Non-GMO HTTP library for Python, safe for human consumption.

Restlet Framework helps Java developers build better web APIs that follow the REST architecture style.

RestyGWT is a GWT generator for REST services and JSON encoded data transfer objects.

ROME is a Java framework for RSS and Atom feeds. It's open source and licensed under the Apache 2.0 license.

Scour is an SVG optimizer/cleaner that reduces the size of scalable vector graphics by optimizing structure and removing unnecessary data written in Python.

Selenium is a suite of tools to automate web browsers across many platforms.

System Information Gatherer And Reporter (Sigar) is a free software library that provides a cross-platform, cross-language programming interface to low-level information on computer hardware and operating system activity.

SitemapGen4j is an XML sitemap generator written in Java.

YAML is a data serialization format designed for human readability and interaction with scripting languages. SnakeYAML is a YAML processor for the Java Virtual Machine.

snappy-java is a Java port of the Snappy library, a fast C++ compresser/decompresser developed by Google.

Spark is a fast and general cluster computing system for Big Data.

This library lets you expose Cassandra tables as Spark RDDs, write Spark RDDs to Cassandra tables, and execute arbitrary CQL queries in your Spark applications.

Spring makes it easy to create Java enterprise applications. It provides everything you need to embrace the Java language in an enterprise environment, with support for Groovy and Kotlin as alternative languages on the JVM, and with the flexibility to create many kinds of architectures depending on an application’s needs.

Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can "just run".

The Springfox suite of Java libraries are all about automating the generation of machine and human readable specifications for JSON APIs written using the Spring family of projects.

SpringFramework Extensions Surf is a Java library to support creating user interfaces for web applications using server-side scripts.

SQLite JDBC is a library for accessing and creating SQLite database files in Java.

sqlite4java is a minimalistic Java wrapper for SQLite.

StAX (Streaming API for XML) API is the standard java XML processing API defined by JSR-173.

Stream-lib is a Java library for summarizing data in streams for which it is infeasible to store all events.

Super CSV is a fast, programmer-friendly, open-source library for reading and writing CSV files with Java.

Tapestry is a component-oriented framework for creating highly scalable web applications in Java.

TestPackage is a simple Java library designed to make it easy to bundle JUnit tests in standalone executable JAR form, rather than the traditional model of running them from an Ant/Maven/Gradle build script.

Totoe (Maori for "to split, divide") is a XML parser for GWT. Totoe comes with JSONPath support when parsing JSON and XPath and namespace support when parsing XML. It originated from Pirit a JSON and XML mapper for GWT.

Woodstox is a very powerful toolkit for XML processing.

Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types.

Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program.

xml-commons provides an Apache-hosted set of DOM, SAX, and JAXP interfaces for use in other xml-based projects.

XMLBeans is a technology for accessing XML by binding it to Java types.

ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

The zt-tip (ZeroTurnaround ZIP Library) project is intended to have a small, easy and fast library to process ZIP archives. Either create, modify or explode them. On disk or in memory.