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 | .NET Core is the lightweight, cross-platform runtime on which the Seq server is built. Read more about how we use .NET Core. | |
.NET | Autofac manages the lifetime of components that implement the Seq API, background task system, and other dynamic composition scenarios. | |
JavaScript | The Seq UI is built from AngularJS components. | |
JavaScript | Babel makes it possible for us to use cutting-edge ECMAScript features while targeting most browsers in current use. | |
Rust | Compact binary serialization for on-disk metadata files. | |
Rust | Seq's signal indexes use | |
Rust | When we wrangle bytes, we wrangle them with this. | |
Rust | Used for endian-aware byte encoding throughout Seq's native storage engine. | |
JavaScript | The fast and beautiful Seq query syntax highlighting is implemented on CodeMirror. | |
Rust | Sane and streamlined Rust error handling. | |
Rust | Useful for cross-platform file locking APIs. | |
.NET | JSON.NET is our go-to JSON parser, used throughout the Seq .NET codebase. | |
Rust | Essential for non-constant static data in Rust programs. | |
Rust | Cross-platform Rust/C standard library bindings. | |
.NET | Lightning.NET is a friendly .NET wrapper for 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. | |
.NET | ManagedEsent is a high-quality .NET wrapper for ESENT. | |
Rust | Cross-platform memory mapped files: we use this throughout Seq's storage engine. | |
Many of the icons in the Seq user interface are based on, or inspired by, icons from this set. | ||
JavaScript | The essential library for date handling in JavaScript. | |
.NET |
| |
Rust | Great alternative synchronization primitives for Rust. | |
JavaScript | We love these neat, compact scrollbars, and use them throughout the Seq UI. | |
JavaScript | The Seq UI's date pickers are built upon this library. | |
JavaScript | We use Plotly.js to generate ad-hoc and dashboard charts. | |
.NET | SemVer helps us parse version numbers from NuGet package feeds | |
| Rust | Serialization used throughout our Rust codebase. |
.NET | Seq internally uses Serilog for diagnostics and telemetry. Structured logging FTW ;-) | |
Rust | Seq's native storage engine uses this crate for Snappy compression on Linux and Windows. | |
Native/.NET | On Windows, the ESENT-based storage implementation compresses all data using Snappy compression. | |
.NET | The Seq filter expression language is parsed using Sprache. | |
.NET | SQL-style queries are parsed using Superpower. | |
.NET | The Seq HTTP API uses URI templates throughout, processed using this great library. | |
JavaScript | An essential companion in our JavaScript programming. | |
JavaScript | On the client-side, URI template interactions are through this handy implementation. | |
Rust | UUIDs, for Rust. | |
Rust | Windows API bindings. |
Updated 20 days ago