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

TechnologyLanguage or platformNotes
.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.NETAutofac manages the lifetime of components that implement the Seq API, background task system, and other dynamic composition scenarios.
Angular.jsJavaScriptThe Seq UI is built from AngularJS components.
babel-polyfillJavaScriptBabel makes it possible for us to use cutting-edge ECMAScript features while targeting most browsers in current use.
bincodeRustCompact binary serialization for on-disk metadata files.
bit-vecRustSeq's signal indexes use bit-vec for logical operations.
bytesRustWhen we wrangle bytes, we wrangle them with this.
byteorderRustUsed for endian-aware byte encoding throughout Seq's native storage engine.
CodeMirrorJavaScriptThe fast and beautiful Seq query syntax highlighting is implemented on CodeMirror.
failure and failure_deriveRustSane and streamlined Rust error handling.
fs2RustUseful for cross-platform file locking APIs.
JSON.NET.NETJSON.NET is our go-to JSON parser, used throughout the Seq .NET codebase.
lazy_staticRustEssential for non-constant static data in Rust programs.
libcRustCross-platform Rust/C standard library bindings.
Lightning.NET.NETLightning.NET is a friendly .NET wrapper for LMDB.
LMDBNativeLMDB 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.NETManagedEsent is a high-quality .NET wrapper for ESENT.
memmapRustCross-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.jsJavaScriptThe essential library for date handling in JavaScript.
murmurhash-net.NET@EventType is generated by this great implementation of the Murmur3 hash algorithm.
parking_lotRustGreat alternative synchronization primitives for Rust.
Perfect ScrollbarJavaScriptWe love these neat, compact scrollbars, and use them throughout the Seq UI.
PikadayJavaScriptThe Seq UI's date pickers are built upon this library.
Plotly.jsJavaScriptWe use Plotly.js to generate ad-hoc and dashboard charts.
SemVer.NETSemVer helps us parse version numbers from NuGet package feeds
serde and serde_deriveRustSerialization used throughout our Rust codebase.
Serilog.NETSeq internally uses Serilog for diagnostics and telemetry. Structured logging FTW ;-)
snapRustSeq's native storage engine uses this crate for Snappy compression on Linux and Windows.
Snappy for Windows and CRC-32C for .NETNative/.NETOn Windows, the ESENT-based storage implementation compresses all data using Snappy compression.
Sprache.NETThe Seq filter expression language is parsed using Sprache.
Superpower.NETSQL-style queries are parsed using Superpower.
Tavis UriTemplates.NETThe Seq HTTP API uses URI templates throughout, processed using this great library.
Underscore.jsJavaScriptAn essential companion in our JavaScript programming.
URI Template JSJavaScriptOn the client-side, URI template interactions are through this handy implementation.
uuidRustUUIDs, for Rust.
winapiRustWindows API bindings.