AtlasLedger.Model
0.1.1
dotnet add package AtlasLedger.Model --version 0.1.1
NuGet\Install-Package AtlasLedger.Model -Version 0.1.1
<PackageReference Include="AtlasLedger.Model" Version="0.1.1" />
<PackageVersion Include="AtlasLedger.Model" Version="0.1.1" />
<PackageReference Include="AtlasLedger.Model" />
paket add AtlasLedger.Model --version 0.1.1
#r "nuget: AtlasLedger.Model, 0.1.1"
#:package AtlasLedger.Model@0.1.1
#addin nuget:?package=AtlasLedger.Model&version=0.1.1
#tool nuget:?package=AtlasLedger.Model&version=0.1.1
AtlasLedger
AtlasLedger (AtlasLedger.Model) is an open-source financial ledger
engine: account/tenant modeling, an in-memory graph data model (accounts,
edges, nodes, symbols, tenants, users) with async row-level locking, backed
by an Entity Framework Core DbContext, plus a generated REST API surface
(ASP.NET Core MVC controllers) over that model.
What lives here, and what doesn't
This repo ships the engine, as a NuGet package (AtlasLedger.Model) -
the ledger data model, its generated controllers, and the tenant-membership
domain logic (ITenantMembership/TenantMembership). It is designed to be
consumed either as a library inside your own host, or via its own generated
controllers if you host it directly.
It deliberately does not ship:
- A
Program.cs/ hosting setup, or any deployment configuration - Authentication wiring (which identity provider, which tenant, which
client ID) -
ITenantContextis defined here as an interface; a concrete implementation that reads a specific auth setup's claims belongs in whoever hosts this - Anything touching real customer data, credentials, or billing
Tangent Atlas's own production deployment - TangentAtlas.LedgerService
- is a separate, private repository that references this package, supplies
the auth-specific
ITenantContextimplementation, and adds hosting, deployment, and business-specific configuration on top. If you're looking for a way to just run a ledger, this package plus a small host project (seeTangentAtlas.LedgerService'sProgram.csfor a working example shape) is the pattern.
Data model
The model is generated from AtlasLedger.Model/Ledger.xsd via a custom
single-file generator (DataModelGenerator) into Ledger.Designer.cs. Do
not hand-edit Ledger.Designer.cs - extend the model by editing Ledger.xsd
and re-running the generator (right-click the .xsd in Visual Studio →
"Run Custom Tool").
Building
dotnet restore
dotnet build
dotnet pack --configuration Release
Contributing
See CONTRIBUTING.md.
License
| 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
- Asp.Versioning.Abstractions (>= 10.1.0)
- DotNext (>= 6.5.0)
- DotNext.Threading (>= 6.5.0)
- Microsoft.EntityFrameworkCore (>= 10.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.10)
- Microsoft.EntityFrameworkCore.SqlServer (>= 10.0.10)
- Microsoft.OpenApi (>= 2.11.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.