Shared SDK for 248 products - MongoDB models, PostgreSQL models, and SmartLead schemas
Project description
248 SDK
Shared SDK for 248 products - MongoDB models, PostgreSQL models, and SmartLead schemas.
Installation
# From Git
pip install git+https://github.com/248ai/248-sdk.git
# With PostgreSQL support
pip install "248-sdk[postgres] @ git+https://github.com/248ai/248-sdk.git"
# Local development (editable)
pip install -e .
Quick Start
MongoDB Models
import asyncio
from sdk_248 import mongodb
from sdk_248.models import Campaign, CampaignStatus
async def main():
# Initialize MongoDB connection
await mongodb.initialize(
connection_string="mongodb://localhost:27017",
database_name="mydb"
)
# Query campaigns
campaigns = await Campaign.find(
Campaign.status == CampaignStatus.RUNNING
).to_list()
for campaign in campaigns:
print(f"Campaign: {campaign.name}")
# Close connection
await mongodb.close()
asyncio.run(main())
PostgreSQL Models
from sdk_248 import postgres
from sdk_248.models import Organization
# Initialize PostgreSQL
postgres.initialize(
connection_string="postgresql://user:pass@localhost:5432/db"
)
# Use sessions
with postgres.session() as session:
orgs = session.query(Organization).all()
for org in orgs:
print(f"Organization: {org.name}")
Using Models Without Database
from sdk_248.models import Lead, CampaignStatus
# Create models for validation/serialization
lead = Lead(
email="test@example.com",
first_name="John",
last_name="Doe"
)
# Serialize to dict
lead_dict = lead.model_dump()
# Use enums
status = CampaignStatus.RUNNING
Available Exports
From sdk_248
MongoDBManager,mongodb- MongoDB connection managementPostgresManager,postgres,Base- PostgreSQL connection management
From sdk_248.models
Enums
CampaignStatus- Campaign status valuesEmailOrchestrator- Email orchestrator optionsAppType- Application typesNodeType- Node types for responder actionsActionRunStatus- Action run status valuesCategoriserStatus- Categoriser status values
MongoDB Models
Campaign- Main campaign document (Beanie)Lead- Lead embedded modelActionRun- Action run embedded modelNode- Responder node model
PostgreSQL Models
Organization- Organization entityOrganizationStatus- Organization status enum
From sdk_248.schemas
CampaignSequenceInput- Campaign sequence configurationCampaignReplyWebhookSchema- Reply webhook payloadEmailSentWebhookSchema- Email sent webhook payloadOrganization- Organization response schema (Pydantic)OrganizationCreate- Organization create schemaOrganizationUpdate- Organization update schema
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
248_sdk-0.1.4.tar.gz
(14.1 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
248_sdk-0.1.4-py3-none-any.whl
(21.5 kB
view details)
File details
Details for the file 248_sdk-0.1.4.tar.gz.
File metadata
- Download URL: 248_sdk-0.1.4.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa04c293d601c23588a11f4dbc9629618d8c36d22a0777f54c3216c3d940db8c
|
|
| MD5 |
f3c6c32d23356ff936010b8f21396a67
|
|
| BLAKE2b-256 |
62ca16c5729200cd434c36b705d8be12ea2b2a17c63decebe8aae15676369432
|
File details
Details for the file 248_sdk-0.1.4-py3-none-any.whl.
File metadata
- Download URL: 248_sdk-0.1.4-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
703ba17bafe093212bc0756e4de01567ece3693bd49da4316489975793e754f4
|
|
| MD5 |
83a704ff62cce3b5d1d65893dfcbaacf
|
|
| BLAKE2b-256 |
d999aa2dfbdfacd2e202816756c70a5deb7106918ce73a956ae461fdb8741ae0
|