What you will do
Install exactly the published source archive, then configure a private Sandbox example.
Python
Python setup
Use Python 3.11–3.14 and a working HTTPS certificate store. The official package is published on PyPI with GitHub source. Create a virtual environment, then install:
python3 -m venv .venv
.venv/bin/python -m pip install "kdpika-licensing==1.1.5"
.venv/bin/python -m pip check
On native Windows use py -m venv .venv, then .venv\\Scripts\\python.exe for both pip commands and the example. Import kdpika_licensing. Use the same virtualenv interpreter for pip and your example.
JavaScript / Node.js
JavaScript setup
Requires Node.js 18+ source compatibility, npm and an authenticated backend, CLI or Electron main process. Do not run this SDK in a web page. Download JavaScript SDK 1.0.0 and extract into kdpika-javascript-sdk, then run:
npm install --ignore-scripts --save-exact ./kdpika-javascript-sdk
Save your example with the .mjs extension. The installed module is @kdpika/license-sdk. Choose a maintained Node runtime for production and run the compatibility tests there.
PHP
PHP setup
Requires PHP 8.2+, cURL, Sodium and Composer. The package's older ^8.1 declaration is not its actual minimum. Download PHP SDK 1.0.0 and extract into kdpika-php-sdk:
composer install --working-dir ./kdpika-php-sdk --no-interaction --no-plugins --no-scripts --prefer-dist
The example loads that folder's vendor/autoload.php. It runs on your trusted backend or CLI, not in browser JavaScript. KDP_SDK_DIR can point to a different extracted package folder.
C# / .NET
C# setup
Requires the .NET SDK and the unchanged SDK's net7.0 source target. Download C# SDK 1.0.0 and extract into kdpika-csharp-sdk. Save the project below beside that folder:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup><OutputType>Exe</OutputType><TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems></PropertyGroup>
<ItemGroup><Compile Include="Program.cs"/>
<ProjectReference Include="kdpika-csharp-sdk/KDPika.LicenseSdk/KDPika.LicenseSdk.csproj"/>
</ItemGroup>
</Project>
dotnet restore Guide.csproj
The demonstrated net7 target is an existing compatibility constraint, not a recommendation to deploy an end-of-support runtime. Production needs a maintained-runtime compatibility assessment; see the disclosed SDK limitations.
cURL / other language
cURL setup
This is a transport exercise, not an SDK or signature verifier. Use this route for a REST-only language, then follow its real client and verification project before granting access.
umask 077
curl --fail --silent --show-error -o response-private.json \
-H "X-App-ID: $KDP_APP_ID" -H "X-Environment: SANDBOX" \
-H "Content-Type: application/json" \
--data '{"license_key":"YOUR_SANDBOX_LICENSE_KEY","device_id":"guide-install-CHANGE-ONCE"}' \
https://licensing.kdpika.com/api/v1/licenses/activate
Replace the key privately. Keep the device_id stable for this installation. The file contains a private activation token: do not publish or log it. HTTP success alone does not authorize your app. Read activation, then choose your REST client and signature verification.
Configure this terminal
Set these variables in your terminal. App ID is public; your customer's key and state directory are private. Do not use a developer API key in this client.
macOS / Linux · Bash
export KDP_APP_ID="YOUR_PUBLIC_APP_ID"
export KDP_CUSTOMER_EMAIL="YOUR_TEST_CUSTOMER_EMAIL"
export KDP_STATE_DIR="$HOME/.kdpika-guide-sandbox"
read -r -s -p "Sandbox license key: " KDP_LICENSE_KEY
printf '\n'
export KDP_LICENSE_KEY
For a different device test, use a new private state directory, not a different email.
Windows · PowerShell
$env:KDP_APP_ID = "YOUR_PUBLIC_APP_ID"
$env:KDP_CUSTOMER_EMAIL = "YOUR_TEST_CUSTOMER_EMAIL"
$env:KDP_STATE_DIR = Join-Path $env:LOCALAPPDATA "KDPikaGuideSandbox"
$secureKey = Read-Host "Sandbox license key" -AsSecureString
$env:KDP_LICENSE_KEY = [System.Net.NetworkCredential]::new("", $secureKey).Password
The variable is plaintext in this process; do not print it or leave it in a shared terminal. Close the terminal after testing. Windows Python uses .venv\\Scripts\\python.exe; Node/PHP/.NET commands are the same if their runtimes are installed.
Expected result: the variables are available only to this terminal and its child processes. Use a user-owned directory, outside a web root or shared repository. The sample uses Sandbox explicitly.
Expected result
Your chosen runtime can load the SDK and write private installation state. Python uses its verified PyPI release; other SDKs retain their documented source-install requirements.
If it does not work
If extraction creates another directory level, point the install command at the folder containing pyproject.toml, package.json, composer.json or KDPika.LicenseSdk.csproj. PHP needs 8.2+ despite older metadata.
Stage checklist
- I installed my chosen SDK from its source ZIP.
- I configured App ID, test email, Sandbox key and private state path.
Next steps
Continue to Stage 7: Activate your first license
You are here: Stage 6 of 14.