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. |
Updated almost 6 years ago