Container image build repository for market data processing servers
Project description
kuhl-haus-mdp-servers
Container image build repository for market data platform data plane servers.
Overview
This package provides the server entry points and Docker container images for the Kuhl Haus Market Data Platform (MDP) data plane. Each server wraps components from the kuhl-haus-mdp library and runs as an independently scalable container in Kubernetes.
Servers
- Market Data Listener (MDL)
WebSocket client connecting to Massive.com, routing events to RabbitMQ queues with minimal processing overhead.
- Market Data Processor (MDP)
Horizontally-scalable event processor with semaphore-based concurrency, delegating to pluggable analyzers and writing results to Redis cache.
- Leaderboard Analyzer (LBA)
Redis pub/sub consumer running leaderboard and trade analyzers with sequential message processing.
- Widget Data Service (WDS)
FastAPI/WebSocket-to-Redis bridge providing real-time streaming to client applications with fan-out pattern.
Each server has a standard Dockerfile and an OpenTelemetry-instrumented variant (*_otel.Dockerfile) for production observability.
Container Images
Server |
Dockerfile |
Entry Point |
|---|---|---|
MDL |
mdl.Dockerfile / mdl_otel.Dockerfile |
kuhl_haus.servers.mdl_server:app |
MDP |
mdp.Dockerfile / mdp_otel.Dockerfile |
kuhl_haus.servers.mdp_server:app |
LBA |
lba.Dockerfile / lba_otel.Dockerfile |
kuhl_haus.servers.lba_server:app |
WDS |
wds.Dockerfile / wds_otel.Dockerfile |
kuhl_haus.servers.wds_server:app |
All images extend base.Dockerfile, which installs dependencies and the package in editable mode.
Code Organization
The platform consists of four main packages:
Market data processing library (kuhl-haus-mdp) - Core library with shared data processing logic
Backend Services (kuhl-haus-mdp-servers) - Market data listener, processor, and widget service
Frontend Application (kuhl-haus-mdp-app) - Web-based user interface and API
Deployment Automation (kuhl-haus-mdp-deployment) - Docker Compose, Ansible playbooks and Kubernetes manifests for environment provisioning
Documentation
For architecture details, component descriptions, and API reference, see the kuhl-haus-mdp documentation on Read the Docs.
Additional Resources
📖 Blog Series:
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 kuhl_haus_mdp_servers-0.1.26.tar.gz.
File metadata
- Download URL: kuhl_haus_mdp_servers-0.1.26.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b1fa7fe2894818dbb86698c4005abac8eff92c455bed4c2502847fad7b15131
|
|
| MD5 |
a3cc37a4c1984861caa3e4c1f56b0ca9
|
|
| BLAKE2b-256 |
22944f895aef66530832e522bf04cdc2263256db6625d5be18dccc6a8e76af13
|
Provenance
The following attestation bundles were made for kuhl_haus_mdp_servers-0.1.26.tar.gz:
Publisher:
publish-to-pypi.yml on kuhl-haus/kuhl-haus-mdp-servers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kuhl_haus_mdp_servers-0.1.26.tar.gz -
Subject digest:
3b1fa7fe2894818dbb86698c4005abac8eff92c455bed4c2502847fad7b15131 - Sigstore transparency entry: 983739836
- Sigstore integration time:
-
Permalink:
kuhl-haus/kuhl-haus-mdp-servers@328305ccd21f64feed6ee7fd2632afca394bac06 -
Branch / Tag:
refs/tags/v0.1.26 - Owner: https://github.com/kuhl-haus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@328305ccd21f64feed6ee7fd2632afca394bac06 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kuhl_haus_mdp_servers-0.1.26-py3-none-any.whl.
File metadata
- Download URL: kuhl_haus_mdp_servers-0.1.26-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88e6bd94f8c98bbed1b9cd44469423eca8a191f8fc52507d5d8de00e44d2a8b4
|
|
| MD5 |
ca2e6607fd48626697753b98354a1e80
|
|
| BLAKE2b-256 |
b5d3c7534cf286e42f700cd594dcfc0b9dbcd98d62f0cd1b3bff4ce05e42e4d1
|
Provenance
The following attestation bundles were made for kuhl_haus_mdp_servers-0.1.26-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on kuhl-haus/kuhl-haus-mdp-servers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kuhl_haus_mdp_servers-0.1.26-py3-none-any.whl -
Subject digest:
88e6bd94f8c98bbed1b9cd44469423eca8a191f8fc52507d5d8de00e44d2a8b4 - Sigstore transparency entry: 983739839
- Sigstore integration time:
-
Permalink:
kuhl-haus/kuhl-haus-mdp-servers@328305ccd21f64feed6ee7fd2632afca394bac06 -
Branch / Tag:
refs/tags/v0.1.26 - Owner: https://github.com/kuhl-haus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@328305ccd21f64feed6ee7fd2632afca394bac06 -
Trigger Event:
push
-
Statement type: