Skip to main content

A Solidarity.Tech Python API Wrapper

Project description

pysolidarity

Solidarity.Tech API Wrapper for Python.

Creates a clean(er) python interface to a few functions of the Solidarity.tech API.

This is an early version. Not fully tested. Significantly vibe-coded. USE AT YOUR OWN RISK

Currently only supports creating, updating, and fetching users.

Installation

pip install pysolidarity
# with optional rate limiting support
pip install "pysolidarity[rate]"

Quick start

from pysolidarity import make_client_from_env

# export SOLIDARITY_API_KEY=...
client = make_client_from_env()

# Create-or-update by email or phone
user = client.users.create_or_update({"phone_number": "15555555555", "first_name":"Jimmy"})
print(user)

# Update (returns all user details)
client.users.update(user["id"], {"first_name":"Jiiiimmy"})

# Get (returns all user details)
client.users.get(user["id"])

# Enrol in automation (example below is by user_id but you can do it with email and phone_number)
client.users.enroll_in_automation(automation_id=12,user_id=1234)

Rate limiting (does not work in publicly available version)

import redis
from pysolidarity import make_rate_limited_client

r = redis.Redis(host="127.0.0.1", port=6379)
client = make_rate_limited_client(r, req_per_sec=4)
print(client.users.get(1234))

Environment

SOLIDARITY_API_KEY (required)

Development

pip install -e .[dev]

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

pysolidarity-0.2.2.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

pysolidarity-0.2.2-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file pysolidarity-0.2.2.tar.gz.

File metadata

  • Download URL: pysolidarity-0.2.2.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for pysolidarity-0.2.2.tar.gz
Algorithm Hash digest
SHA256 6900a6eb397df4ac22e4953b841f1c8232e66c01a5eb9d91fea258e03f1fb5f5
MD5 c648cb90787fd8f7021fe0dd78be8e82
BLAKE2b-256 47af9e888aedfdc819b4b893a78f4dad3614397cba09ddd1fa6c68ee5082bd45

See more details on using hashes here.

File details

Details for the file pysolidarity-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pysolidarity-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for pysolidarity-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 473fe773a4f04fddf8b6391ee89a6a40fd76c201877abe622e0cc17c90f3208f
MD5 2370de51839581805e2a5de7ba3aceb7
BLAKE2b-256 92f6b575737e52316073e9ed56b5c77fc88c0a3025ba64c4d11835883debfb97

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