Skip to main content

xgdb-connect -- Connector Framework for xrayGraphDB

Standalone Python processes that consume data from external sources and write to xrayGraphDB over xrayProtocol (port 7689).

Architecture

xgdb_connect/           Core framework
  protocol.py           xrayProtocol v1 binary client
  base.py               BaseConnector (connect, transform, send, checkpoint)
  config.py             YAML config loader
  transform.py          Message-to-Cypher transformer

connectors/             Source-specific implementations
  nats_connector.py     NATS/JetStream
  redis_connector.py    Redis Streams (XREADGROUP)
  kafka_connector.py    Apache Kafka (consumer groups)
  postgres_connector.py PostgreSQL logical replication (pgoutput CDC)
  mysql_connector.py    MySQL binlog CDC

Installation

# Core only
pip install .

# With specific connector dependencies
pip install ".[nats]"
pip install ".[redis]"
pip install ".[kafka]"
pip install ".[postgres]"
pip install ".[mysql]"

# Everything
pip install ".[all]"

Usage

Each connector reads a YAML config file and runs as a standalone process:

python -m connectors.nats_connector --config nats.yaml
python -m connectors.redis_connector --config redis.yaml
python -m connectors.kafka_connector --config kafka.yaml
python -m connectors.postgres_connector --config postgres.yaml
python -m connectors.mysql_connector --config mysql.yaml

Config Format

source: nats
connection:
  url: nats://localhost:4222
  subject: "events.>"

xraygraphdb:
  host: localhost
  port: 7689
  user: admin
  password: secret

transform:
  node:
    label: Event
    id_field: event_id
    properties:
      - source_field: timestamp
        target: ts
      - source_field: type
        target: event_type
  edge:
    type: TRIGGERED_BY
    from_field: event_id
    to_field: parent_id

batch_size: 1000
checkpoint_file: /var/lib/xgdb-connect/nats.checkpoint

Features

  • Batch writes -- configurable batch size, UNWIND-based Cypher for efficiency
  • Checkpoint tracking -- saves last offset/position to disk for restart recovery
  • Backpressure -- batches are flushed when full, with configurable size
  • Graceful shutdown -- handles SIGTERM/SIGINT, flushes remaining batch, saves checkpoint
  • Structured logging -- timestamped log output with configurable level
  • Metrics -- messages/sec, latency, error counts logged at configurable intervals
  • Reconnection -- automatic reconnect to xrayGraphDB with configurable retry (max 2 attempts)
  • Transform engine -- configurable field mappings with dot-path extraction and type casting

Copyright

Copyright 2026 eMTAi LLC. All rights reserved. Patent pending.

Metadata

Release files for xgdb-connect 1.0.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 xgdb-connect 1.0.0
File Size Uploaded Provenance Actions
xgdb_connect-1.0.0.tar.gz 65.7 kB Without provenance Details for xgdb_connect-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xgdb-connect 1.0.0
File Interpreter ABI Platform Actions
xgdb_connect-1.0.0-py3-none-any.whl Python 3 none any Details for xgdb_connect-1.0.0-py3-none-any.whl

Total release size: 152.4 kB

Release files / xgdb_connect-1.0.0.tar.gz

Download URL xgdb_connect-1.0.0.tar.gz
Size 65.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ec06175100dd127fcbdcf162d5342e1cba003a63d301594a7ef7826dd4ea1505
BLAKE2b-256 checksum
How to use checksums
6eb9855ff8ac65d8df7eebb4fd190f06c8c3b9c6ea50b0eaf0c875e3c5c4b5c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / xgdb_connect-1.0.0-py3-none-any.whl

Download URL xgdb_connect-1.0.0-py3-none-any.whl
Size 86.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27474a46cd26538334b469519017f36b33675e05716ac80966ab6db5d27530ae
BLAKE2b-256 checksum
How to use checksums
42e88408679ec63565e99682eceaf857d61ec1f138b72772f0d997d94f6636e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Security for xgdb-connect 1.0.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.

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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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