Jazmin 1.2.0

dotnet add package Jazmin --version 1.2.0
                    
NuGet\Install-Package Jazmin -Version 1.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jazmin" Version="1.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jazmin" Version="1.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Jazmin" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Jazmin --version 1.2.0
                    
#r "nuget: Jazmin, 1.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Jazmin@1.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Jazmin&version=1.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Jazmin&version=1.2.0
                    
Install as a Cake Tool

Jazmin

JAZMIN is a compact, indexed, optionally encrypted file format for lists of records. This is the library for .NET 10, shaped like Newtonsoft.Json and with no third-party dependencies. It reads and writes the same files as the JavaScript library (npm: @smithsoft-studios/jazmin).

dotnet add package Jazmin
using Jazmin;
using Jazmin.Serialization;

// One-liners, like Newtonsoft.Json
var key = JazminKey.Generate(); // store it safely, e.g. in a secrets vault
byte[] bytes = JazminConvert.SerializeObject(customers, new() { Key = key });
List<Customer> back = JazminConvert.DeserializeObject<List<Customer>>(bytes, new() { Key = key })!;

// Query a file: only the index pages and the chunks holding matches are read
using var reader = JazminReader.Open("customers.jzm", new() { Key = key });
var za = reader.Query<Customer>(c => c.Country == "ZA" && c.Name.Contains("Smith")).ToList();

// Or a whole LINQ query run by the reader: the condition, Skip/Take and Count read only what they need
var page = reader.AsQueryable<Customer>().Where(c => c.Country == "ZA").Skip(20).Take(10).ToList();

What it does

  • Small files: about 24× smaller than JSON, and 61% smaller than gzipped JSON.
  • Fast lookups with little memory: a query reads the index and the matching chunks, not the whole file.
  • Encryption: AES-256-GCM on every section, with tamper detection.
  • Access control: one file, many keys. Each access key sees only its rows and columns, and keys can expire.
  • Several tables per file, embedded files, and append-only updates.
  • Records sent back: people with an access key send records back in small files locked with their submission key, which only someone who opened the shared file has; the owner derives it to check and file them.
  • Newtonsoft-style serializer: attributes, converters, naming strategies, default values, polymorphism and references.
  • LINQ the reader runs: AsQueryable<T>() turns conditions, Skip/Take, counts and sort order into one query on the file, reading only the columns it uses.
  • Memory or speed first, key and password changes without rewriting rows, and rows as a JSON stream.
  • ASP.NET Core: the Jazmin.AspNetCore package serves a file's embedded files from an endpoint.

Full documentation, the format specification and the JavaScript library: github.com/SmithSoft-Studios/JAZMIN.

MIT licence.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Jazmin:

Package Downloads
Jazmin.AspNetCore

ASP.NET Core endpoints for JAZMIN (.jzm) files: MapJazminFiles serves a file's embedded files (invoices, photos, videos) per key, with byte ranges, ETags and a sandbox for stored pages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0 33 10/8/2026
1.1.0 51 10/6/2026
1.0.0 68 10/3/2026