JsonPit 3.8.1
See the version list below for details.
dotnet add package JsonPit --version 3.8.1
NuGet\Install-Package JsonPit -Version 3.8.1
<PackageReference Include="JsonPit" Version="3.8.1" />
<PackageVersion Include="JsonPit" Version="3.8.1" />
<PackageReference Include="JsonPit" />
paket add JsonPit --version 3.8.1
#r "nuget: JsonPit, 3.8.1"
#:package JsonPit@3.8.1
#addin nuget:?package=JsonPit&version=3.8.1
#tool nuget:?package=JsonPit&version=3.8.1
JsonPit
Stores JsonPits, json files with a value history, across machines/servers ("eventually persistent").
Start Here
If you want to use JsonPit 3.8.1 from NuGet in another service or agent workflow, start with GettingStarted.md.
That guide now covers:
- package setup for
JsonPit,RaiUtils, andOsLibCore - current
PitandPitItemusage patterns - the recommended long-lived in-memory server usage pattern
- querying and enumeration patterns that are actually supported
- persistence and synchronized-storage expectations
- a practical
PersonPitexample for OTW / AfricaStage style backend work
3.8.1
- Coordinated release: aligns JsonPit with
OsLibCore 3.8.1andRaiUtils 3.8.1in the current publish order. - Keeps the WWWA-based quick-start section in GettingStarted.md for cloud-path pit creation and sample JSON5 seeding.
- The supported cloud-backed provider claim is now
OneDrive,GoogleDrive, andDropbox. PitItem.Idis now the canonical framework identifier.- Legacy payloads that still contain
NamewithoutIdare normalized internally by copyingNameintoId, while preservingName. - Future use of
Nameas an application-defined custom field remains supported. - Remote-sync workflows continue to align with OsLib's configurable metadata propagation delay handling, including the
mkdirpolymorphism package line update in OsLib. - Live docs and release-note pointers were refreshed for the
3.8.1release line, and this README is packaged with the NuGet release.
namespace
JsonPit
classes
<details> <summary>ItemsBase: Base container holding a key identifier for item groups.</summary>
- ItemsBase:
Key</details>
<details> <summary>JsonPitBase: Common base for pits with config, flags, and persistence helpers.</summary>
- JsonPitBase:
ReadOnly,Backup,RunningOnMaster,MasterUpdatesAvailable,ChangeDir,JsonFile</details>
<details> <summary>TimestampedValue: Value with an attached timestamp and round-trip string format.</summary>
- TimestampedValue:
Value,Time,ToString</details>
<details> <summary>MasterFlagFile: Flag file used to track master ownership and last update time.</summary>
- MasterFlagFile:
Originator,Time,Update</details>
<details> <summary>ProcessFlagFile: Flag file used to track the current process and last update time.</summary>
- ProcessFlagFile:
Process,Update,CurrentProcessId</details>
<details> <summary>PitItem: JSON-backed item with metadata and change tracking.</summary>
- PitItem:
Id,Modified,Deleted,Note,SetProperty,DeleteProperty</details>
<details> <summary>PitItemExtensions: Helpers for comparing items and aligning timestamps.</summary>
- PitItemExtensions:
Equals,isLike,aligned</details>
<details> <summary>PitItems: History stack of PitItem versions for a single key.</summary>
- PitItems:
Push,Peek,Get,Merge,Count</details>
<details> <summary>Pit: JsonPit file container with item history and persistence.</summary>
- Pit:
Add,Get,GetAt,Delete,Save,MergeChanges,Keys</details>
cloud root convention
JsonPit resolves cloud-backed storage locations through OsLib, but the current approach is to read an explicit configured root from Os.Config.Cloud rather than relying on a preferred-root helper.
For Ubuntu development machines, especially when Google Drive is mounted through rclone, GNOME integration, or a team-specific mount path, prefer explicit configuration instead of probe-only discovery.
Recommended shared contract:
- Use
RAIkeep.json5to point the supported provider rootsCloud.Dropbox,Cloud.OneDrive, andCloud.GoogleDriveat the active synchronized mounts. - Keep that file at
~/.config/RAIkeep.json5. - Reuse the same PascalCase keys as OsLib.
That keeps JsonPit aligned with OsLib in .NET today and with the upcoming Python OsLib, RaiUtils, and JsonPit packages later.
<details> <summary>Item: Base item with modified tracking and dirty state management.</summary>
- Item:
Id,Modified,Deleted,Delete,Valid,Validate,Invalidate</details>
@see GettingStarted.md for the practical onboarding guide, or check the unit tests for lower-level API examples.
release notes
- Latest release notes: RELEASE_NOTES_3.8.1.md
| Product | Versions 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. |
-
net10.0
- Jil (>= 2.17.0)
- Newtonsoft.Json (>= 13.0.4)
- OsLibCore (>= 3.8.1)
- RaiUtils (>= 3.8.1)
- Sigil (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on JsonPit:
| Package | Downloads |
|---|---|
|
HDitem.Persist
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.8.7 | 87 | 5/16/2026 |
| 3.8.6 | 87 | 5/16/2026 |
| 3.8.3 | 91 | 5/16/2026 |
| 3.8.1 | 125 | 5/11/2026 |
| 3.8.0 | 101 | 5/10/2026 |
| 3.7.9 | 103 | 5/10/2026 |
| 3.7.8 | 90 | 5/5/2026 |
| 3.7.7 | 90 | 5/1/2026 |
| 3.7.6 | 105 | 4/16/2026 |
| 3.7.5 | 104 | 4/14/2026 |
| 3.7.2 | 114 | 3/29/2026 |
| 3.7.1 | 103 | 3/29/2026 |
| 3.6.1 | 114 | 3/27/2026 |
| 3.5.2 | 107 | 3/22/2026 |
| 3.4.0 | 103 | 3/18/2026 |
| 2.3.1 | 116 | 2/19/2026 |
| 2.2.0 | 693 | 7/23/2022 |
| 2.1.2 | 778 | 10/24/2019 |
| 2.1.1 | 710 | 10/23/2019 |
| 2.1.0 | 707 | 10/22/2019 |
3.8.1 release: aligns JsonPit with the mkdir-polymorphism package line (OsLibCore 3.8.1 and RaiUtils 3.8.1) while keeping JsonPit API and persistence behavior stable.