Skip to main content

Data Stream Protocol Wire. A Python library that provides a unified message protocol baseline (MPB) and transport abstraction for ingesting, normalizing, and redistributing financial or journalistic content from heterogeneous online sources

Reason this release was yanked:

bug

Project description

Summary

dspw is a Python library that provides a unified message protocol baseline (MPB) and transport abstraction for ingesting, normalizing, and redistributing financial or journalistic content from heterogeneous online sources such as Wall Street Journal (WSJ), Financial Times (FT), Bloomberg, and others.

It defines:

A normalized message schema for news, feeds, threads, and reports objects, designed to work seamlessly across Kafka and NATS brokers.

A Source metadata class (with UUID, canonical group ID, origin identifiers, etc.) forming the core of the MPB.

Inter-broker serialization utilities to translate and validate message payloads between Kafka and NATS in a unified object format.

Publisher–Subscriber interfaces to streamline ingestion pipelines, transformation logic, and event-driven analytics integration.

A distribution-ready Python package (PEP 621-compliant) supporting build, wheel packaging, and deployment to public or private registries (e.g., PyPI, GitHub Packages, or JFrog Artifactory).

The project can be extended for:

Event-sourcing pipelines and real-time news aggregation systems,

Quantitative research ingestion frameworks,

Sentiment analysis feeds or market intelligence dashboards that rely on unified feed ingestion from multiple third-party sources.

Project Structure

dspw/
├── **init**.py
├── schema/
│ ├── **init**.py
│ └── news_event.py
├── mpb/
│ ├── **init**.py
│ └── source_protocol.py # Message Protocol Baseline (MPB)
├── serializers/
│ ├── **init**.py
│ ├── kafka_serializer.py
│ ├── nats_serializer.py
│ └── utils.py
├── bridge.py
├── config.py
└── pyproject.toml

Build and Command

# create the distribution wheel and sdist
python3 -m build

# check the wheel structure
twine check dist/*

# upload to test pypi
twine upload --repository dspw dist/*

# install for verification
pip install -i https://test.pypi.org/simple/ dspw

Config Files

config/py

How to use the config file, E.g.:

from dspw import config

print(config.KAFKA["bootstrap_servers"])
print(config.MPB["serialization_format"])
print(config.SOURCE_REGISTRY["canonical_sources"]["ft"])

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

dspw-0.2.5.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

dspw-0.2.5-py2.py3-none-any.whl (8.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dspw-0.2.5.tar.gz.

File metadata

  • Download URL: dspw-0.2.5.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dspw-0.2.5.tar.gz
Algorithm Hash digest
SHA256 9b7d557f1b51e4c71b9d8d7641d2717583a32f90b479bdb44f8b415ee76f4971
MD5 d4acc845851d53f1984f0377a1bfa891
BLAKE2b-256 1eb1a5962eb28d28e600d93c1012b43cd41a4623ff0828821d6e9ed71fa424b2

See more details on using hashes here.

File details

Details for the file dspw-0.2.5-py2.py3-none-any.whl.

File metadata

  • Download URL: dspw-0.2.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dspw-0.2.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fc6fb8882c8d52478cbdb8ff09e8951e8311dd30004aee8cd9ad0b433e8e5864
MD5 9e7a7ea81cf2b7aa90e8a44246f54d89
BLAKE2b-256 cad09f77b3352e7212edb779b15691a5fa2ad61ac84e358eef5b1f4b8bd4cd9f

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