Skip to main content

beast-dream-snow-loader

PyPI - Version

UniFi Dream Machine → ServiceNow CMDB Data Loader

Loading raw UniFi network infrastructure data into ServiceNow CMDB for network asset management and discovery.

Overview

beast-dream-snow-loader transforms and loads UniFi network data (hosts, sites, devices, clients) from the UniFi API into ServiceNow CMDB tables. This enables ServiceNow to serve as the source of truth for network infrastructure.

Purpose: Complete the integration loop: UniFi API → Data Transformation → ServiceNow CMDB

What It Does

  1. Transforms Data: Maps UniFi schema to ServiceNow CMDB schema
    • UniFi hosts → ServiceNow network gateway CIs
    • UniFi sites → ServiceNow locations
    • UniFi devices → ServiceNow network device CIs
    • UniFi clients → ServiceNow endpoints
  2. Loads Data: Syncs transformed data to ServiceNow CMDB via REST API
    • Multi-phase batch relationship linking
    • Batch loading with dependency resolution
    • Supports specific CI type tables or base cmdb_ci table fallback

Note: Currently assumes ServiceNow tables exist. Table creation feature planned for future release.

Project Status

✅ MVP COMPLETE - All core features implemented, tested, and published 📦 Version 0.2.3 (Stable Release) - Published to PyPI 🗓️ Release Cadence: Monthly stable releases with interim patches as needed 📋 Features: See docs/MVP_FEATURES.md for complete feature list 🎉 Status: See docs/MVP_COMPLETE.md for MVP completion summary

See Known Limitations before using.

Source Data Schema

UniFi data structure (from docs/unifi_schema.sql):

  • hosts - Gateway devices (Dream Machines, etc.)
  • sites - UniFi sites/organizations
  • devices - Network devices (switches, access points, etc.)
  • clients - Network clients (computers, phones, TVs, thermostats, etc.)

ServiceNow Integration

  • Target: ServiceNow CMDB
  • Method: REST API (direct API calls, MID server support planned)
  • Tables:
    • Preferred: Specific CI type tables (cmdb_ci_network_gateway, cmdb_ci_network_gear, etc.)
    • Fallback: Base cmdb_ci table with sys_class_name (works without plugin)
  • Plugin Requirement: CMDB CI Class Models (sn_cmdb_ci_class) for full table support
  • Authentication: API key (preferred), OAuth token, Basic Auth (fallback)
  • 1Password Integration: Optional 1Password CLI support for credential management

Quick Start

  1. Install:

    pip install beast-dream-snow-loader
    # Or with uv:
    uv pip install beast-dream-snow-loader
    
  2. Configure ServiceNow:

    export SERVICENOW_INSTANCE="your-instance.service-now.com"
    export SERVICENOW_USERNAME="your-username"
    export SERVICENOW_API_KEY="your-api-key"  # or use 1Password
    
  3. Run Complete Example:

    python examples/complete_workflow.py
    
  4. Or Run Smoke Test:

    python examples/smoke_test.py
    

See docs/pdi_activation_guide.md for ServiceNow plugin setup.

Dependencies

  • pydantic - Data validation and models
  • requests - HTTP client for ServiceNow REST API
  • beast-unifi-integration - UniFi API clients (planned, not yet available)

Installation

pip install beast-dream-snow-loader

Or with uv:

uv pip install beast-dream-snow-loader

Documentation

License

MIT License - see LICENSE for details.


Project: Part of the Beastmaster framework ecosystem
Repository: nkllon/beast-dream-snow-loader (GitHub)

Test workflow trigger

Metadata

Release files for beast-dream-snow-loader 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for beast-dream-snow-loader 0.3.0
File Size Uploaded Provenance
beast_dream_snow_loader-0.3.0.tar.gz 256.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for beast-dream-snow-loader 0.3.0
File Interpreter ABI Platform
beast_dream_snow_loader-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 301.8 kB

Release files / beast_dream_snow_loader-0.3.0.tar.gz

Download URL beast_dream_snow_loader-0.3.0.tar.gz
Size 256.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f08103b1654b3a2e9203add667cac524ea8a8aaefea64471cd79604ad10fbecf
BLAKE2b-256 checksum
How to use checksums
7542b180a14825a3774aeaf7745d57c22d0ca138dfc838f758b878a09ba32bf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2025.

Transparency log

Release files / beast_dream_snow_loader-0.3.0-py3-none-any.whl

Download URL beast_dream_snow_loader-0.3.0-py3-none-any.whl
Size 44.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be33ddbd61295635dead81530647e0e637d0cd0237cb7b3a68ad4381f5024e9c
BLAKE2b-256 checksum
How to use checksums
75d7db966e9095cb766f3dfbf765ea1d97805addfcd305fed57261f8bde491a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2025.

Transparency log

Security for beast-dream-snow-loader 0.3.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for beast_dream_snow_loader-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2025.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page