snowloader¶
by Roni Das · thetotaltechnology@gmail.com
Comprehensive ServiceNow data loader for AI/LLM pipelines.
snowloader pulls data from ServiceNow - Incidents, Knowledge Base, CMDB, Changes, Problems, and Service Catalog - and converts it into document formats that LangChain, LlamaIndex, and other LLM frameworks consume directly. Built for production use with proper pagination, delta sync, retry logic, and memory-efficient streaming.
from snowloader import SnowConnection, IncidentLoader
conn = SnowConnection(
instance_url="https://mycompany.service-now.com",
username="admin",
password="password",
)
loader = IncidentLoader(connection=conn, query="active=true")
for doc in loader.lazy_load():
print(doc.page_content[:200])
Key features:
7 loaders for core ServiceNow tables (including a dedicated attachment loader)
Async support via aiohttp for concurrent paginated fetches
CMDB relationship traversal with concurrent graph walking
Delta sync - only fetch records updated since your last sync
4 authentication modes - Basic, OAuth Password, OAuth Client Credentials, Bearer Token
LangChain & LlamaIndex adapters (sync + async) with zero business logic
Production-grade - retry with backoff, rate limiting, thread safety, proxy support
Fully typed - PEP 561 compliant with
py.typedmarker
Created by Roni Das · GitHub · PyPI · thetotaltechnology@gmail.com
User Guide
Reference