Viren.Execution 1.0.5

Suggested Alternatives

Viren.Execution 1.1.0

Additional Details

The Viren application will stop using the service Auth0 and switch to API Key authentication. This change is being made to improve performance, stability and security for our clients. Please update your package to the latest version before August 1st, 2023. For further questions you can contact our support team at viren-support@viren.be.

There is a newer version of this package available.
See the version list below for details.
dotnet add package Viren.Execution --version 1.0.5                
NuGet\Install-Package Viren.Execution -Version 1.0.5                
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="Viren.Execution" Version="1.0.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Viren.Execution --version 1.0.5                
#r "nuget: Viren.Execution, 1.0.5"                
#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.
// Install Viren.Execution as a Cake Addin
#addin nuget:?package=Viren.Execution&version=1.0.5

// Install Viren.Execution as a Cake Tool
#tool nuget:?package=Viren.Execution&version=1.0.5                

Build status

Viren.NET

.NET client for the Viren API

Packages

Package Version
Viren.Core NuGet version
Viren.Execution NuGet version
Viren.Execution.Extensions.DependencyInjection NuGet version

Examples

Viren namespaces and alias

using Viren.Execution;
using Environment = Viren.Core.Enums.Environment;

Creating a client

var auth0ClientId = "";
var auth0ClientSecret = "";
var environment = Environment.Production;
var httpClient = VirenHttpClientFactory.Create(auth0ClientId, auth0ClientSecret, environment);
var executionClient = new ExecutionClient(httpClient);

Execute calculation

var request = new ExecuteCalculationRequest()
{
    Project = "Project",
    Model = "Model",
    Version = 1,
    Revision = null,
    Root = new Dictionary<string, object>
    {
        { "Input", 5 }
    },
    EntryPoint = "RootBlock",

    // Optionally specify an identifier to mark multiple calls as part of a single user session
    ClientSessionId = "my-session-identifier"
};
var calculation = client.Calculation.Execute(request);
calculation.Wait();
return calculation.Result.Result;

Batch calculation

using Viren.Execution;
using Viren.Execution.Requests.Clients;
using Viren.Execution.Requests.Calculations;
using Newtonsoft.Json.Linq;

var client = new ExecutionClient(clientId, clientSecret, Viren.Core.Enums.Environment.Production);

// Optionally register webhook once to receive feedback (multiple registrations simply overwrite existing registration)
var setWebHookRequest = new SetWebHookRequest
{
    // Viren will callback on this url at /api/webhook/calculation/complete (for request content see Viren.Execution.Requests.WebHook.CalculationCompleteRequest)
    // Depending on your batch size, 1 or more calls will be made until the batch calculation has completed
    Url = "http://<your callback endpoint>/",
                
    // Optional OAuth configuration which Viren should use to request an access token to call url specified above, 
    // if not required leave TokenEndpoint and other settings empty
    TokenEndpoint = "https://<your oauth token endpoint>/",
    ClientId = "<client_id>",
    ClientSecret = "<client_secret>",
    Audience = "<audience>",
};
client.Calculation.RegisterWebHook(setWebHookRequest).Wait();

// Execute batch calculaton
var request = new ExecuteCalculationBatchRequest
{
    Inputs = new List<ExecuteCalculationBatchInput>
    {
        new ExecuteCalculationBatchInput
        {
            Project = "Project",
            Model = "Model",
            Version = 1,
            Revision = null,
            EntryPoint = "BlockName",
            CalculationInputHeaders = new List<string>{ "Input1", "Input2" },
            CalculationInputs = new List<ExecuteCalculationBatchInputItem>
            {
                new ExecuteCalculationBatchInputItem { RequestId = "<your correlation id>", Root = new List<JValue> { new JValue("Input1 value"), new JValue("Input2 value")  } }
            }
        },
        // ...optionally other models to calculate in the same batch
    }
};
var batch = client.Calculation.Batch(request);
batch.Wait();

var errors = batch.Result.ValidationMessages;
var batchId = batch.Result.BatchId;

// If webhook is registered, callbacks will contain received batch id with calculation results

Get tables from model

var request = new GetLookupTablesRequest()
{
    Project = "Project",
    Model = "Model",
    Version = 1,
    Revision = null,
    GlobalIds = new []{"CarTable", "WageTable"}
};
var tables = client.Model.GetTables(request);
tables.Wait();
return tables.Result.Result;
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  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. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.3 is compatible.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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 Viren.Execution:

Package Downloads
Viren.Execution.Extensions.DependencyInjection

.NET dependency injection extensions for the Viren Execution API

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.3 919 7/6/2023
1.1.2 854 5/24/2023
1.1.1 859 5/10/2023
1.1.0 1,430 5/5/2023
1.1.0-rc.1 77 5/3/2023
1.0.5 4,587 12/10/2021
1.0.4 1,241 12/10/2021
1.0.3 5,530 2/24/2020
1.0.2 1,403 11/19/2019
1.0.1 1,124 11/8/2019
1.0.0 1,162 9/30/2019
0.13.0 2,419 9/4/2019
0.12.2 1,249 8/2/2019
0.12.1 1,217 7/31/2019
0.12.0 1,239 7/23/2019
0.11.0 1,696 7/5/2019
0.10.0 2,282 6/4/2019
0.9.0 1,368 6/3/2019
0.9.0-alpha.3 330 5/31/2019
0.9.0-alpha.2 303 5/31/2019
0.9.0-alpha.1 301 5/31/2019
0.8.2 1,224 5/17/2019
0.8.1 1,232 5/15/2019
0.8.0 1,186 5/15/2019
0.7.4 1,220 5/10/2019
0.7.3 1,187 5/10/2019
0.7.2 1,238 4/29/2019
0.7.1 1,285 3/11/2019
0.7.0 1,279 3/11/2019
0.6.1 1,202 2/21/2019
0.6.0 1,243 2/20/2019
0.5.7 1,353 2/7/2019
0.5.6 1,301 1/25/2019
0.5.5 1,217 1/25/2019
0.5.4 1,297 1/16/2019
0.5.3 1,322 1/16/2019
0.5.2 1,329 1/3/2019
0.5.1 1,306 12/21/2018
0.4.0 1,372 12/11/2018
0.3.0 1,332 12/5/2018
0.2.0 1,807 11/5/2018
0.2.0-rc.1 445 10/31/2018
0.0.1 1,513 10/24/2018