Documentation
DocumentationDiscussions
Documentation
These docs are for v2020.2. Click to read the latest docs for v2024.3.

Acknowledgements

Seq and its associated apps and tooling are made possible by many excellent tools, libraries, and frameworks built by others.

Technology

Language or platform

Notes

.NET Core

.NET

.NET Core is the lightweight, cross-platform runtime on which the Seq server is built. Read more about how we use .NET Core.

Autofac

.NET

Autofac manages the lifetime of components that implement the Seq API, background task system, and other dynamic composition scenarios.

Angular.js

JavaScript

The Seq UI is built from AngularJS components.

babel-polyfill

JavaScript

Babel makes it possible for us to use cutting-edge ECMAScript features while targeting most browsers in current use.

bincode

Rust

Compact binary serialization for on-disk metadata files.

bit-vec

Rust

Seq's signal indexes use bit-vec for logical operations.

bytes

Rust

When we wrangle bytes, we wrangle them with this.

byteorder

Rust

Used for endian-aware byte encoding throughout Seq's native storage engine.

CodeMirror

JavaScript

The fast and beautiful Seq query syntax highlighting is implemented on CodeMirror.

failure and failure_derive

Rust

Sane and streamlined Rust error handling.

fs2

Rust

Useful for cross-platform file locking APIs.

JSON.NET

.NET

JSON.NET is our go-to JSON parser, used throughout the Seq .NET codebase.

lazy_static

Rust

Essential for non-constant static data in Rust programs.

libc

Rust

Cross-platform Rust/C standard library bindings.

Lightning.NET

.NET

Lightning.NET is a friendly .NET wrapper for LMDB.

LMDB

Native

LMDB is a fast, flexible, and very reliable key-value store. On Linux, we use LMDB to store Seq's configuration data. On Windows, a (now-deprecated) LMDB storage option was implemented prior to the introduction of Flare Native Storage.

Managed ESENT

.NET

ManagedEsent is a high-quality .NET wrapper for ESENT.

memmap

Rust

Cross-platform memory mapped files: we use this throughout Seq's storage engine.

Modern UI Icons

Many of the icons in the Seq user interface are based on, or inspired by, icons from this set.

Moment.js

JavaScript

The essential library for date handling in JavaScript.

murmurhash-net

.NET

@EventType is generated by this great implementation of the Murmur3 hash algorithm.

parking_lot

Rust

Great alternative synchronization primitives for Rust.

Perfect Scrollbar

JavaScript

We love these neat, compact scrollbars, and use them throughout the Seq UI.

Pikaday

JavaScript

The Seq UI's date pickers are built upon this library.

Plotly.js

JavaScript

We use Plotly.js to generate ad-hoc and dashboard charts.

SemVer

.NET

SemVer helps us parse version numbers from NuGet package feeds

serde and serde_derive

Rust

Serialization used throughout our Rust codebase.

Serilog

.NET

Seq internally uses Serilog for diagnostics and telemetry. Structured logging FTW ;-)

snap

Rust

Seq's native storage engine uses this crate for Snappy compression on Linux and Windows.

Snappy for Windows and CRC-32C for .NET

Native/.NET

On Windows, the ESENT-based storage implementation compresses all data using Snappy compression.

Sprache

.NET

The Seq filter expression language is parsed using Sprache.

Superpower

.NET

SQL-style queries are parsed using Superpower.

Tavis UriTemplates

.NET

The Seq HTTP API uses URI templates throughout, processed using this great library.

Underscore.js

JavaScript

An essential companion in our JavaScript programming.

URI Template JS

JavaScript

On the client-side, URI template interactions are through this handy implementation.

uuid

Rust

UUIDs, for Rust.

winapi

Rust

Windows API bindings.