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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8849161382698231f05c655a86b0fd09020bcb3b0988f05fde9431507c9322f1
|
|
| MD5 |
0e5cbedc159ee8bab621c5959bd60cfe
|
|
| BLAKE2b-256 |
845d3108d44c494f3e34d7062dc16c179dc035855fcb62a9e9c1ccde75fb0f56
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f97535b68202947f64ad41f77d31c067a29babcffc0bf6085f2f8f6fb5b2efe1
|
|
| MD5 |
c5e3711c4669cc74d8a3a3b7a400d1b6
|
|
| BLAKE2b-256 |
a9703a42a332212df650f67821a6a27146d07c13f1aa4cb1eb22a39064c16d62
|