No project description provided
Project description
Snowplow Signals SDK
The Snowplow Signals SDK is a Python SDK that enables you to interact with the Snowplow Signals Profile API. It provides a simple interface to define, deploy, and retrieve user attributes for personalization.
Installation
pip install snowplow-signals
Quickstart
from snowplow_signals import Signals, Attribute, Event, View, session_entity
# Initialize the SDK
signals = Signals(
api_url="API_URL",
api_key="API_KEY",
api_key_id="API_KEY_ID",
org_id="ORG_ID",
)
# Define an attribute
page_view_count = Attribute(
name="page_view_count",
type="int32",
events=[
Event(
vendor="com.snowplowanalytics.snowplow",
name="page_view",
version="1-0-0",
)
],
aggregation="counter"
)
# Create and deploy a view
view = View(
name="my_view",
version=1,
entity=session_entity,
attributes=[page_view_count],
)
signals.apply([view])
# Retrieve attributes
response = signals.get_online_attributes(
source=view,
identifiers="abc-123",
)
Key Features
- Define attributes based on Snowplow events
- Create views to group related attributes
- Deploy views to the Profile API
- Retrieve real-time user attributes
DBT Project Generation
The SDK includes functionality to automatically generate DBT projects for Snowplow data. This makes it easy to set up and maintain DBT projects that work with Snowplow data.
Using the SDK
from snowplow_signals import Signals
# Initialize the signals client
signals = Signals(api_url="https://your-api-url.com")
# Initialize a DBT project
signals.batch_autogen.init_project(
repo_path="path/to/your/repo",
project_name="your_project_name" # Optional
)
# Generate DBT models
signals.batch_autogen.generate_models(
repo_path="path/to/your/repo",
project_name="your_project_name", # Optional
update=True # Whether to update existing files
)
Using the Command Line
The SDK also includes a command-line interface for DBT project generation:
# Initialize a DBT project
snowplow-dbt init --repo-path=path/to/your/repo [--project-name=your_project_name] [--api-url=https://your-api-url.com]
# Generate DBT models
snowplow-dbt generate --repo-path=path/to/your/repo [--project-name=your_project_name] [--update]
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
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 snowplow_signals-0.0.5.tar.gz.
File metadata
- Download URL: snowplow_signals-0.0.5.tar.gz
- Upload date:
- Size: 36.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.11.12 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
386215a6b1cddfc571fce8859f0bb1201b922d7e5ec574d01dfa2f3cf9e5e524
|
|
| MD5 |
43aba0d2f1d6a846d59c6912be5bd75f
|
|
| BLAKE2b-256 |
56dfde5fb2bc9a6a0d533372881497630b4e020760483e52bdeef101aa43cd3f
|
File details
Details for the file snowplow_signals-0.0.5-py3-none-any.whl.
File metadata
- Download URL: snowplow_signals-0.0.5-py3-none-any.whl
- Upload date:
- Size: 55.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.11.12 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2293d633dbd2bd256415f8df9ac0a29baa46f33e5e40570f888e0483d7de8db7
|
|
| MD5 |
7ca6982258bfbe8ca891234193737e86
|
|
| BLAKE2b-256 |
440c3840f5bdc9805a6c64ab899e53297f62131110eb00e24fdcaf3331d17006
|