Citations & Verifiable Claims
Anvil DB is a graph database with native Cypher query language support
cite:graph-database
Hand-written lexer, recursive-descent parser, semantic analyzer, and Volcano-model executor implemented in Rust (anvil-cypher crate, ~20,000 lines across 12 source files).
https://anvildb.com/stats/crates#cypherDocumentation covering all supported Cypher clauses: MATCH, CREATE, MERGE, SET, DELETE, WITH, UNWIND, UNION, ORDER BY, SKIP, LIMIT, FOREACH, OPTIONAL MATCH, and more.
https://anvildb.com/docsProperty graph implementation with nodes, relationships, labels, and property maps (anvil-core crate, ~14,700 lines).
https://anvildb.com/stats/crates#core3,345 tests verify Cypher parsing, pattern matching, aggregation, path traversal, and all query features.
https://anvildb.com/stats/testsAnvil DB provides a built-in GraphQL API with auto-generated schema
cite:graphql
Auto-generates GraphQL types from graph labels and relationship types, with Relay-spec connections for pagination (anvil-graphql crate, ~2,000 lines).
https://anvildb.com/stats/crates#graphqlPOST /graphql endpoint with introspection, filtering, nested traversals, and Cypher passthrough queries.
https://anvildb.com/features#graphqlMarketing page describing GraphQL capabilities including auto-schema generation and real-time subscriptions.
https://anvildb.com/featuresAnvil DB includes a native document store (NoSQL) with schema-namespaced collections
cite:document-store
MemDocumentStore with collections, composite keys, TTL, secondary indexes, and batch operations implemented in anvil-core (~14,700 lines).
https://anvildb.com/stats/crates#coreFull CRUD REST API: GET/PUT/DELETE /docs/{collection}/{id}, POST /docs/{collection}/query for filtering, GET /docs/{collection}/scan for pagination.
https://anvildb.com/docs#documentsCREATE DOCUMENT, MATCH DOCUMENT, UPSERT DOCUMENT, DELETE DOCUMENT clauses extend Cypher for document operations.
https://anvildb.com/docs#cypher-documentsCollections are organized into schemas: public.* for application data and auth.* for system collections (users, roles, tokens). Names are reserved across schemas to prevent conflicts.
https://anvildb.com/docsAnvil extends the Cypher query language with custom syntax for documents, functions, triggers, RLS, and sync
cite:custom-cypher
CREATE DOCUMENT IN collection key { fields }, MATCH DOCUMENT d IN collection WHERE ..., UPSERT DOCUMENT, DELETE DOCUMENT - native document CRUD inside Cypher queries.
https://anvildb.com/docsCREATE FUNCTION with typed parameters (STRING, INT, FLOAT, BOOL, LIST, MAP, ANY, VOID), return types, MUTATING keyword, and CALL...YIELD invocation.
https://anvildb.com/features#functions-triggersCREATE TRIGGER with BEFORE/AFTER timing, INSERT/UPDATE/DELETE events, OLD/NEW pseudo-variables, PRIORITY ordering, and RAISE for abort.
https://anvildb.com/features#functions-triggersCREATE POLICY with USING predicates, FOR SELECT/INSERT/UPDATE/DELETE/ALL, permissive and restrictive modes, session variables for multi-tenancy.
https://anvildb.com/features#rlsSYNC LABEL ... TO COLLECTION with KEY, INCLUDE, SKIP TRIGGERS. Bidirectional, graph-to-document, or document-to-graph directions with conflict resolution.
https://anvildb.com/features#document-storeComplete documentation covering all Anvil Cypher extensions organized into 16 subsections.
https://anvildb.com/docsAnvil DB supports ACID transactions with MVCC, snapshot isolation, and deadlock detection
cite:acid-transactions
Page-based storage engine with write-ahead logging (WAL), ARIES-style crash recovery, B+ tree indexes, and MVCC implementation (anvil-storage crate, ~16,700 lines).
https://anvildb.com/stats/crates#storageMulti-version concurrency control with version chains, three isolation levels (read committed, repeatable read, serializable), record-level locking with intent locks, and deadlock detection via wait-for graph.
https://anvildb.com/features#transactionsWrite-ahead log with CRC32 checksums, checkpoint records, and ARIES-protocol redo/undo phases for crash recovery (anvil-storage crate, 52 source files).
https://anvildb.com/stats/crates#storageAnvil DB is organized into 14 modular Rust workspace crates
cite:workspace-crates
All 14 workspace crates listed with source files, lines of code, test ratios, modules, and dependencies: core, storage, cypher, graphql, server, cli, algorithms, client, cluster, migration, plugin-sdk, apoc, benches, tests.
https://anvildb.com/stats/cratesDetailed breakdown of each crate: source files, lines of code, test ratio, public modules, and internal dependencies.
https://anvildb.com/stats/cratesFeatures page describing the modular architecture and separation of concerns across workspace crates.
https://anvildb.com/features#storageThe codebase has 3,345 tests comprising 37% of the total code
cite:test-suite
Interactive browser listing all 3,345 tests organized by module, with search and filter capabilities.
https://anvildb.com/stats/testsRun 'cargo test --workspace -- --list' to enumerate all tests. Run 'cargo test --workspace' to execute the full suite.
https://anvildb.com/stats/testsPer-crate breakdown showing test line counts. Total: 142,287 lines of Rust, 52,613 lines (37%) are test code inside #[cfg(test)] blocks.
https://anvildb.com/stats/crates207-assertion integration test script (scripts/test-cypher.sh) that verifies Cypher queries, aggregation, relationships, document operations, and more against a running Anvil instance.
https://anvildb.com/stats/tests55+ built-in APOC functions across 9 modules
cite:apoc-functions
anvil-apoc crate implementing 53 functions across bitwise, collections, conversion, date/time, import/export, math, graph refactoring, spatial/geospatial, and text similarity modules (~1,686 lines).
https://anvildb.com/stats/crates#apocComplete listing of every APOC function with module, signature, and description - generated directly from source code doc comments.
https://anvildb.com/stats/apocOfficial client drivers for Rust, TypeScript/JavaScript, Python, and Go
cite:client-drivers
Monorepo containing all four drivers with URI parsing (anvil:// and anvil+tls://), JWT auth with auto-refresh, Cypher queries, transactions, GraphQL, and document operations.
https://anvildb.com/start#client-driversQuick Start guide showing connection examples in all four languages with the anvilent package.
https://anvildb.com/start#client-driversHammer is a desktop administration app for macOS and Windows, built with Tauri, React and TypeScript
cite:hammer-ui
Signed installers for macOS (universal) and Windows. Tauri 2, React Router 7, React 19, TypeScript, Tailwind CSS 4. Includes Cypher editor, GraphQL playground, graph visualization (D3.js), document manager, admin panel, and more.
https://github.com/anvildb/hammer/releasesQuick Start guide for installing and deploying Hammer UI, including npm setup, production build, and Docker.
https://anvildb.com/start#hammer-uiBuilt-in graph algorithms: PageRank, Dijkstra, community detection, centrality, and more
cite:graph-algorithms
anvil-algorithms crate with modules: centrality (PageRank, betweenness, closeness, degree), community (Louvain, label propagation), path (Dijkstra, A*, BFS, DFS), similarity, traversal (~2,198 lines).
https://anvildb.com/stats/crates#algorithmsDescription of all built-in algorithms executed natively on the storage engine.
https://anvildb.com/features#algorithmsTLS encryption via Rustls with PEM certificate configuration
cite:tls-support
tls_cert and tls_key settings in [server] section of anvil.toml, or ANVIL_TLS_CERT and ANVIL_TLS_KEY environment variables.
https://anvildb.com/start#configurationaxum-server with tls-rustls feature in workspace dependencies. Server conditionally binds with TLS when cert/key paths are configured.
https://anvildb.com/stats/cratesWritten in Rust (edition 2024, minimum Rust 1.85)
cite:rust-language
Cargo.toml specifies edition = "2024", rust-version = "1.85". All crates inherit workspace settings.
https://anvildb.com/stats/crates143,844 lines of Rust across 217 source files in 14 crates. No runtime dependencies on external databases or VMs.
https://anvildb.com/stats/crates