fsprojects/FSharp.AWS.DynamoDB
65.4
Adequate · 3 October 2026
5.4k
lines of production code
F#
primary language
2
measurements over time
What this system is
FSharp.AWS.DynamoDB is an idiomatic F\# wrapper for the Amazon DynamoDB SDK that provides a type-safe API for interacting with DynamoDB tables. It enables developers to construct queries, updates, and projections using F\# quotations and supports the serialization of complex F\# types through a comprehensive pickler system. The library also includes utilities for managing table schemas, credentials, and attribute validation.
Features
Initial implementation of DynamoDB picklers for F\# types
The library now includes a complete set of picklers in the \src/FSharp.AWS.DynamoDB/Picklers\ directory, enabling the serialization and deserialization of F\# types to and from Amazon DynamoDB \AttributeValue\ instances. This change introduces support for primitive types (booleans, strings, numbers, bytes, GUIDs, dates), F\#-specific constructs (records, unions, options, lists, sets, maps, tuples), and collection types (lists, sets, maps). The implementation relies on the TypeShape library to resolve picklers at runtime and handles DynamoDB-specific data types such as String Sets, Number Sets, and Byte Sets.
src/FSharp.AWS.DynamoDB/Picklers · high confidence
Initial release of FSharp.AWS.DynamoDB version 0.13.2
This entry introduces the FSharp.AWS.DynamoDB library (version 0.13.2), an F\# wrapper over the standard Amazon DynamoDB SDK. The release provides a type-safe API for interacting with DynamoDB tables, featuring record-based key schema extraction via attributes (HashKey, RangeKey, GlobalSecondaryIndex, LocalSecondaryIndex), and support for conditional, update, and projection expressions using F\# quotations. It includes utilities for managing table provisioning (Provisioned/OnDemand) and streaming, as well as credential retrieval from environment variables and the local AWS credentials store. A scripting example (Script.fsx) is also included to demonstrate usage with both cloud and local DynamoDB instances.
src/FSharp.AWS.DynamoDB · high confidence
Initial repository structure and F\# coding conventions
The repository is initialized with the FSharp.AWS.DynamoDB solution, including the main library and test projects, along with a FAKE-based build script (build.fsx) and release notes. An .editorconfig file is added to enforce F\# coding conventions via Fantomas, such as indentation, line lengths, and spacing rules. The project targets .NET 9 via global.json and includes standard configuration files like .gitignore and .gitattributes.
(repo-wide) · high confidence
Introduce F\# quotation-based expression builders for DynamoDB queries, updates, and projections
The library now provides a new \Expression\ module that converts F\# quotations into DynamoDB expression strings, enabling type-safe query conditions, update operations, and projection expressions. Users can define conditional queries using standard F\# operators (e.g., \&&\, \\|\|\, \\<\>\), perform updates via record syntax or imperative operations (SET, REMOVE, ADD, DELETE), and specify projections as tuples of record fields, with the library handling the underlying DynamoDB attribute name and value placeholders.
src/FSharp.AWS.DynamoDB/Expression · high confidence
New utility module for DynamoDB attribute handling and validation
The library introduces a new internal utility module (src/FSharp.AWS.DynamoDB/Utils) that provides core support for DynamoDB operations. This includes custom equality and hashing logic for AWS SDK AttributeValue objects to ensure correct comparison in collections, helper functions for printing attribute values for debugging, and validation logic for DynamoDB table and field names (enforcing length and character constraints). It also adds general-purpose F\# utilities such as environment variable resolution and expression pattern matching helpers.
src/FSharp.AWS.DynamoDB/Utils · high confidence
Test coverage
Added comprehensive test suite for FSharp.AWS.DynamoDB
Added a new set of integration and unit tests in the \tests/FSharp.AWS.DynamoDB.Tests\ directory to verify core library functionality. The suite covers conditional expressions, pagination across primary keys, LSIs, and GSIs, projection expressions, update expressions, sparse GSI behavior, and transactional writes. It also includes tests for record schema generation, attribute value round-tripping, and metrics collection via a custom collector.
tests · high confidence
Dependencies
Initial release of FSharp.AWS.DynamoDB targeting .NET 8
This change introduces the initial project structure for FSharp.AWS.DynamoDB, an idiomatic F\# wrapper for the AWS DynamoDB SDK. The library targets .NET Standard 2.0 and 2.1, while the test suite targets .NET 8.0. Key dependencies include AWSSDK.DynamoDBv2 (v4.0.15.0+), TypeShape (v10.0.0), and FSharp.Core (v4.7.2+). The project uses Paket for dependency management and includes a comprehensive test suite using xUnit, FsCheck, and Microsoft.NET.Test.Sdk.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 65 → 65 (+0.1)
- Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 92 → 92 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 50 → 50 (+0.0)
- Readiness 63 → 63 (+0.0)
- Security 95 → 97 (+1.7)
Resolved (3)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1
New (1)
- Off-boarding risk: anonymized user #1
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
fsprojects/FSharp.AWS.DynamoDB was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit cedd12607c4e03e0f05ecf853160eda623550f80 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.