A Python wrapper for the Permutive API.
Project description
PermutiveAPI
PermutiveAPI is a Python module to interact with the Permutive API. It provides a set of classes and methods to manage users, imports, cohorts, and workspaces within the Permutive ecosystem.
Installation
You can install the PermutiveAPI module using pip:
pip install PermutiveAPI --upgrade
Configuration
Copy the _env file as .env and set the PERMUTIVE_APPLICATION_CREDENTIALS environment variable to the absolute path of your workspace JSON file:
cp _env .env
Edit the .env file to include the path to your workspace JSON file:
PERMUTIVE_APPLICATION_CREDENTIALS="/absolute/path/to/workspace.json"
The workspace credentials JSON can be downloaded from the Permutive dashboard
under Settings \u2192 API keys. Save the file somewhere secure and set the
PERMUTIVE_APPLICATION_CREDENTIALS variable to its absolute path. The apiKey
inside this JSON is used to authenticate API calls.
Usage
Importing the Module
To use the PermutiveAPI module, import the necessary classes:
from PermutiveAPI import Import, ImportList, Segment, SegmentList, Identity, Alias, Cohort, CohortList, Workspace, WorkspaceList
Managing Users
You can manage user identities and aliases using the Identity and Alias classes:
from PermutiveAPI.User import Identity, Alias
# Create an alias
alias = Alias(id="alias_id", tag="alias_tag", priority=1)
# Create an identity
identity = Identity(user_id="user_id", aliases=[alias])
# Convert identity to JSON
identity_json = identity.to_json()
# Identify a user
identity.identify(api_key="your_private_key")
Managing Imports
You can manage imports using the Import and ImportList classes:
from PermutiveAPI.Import import Import, ImportList
# Fetch an import by ID
import_instance = Import.get_by_id(id="import_id", api_key="your_api_key")
# List all imports
imports = Import.list(api_key="your_api_key")
Managing Cohorts
You can manage cohorts using the Cohort and CohortList classes:
from PermutiveAPI.Cohort import Cohort, CohortList
# Create a new cohort
cohort = Cohort(name="cohort_name", query={"property": "value"})
cohort.create(api_key="your_api_key")
# Fetch a cohort by ID
cohort_instance = Cohort.get_by_id(id="cohort_id", api_key="your_api_key")
# List all cohorts
cohorts = Cohort.list(api_key="your_api_key")
Managing Workspaces
You can manage workspaces using the Workspace and WorkspaceList classes:
from PermutiveAPI.Workspace import Workspace, WorkspaceList
# Create a workspace instance
workspace = Workspace(name="workspace_name", organization_id="org_id", workspace_id="workspace_id", api_key="your_api_key")
# List cohorts in a workspace
cohorts = workspace.list_cohorts(include_child_workspaces=True)
# List imports in a workspace
imports = workspace.imports
# List segments in a workspace
segments = workspace.list_segments(import_id="import_id")
Contributing
See CONTRIBUTING.md for development setup and pull request guidelines.
Development
Install the dependencies and set up your environment:
pip install -r requirements.txt
cp _env .env # update the path to your workspace.json
After configuring the .env file you can import the package to verify
everything is configured correctly:
python -c "import PermutiveAPI"
License
This project is licensed under the MIT License. See the LICENSE file for details.
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 permutiveapi-5.1.0.tar.gz.
File metadata
- Download URL: permutiveapi-5.1.0.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
061b1ccf1b0886d07f14ec2cd4873ab11de1545f5b1d6b6a8cea319315691f22
|
|
| MD5 |
91c42cb2040a608a92688679086bdb7f
|
|
| BLAKE2b-256 |
0d79a8e29df3ce8361816ae5ab88a76ff97fce9da2d95b7fe1fbf8ac25366eb8
|
File details
Details for the file permutiveapi-5.1.0-py3-none-any.whl.
File metadata
- Download URL: permutiveapi-5.1.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2e8f6ae5929c444dcace3c3ef9cd1597e1272454e3e40a6e56ed2dee3c7c90a
|
|
| MD5 |
2964f72f958db5a11b8b136830881bd3
|
|
| BLAKE2b-256 |
047993b03459bbf5d7024eb055a62362383fc09b4a500559ca93fff0fe37c328
|