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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b7d557f1b51e4c71b9d8d7641d2717583a32f90b479bdb44f8b415ee76f4971
|
|
| MD5 |
d4acc845851d53f1984f0377a1bfa891
|
|
| BLAKE2b-256 |
1eb1a5962eb28d28e600d93c1012b43cd41a4623ff0828821d6e9ed71fa424b2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc6fb8882c8d52478cbdb8ff09e8951e8311dd30004aee8cd9ad0b433e8e5864
|
|
| MD5 |
9e7a7ea81cf2b7aa90e8a44246f54d89
|
|
| BLAKE2b-256 |
cad09f77b3352e7212edb779b15691a5fa2ad61ac84e358eef5b1f4b8bd4cd9f
|