Skip to main content

Python SDK for Semetrics — AI-first product analytics platform

Project description

Semetrics Python SDK

Python SDK для отправки аналитических событий на платформу Semetrics.

Установка

pip install semetrics-sdk

Быстрый старт

from semetrics import Semetrics

# Инициализация (один раз при старте приложения)
semetrics = Semetrics(
    api_key="sm_live_ваш_ключ",
    endpoint="https://semetrics.ru/events",
)

# Отправка событий (не блокирует — очередь + фоновый поток)
semetrics.track(
    event_name="user_signed_up",
    user_id="user_123",
    properties={"plan": "pro", "source": "organic"},
)

semetrics.track(
    event_name="checkout_completed",
    user_id="user_123",
    properties={"amount": 1990, "currency": "RUB", "items": 3},
)

# При завершении программы — отправить все накопленные события
semetrics.shutdown()

Использование через контекстный менеджер

with Semetrics(api_key="sm_live_...", endpoint="https://semetrics.ru/events") as sm:
    sm.track("page_viewed", user_id="u1", properties={"page": "/home"})
# shutdown() вызывается автоматически при выходе из блока

Параметры конструктора

Параметр По умолчанию Описание
api_key обязательный API-ключ проекта (sm_live_...)
endpoint https://semetrics.ru/events URL сервиса
flush_interval 5 Интервал фонового сброса (секунды)
batch_size 50 Максимум событий в одном запросе
max_queue_size 10_000 Максимум событий в памяти
max_retries 3 Попыток при ошибке отправки
request_timeout 10 Таймаут HTTP запроса (секунды)
persistence_path None Путь к SQLite для персистентной очереди

Персистентная очередь (опционально)

Для серверных приложений с требованием "ни одно событие не должно потеряться":

semetrics = Semetrics(
    api_key="sm_live_...",
    endpoint="https://semetrics.ru/events",
    persistence_path="/var/lib/myapp/semetrics_queue.db",
)

События сохраняются в SQLite и отправляются даже после перезапуска процесса.

Принудительный сброс

# Отправить всё накопленное прямо сейчас (блокирует до завершения)
semetrics.flush()

Поля события

Поле Тип Обязательное Описание
event_name str Название события
user_id str ID аутентифицированного пользователя
anonymous_id str ID анонимного пользователя
session_id str ID сессии
properties dict Произвольные свойства события
client_ts datetime Время события (по умолчанию — now())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

semetrics_sdk-0.1.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

semetrics_sdk-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file semetrics_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: semetrics_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for semetrics_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8849161382698231f05c655a86b0fd09020bcb3b0988f05fde9431507c9322f1
MD5 0e5cbedc159ee8bab621c5959bd60cfe
BLAKE2b-256 845d3108d44c494f3e34d7062dc16c179dc035855fcb62a9e9c1ccde75fb0f56

See more details on using hashes here.

File details

Details for the file semetrics_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: semetrics_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for semetrics_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f97535b68202947f64ad41f77d31c067a29babcffc0bf6085f2f8f6fb5b2efe1
MD5 c5e3711c4669cc74d8a3a3b7a400d1b6
BLAKE2b-256 a9703a42a332212df650f67821a6a27146d07c13f1aa4cb1eb22a39064c16d62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page