Archetypical.Software.Vega.Api.Abstractions 2.7.1

dotnet add package Archetypical.Software.Vega.Api.Abstractions --version 2.7.1
                    
NuGet\Install-Package Archetypical.Software.Vega.Api.Abstractions -Version 2.7.1
                    
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="Archetypical.Software.Vega.Api.Abstractions" Version="2.7.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Archetypical.Software.Vega.Api.Abstractions" Version="2.7.1" />
                    
Directory.Packages.props
<PackageReference Include="Archetypical.Software.Vega.Api.Abstractions" />
                    
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 Archetypical.Software.Vega.Api.Abstractions --version 2.7.1
                    
#r "nuget: Archetypical.Software.Vega.Api.Abstractions, 2.7.1"
                    
#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 Archetypical.Software.Vega.Api.Abstractions@2.7.1
                    
#: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=Archetypical.Software.Vega.Api.Abstractions&version=2.7.1
                    
Install as a Cake Addin
#tool nuget:?package=Archetypical.Software.Vega.Api.Abstractions&version=2.7.1
                    
Install as a Cake Tool

Archetypical.Software.Vega.Api.Abstractions

archetypical-logo

Base controllers, dependency injection helpers, and common abstractions for building ASP.NET Core APIs, often used with Dapr.

Nuget

Overview

This package provides a set of tools and conventions to accelerate the development of robust, observable, and configurable web APIs. It includes:

  • Simplified application setup (CreateVegaApi, UseVegaApiDefaults).
  • Base DbContext (VegaDbContext) with multi-provider support.
  • Integrated Dapr features (Distributed Cache, Remote Configuration).
  • Configuration options (VegaApiOptions) to easily enable/disable features like OData, Swagger, OpenTelemetry, Health Checks, etc.
  • Standardized configuration loading from appsettings.json and environment variables.

Installation

Install the package via NuGet:

# .NET CLI
dotnet add package Archetypical.Software.Vega.Api.Abstractions

# Package Manager
Install-Package Archetypical.Software.Vega.Api.Abstractions

You will also likely need packages for the features you intend to use, such as:

  • Microsoft.EntityFrameworkCore.SqlServer / Npgsql.EntityFrameworkCore.PostgreSQL / etc. (for DbContext)
  • Dapr.AspNetCore (for Dapr integration)
  • Swashbuckle.AspNetCore (for Swagger, often included by default)
  • OpenTelemetry.Extensions.Hosting / OpenTelemetry.Instrumentation.AspNetCore / etc. (for OpenTelemetry)

Basic Usage (Program.cs)

using Archetypical.Software.Vega.Api.Abstractions;

var builder = VegaApiApplication.CreateVegaApi(options =>
{
    // --- Configure Core API Options --- 
    options.ServiceName = "MyMicroservice";
    options.ServiceDescription = "Provides core business logic.";

    // --- Toggle Features --- 
    // options.TurnOff.OData = true; // Example: Disable OData
    // options.TurnOff.Dapr = true; // Example: Disable Dapr (and related features)

    // --- Custom Configuration Actions --- 
    options.ODataBuilder = modelBuilder =>
    {
        // Configure your OData model here
        // modelBuilder.EntitySet<Product>("Products");
    };

    options.HealthChecks = healthChecksBuilder =>
    {
        // Add custom health checks
        // healthChecksBuilder.AddCheck<MyCustomHealthCheck>("custom_check");
    };

}, args);

// --- Register Application Services ---
// builder.Services.AddScoped<IMyService, MyService>();

// --- Register DbContext (if using VegaDbContext) ---
// Must inherit from VegaDbContext
// builder.Services.AddDbContext<MyAppContext>(); 

var app = builder.Build();

// --- Apply Vega Middleware & Initializers ---
app.UseVegaApiDefaults(); 

// --- Configure Standard ASP.NET Core Middleware ---
// app.UseHttpsRedirection(); 
app.UseAuthentication();
app.UseAuthorization();

app.MapControllers();

// Optional: Map Dapr subscription handler if using pub/sub
// app.MapSubscribeHandler(); 

app.Run();

Documentation

For detailed information on configuration and features, please refer to the documentation in the docs folder:

Key areas include:

Contributing

[Details on contributing, code of conduct, etc.]

License

[License information]

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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 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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Archetypical.Software.Vega.Api.Abstractions:

Package Downloads
Archetypical.Software.Vega.Api.IntegrationTests.Framework

Reusable integration test framework for applications built on Archetypical.Software.Vega.Api.Abstractions.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.7.1 172 1/10/2026
2.7.0 70 1/9/2026
2.6.0 64 1/9/2026
2.5.0 97 12/31/2025
2.4.0 175 10/13/2025
2.3.0 199 9/22/2025
2.2.0 162 9/8/2025
2.1.1 160 9/8/2025
2.1.0 239 5/5/2025
2.0.3 224 4/12/2025
2.0.2 143 4/11/2025
2.0.1 224 4/10/2025
2.0.0 240 4/9/2025
1.5.0 213 4/7/2025
1.4.0 209 4/2/2025
1.3.0 177 4/1/2025
1.2.8 183 3/31/2025
1.2.7 199 3/31/2025
1.2.6 170 3/27/2025
1.2.5 173 3/27/2025
Loading failed