SDK Reference

Official SDKs for 6 languages. All share the same 3-method pattern: init, identify, track.

JavaScript / Node.js

Package: @prodlytix/js  |  Works in browser and Node.js  |  TypeScript typings included

npm install @prodlytix/js
import plx from '@prodlytix/js';
plx.init('plx_live_yourApiKey');
plx.identify(userId, { plan: 'growth' });
plx.track('feature_used', { name: 'export' });

Python

Package: prodlytix  |  Python 3.8+  |  Thread-safe, async flush

pip install prodlytix
import prodlytix
plx = prodlytix.Client('plx_live_yourApiKey')
plx.identify(user_id, {'plan': 'growth'})
plx.track(user_id, 'feature_used', {'name': 'export'})

Go

Module: github.com/prodlytix/go-sdk  |  Goroutine-safe  |  Zero CGO dependencies

go get github.com/prodlytix/go-sdk
import "github.com/prodlytix/go-sdk"
client := prodlytix.New("plx_live_yourApiKey")
client.Identify(userID, prodlytix.Traits{"plan": "growth"})
client.Track(userID, "feature_used", prodlytix.Properties{"name": "export"})

Ruby

Gem: prodlytix  |  Ruby 2.7+  |  Thread-safe, Rails/Sinatra compatible

gem install prodlytix
require 'prodlytix'
plx = Prodlytix::Client.new(api_key: 'plx_live_yourApiKey')
plx.identify(user_id: user_id, traits: { plan: 'growth' })
plx.track(user_id: user_id, event: 'feature_used', properties: { name: 'export' })

iOS (Swift)

Package: Swift Package Manager  |  iOS 14+  |  SwiftUI compatible

Package.swift
import Prodlytix
Prodlytix.configure(apiKey: "plx_live_yourApiKey")
Prodlytix.identify(userId: userId, traits: ["plan": "growth"])
Prodlytix.track(event: "feature_used", properties: ["name": "export"])

Android (Kotlin)

Package: io.prodlytix:android-sdk  |  Android 5+  |  Kotlin and Java compatible

build.gradle
implementation 'io.prodlytix:android-sdk:1.2.0'
Prodlytix.init(context, "plx_live_yourApiKey")
Prodlytix.identify(userId, mapOf("plan" to "growth"))
Prodlytix.track("feature_used", mapOf("name" to "export"))