Skip to main content

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 management
  • PostgresManager, postgres, Base - PostgreSQL connection management

From sdk_248.models

Enums

  • CampaignStatus - Campaign status values
  • EmailOrchestrator - Email orchestrator options
  • AppType - Application types
  • NodeType - Node types for responder actions
  • ActionRunStatus - Action run status values
  • CategoriserStatus - Categoriser status values

MongoDB Models

  • Campaign - Main campaign document (Beanie)
  • Lead - Lead embedded model
  • ActionRun - Action run embedded model
  • Node - Responder node model

PostgreSQL Models

  • Organization - Organization entity
  • OrganizationStatus - Organization status enum

From sdk_248.schemas

  • CampaignSequenceInput - Campaign sequence configuration
  • CampaignReplyWebhookSchema - Reply webhook payload
  • EmailSentWebhookSchema - Email sent webhook payload
  • Organization - Organization response schema (Pydantic)
  • OrganizationCreate - Organization create schema
  • OrganizationUpdate - 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)

Uploaded Source

Built Distribution

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

248_sdk-0.1.4-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

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

Hashes for 248_sdk-0.1.4.tar.gz
Algorithm Hash digest
SHA256 aa04c293d601c23588a11f4dbc9629618d8c36d22a0777f54c3216c3d940db8c
MD5 f3c6c32d23356ff936010b8f21396a67
BLAKE2b-256 62ca16c5729200cd434c36b705d8be12ea2b2a17c63decebe8aae15676369432

See more details on using hashes here.

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

Hashes for 248_sdk-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 703ba17bafe093212bc0756e4de01567ece3693bd49da4316489975793e754f4
MD5 83a704ff62cce3b5d1d65893dfcbaacf
BLAKE2b-256 d999aa2dfbdfacd2e202816756c70a5deb7106918ce73a956ae461fdb8741ae0

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