PiwikPRO.Core 1.0.1

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

PiwikPRO.Core

Core infrastructure package for the official Piwik PRO .NET SDK. This package provides authentication, HTTP client, and shared configuration used by PiwikPRO.Analytics and PiwikPRO.Tracking.

Tip: Most applications should install PiwikPRO.Analytics or PiwikPRO.Tracking directly — they include PiwikPRO.Core automatically.

Features

  • OAuth 2.0 Authentication — Client credentials flow with automatic, thread-safe token refresh
  • Static Access Token — Simple token-based authentication for quick setups
  • Resilient HTTP Client — Built-in retry policies with exponential backoff for HTTP 429 (rate limiting) and 5xx errors
  • Retry-After Support — Honors Retry-After headers from rate limit responses
  • ASP.NET Core Integration — First-class dependency injection via AddPiwikProCore()
  • Configurable — Timeouts, retry attempts, backoff delays, and more

Installation

dotnet add package PiwikPRO.Core

Quick Start

using PiwikPRO.Core.Extensions;

builder.Services.AddPiwikProCore(options =>
{
    options.BaseUrl = "https://your-instance.piwik.pro";
    options.ClientId = "your-client-id";
    options.ClientSecret = "your-client-secret";
});

Or with a static access token:

builder.Services.AddPiwikProCore(options =>
{
    options.BaseUrl = "https://your-instance.piwik.pro";
    options.AccessToken = "your-access-token";
});

Configuration Options

Property Type Description Default
BaseUrl string Your Piwik PRO instance URL Required
ClientId string OAuth client ID Required for OAuth
ClientSecret string OAuth client secret Required for OAuth
AccessToken string? Static access token Optional
WebSiteId string? Default website ID for queries Optional
TimeoutSeconds int HTTP request timeout 30
EnableRateLimitHandling bool Automatic retry on rate limiting true
MaxRetryAttempts int Maximum retry attempts 3
RetryDelaySeconds int Base delay between retries 2
MaxRetryDelaySeconds int Maximum delay between retries 30
Package Description
PiwikPRO Meta-package — installs Analytics + Tracking
PiwikPRO.Analytics Query builder, reporting, sessions, real-time events
PiwikPRO.Tracking Server-side tracking, JS snippet generation
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on PiwikPRO.Core:

Package Downloads
PiwikPRO.Tracking

Official Piwik PRO .NET SDK for server-side tracking. Send page views, custom events, goal conversions, file downloads, outlink clicks, and site searches directly from your .NET application. Also includes JavaScript tracking code and Tag Manager snippet generation for embedding Piwik PRO on web pages. Supports custom dimensions, visitor variables, and full ASP.NET Core dependency injection.

PiwikPRO.Analytics

Official Piwik PRO .NET SDK for analytics and reporting. Query your Piwik PRO data with a fluent query builder, access sessions and real-time events, manage goals and custom dimensions, and stream large datasets. Features strongly-typed dimension/metric constants, date range utilities, pagination, aggregation functions, and full ASP.NET Core dependency injection support.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 133 2/26/2026