Zen.CanonicaLib.DataAnnotations
1.5.0
See the version list below for details.
dotnet add package Zen.CanonicaLib.DataAnnotations --version 1.5.0
NuGet\Install-Package Zen.CanonicaLib.DataAnnotations -Version 1.5.0
<PackageReference Include="Zen.CanonicaLib.DataAnnotations" Version="1.5.0" />
<PackageVersion Include="Zen.CanonicaLib.DataAnnotations" Version="1.5.0" />
<PackageReference Include="Zen.CanonicaLib.DataAnnotations" />
paket add Zen.CanonicaLib.DataAnnotations --version 1.5.0
#r "nuget: Zen.CanonicaLib.DataAnnotations, 1.5.0"
#:package Zen.CanonicaLib.DataAnnotations@1.5.0
#addin nuget:?package=Zen.CanonicaLib.DataAnnotations&version=1.5.0
#tool nuget:?package=Zen.CanonicaLib.DataAnnotations&version=1.5.0
CanonicaLib
CanonicaLib is an open-source library that enables teams to create and maintain canonical shared libraries across multiple projects. It transforms C# source code into standards-compliant packages for different platforms.
🎯 Purpose
CanonicaLib bridges gaps between development teams and prevents silos by enabling shared concepts and ideas through canonical models. Define contracts once in C#, generate packages for multiple platforms:
- Standards-compliant .NET NuGet packages
- OpenAPI specifications
- TypeScript NPM packages (planned)
This approach ensures consistent data models, API contracts, and shared capabilities across teams, promoting collaboration and reducing duplication.
✨ Features
- Canonical Model Definitions: Define data models once using C# classes with attributes
- OpenAPI Generation: Automatically generate OpenAPI specs from attributed interfaces
- Schema Generation: Convert C# types to JSON schemas using reflection
- XML Documentation: Extract descriptions from XML docs automatically
- Cross-Platform Packages: Generate packages for multiple platforms from single source
🏗️ Architecture
Core Packages
CanonicaLib.DataAnnotations(.NET Standard 2.1): Core attributes for marking canonical contractsCanonicaLib.UI(.NET 8): OpenAPI generation and discovery services
🚀 Getting Started
Please see the Getting Started Guide to get started
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
📄 License
Licensed under the Apache License 2.0 - see LICENSE file for details. Copyright © 2025 Zen Internet Ltd
📋 Roadmap
- Enhanced schema generation with reflection
- XML documentation integration
- OpenAPI extensions support
- TypeScript NPM package generation
- CLI tooling
- Enhanced webhook support
🏷️ Version History
See CHANGELOG.md for a detailed history of changes and releases.
CanonicaLib - Building canonical contracts for modern development teams.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.AspNetCore.Mvc.Core (>= 2.3.0)
- Microsoft.OpenApi (>= 2.3.9)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Zen.CanonicaLib.DataAnnotations:
| Package | Downloads |
|---|---|
|
Zen.CanonicaLib.UI
Provides UI services and OpenAPI generation capabilities for CanonicaLib. Includes schema generation, discovery services, and OpenAPI specification creation from canonical C# definitions. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.0 | 107 | 3/6/2026 |
| 1.7.0-prerelease.209 | 38 | 3/6/2026 |
| 1.7.0-prerelease.207 | 56 | 3/4/2026 |
| 1.7.0-prerelease.204 | 35 | 3/4/2026 |
| 1.6.0-rc.210 | 39 | 3/6/2026 |
| 1.6.0-rc.206 | 37 | 3/4/2026 |
| 1.6.0-rc.205 | 34 | 3/4/2026 |
| 1.6.0-rc.201 | 45 | 3/4/2026 |
| 1.6.0-rc.199 | 33 | 3/4/2026 |
| 1.6.0-rc.197 | 30 | 3/4/2026 |
| 1.6.0-rc.195 | 38 | 3/4/2026 |
| 1.6.0-rc.193 | 46 | 3/4/2026 |
| 1.6.0-rc.191 | 48 | 2/20/2026 |
| 1.5.0 | 192 | 12/19/2025 |
| 1.5.0-rc.185 | 134 | 12/19/2025 |
| 1.4.0 | 383 | 12/18/2025 |
| 1.4.0-rc.182 | 227 | 12/18/2025 |
| 1.4.0-rc.180 | 234 | 12/18/2025 |
| 1.4.0-prerelease.184 | 141 | 12/19/2025 |
| 1.4.0-prerelease.181 | 234 | 12/18/2025 |