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
Metadata
Release files for 248-sdk 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| 248_sdk-0.1.4.tar.gz | 14.1 kB | Without provenance | Details for 248_sdk-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 248_sdk-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for 248_sdk-0.1.4-py3-none-any.whl |
Total release size: 35.6 kB
Release files / 248_sdk-0.1.4.tar.gz
| Download URL | 248_sdk-0.1.4.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa04c293d601c23588a11f4dbc9629618d8c36d22a0777f54c3216c3d940db8c
|
|
BLAKE2b-256 checksum How to use checksums |
62ca16c5729200cd434c36b705d8be12ea2b2a17c63decebe8aae15676369432
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / 248_sdk-0.1.4-py3-none-any.whl
| Download URL | 248_sdk-0.1.4-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
703ba17bafe093212bc0756e4de01567ece3693bd49da4316489975793e754f4
|
|
BLAKE2b-256 checksum How to use checksums |
d999aa2dfbdfacd2e202816756c70a5deb7106918ce73a956ae461fdb8741ae0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Security for 248-sdk 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.