Skip to main content

Container image build repository for market data processing servers

Project description

License PyPI Downloads Build Status Publish to PyPI CodeQL Advanced GitHub issues GitHub pull requests

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

Configuration

All servers are configured via environment variables. See the Configuration Reference for the full list of variables per server, including defaults and descriptions.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kuhl_haus_mdp_servers-0.2.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

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

kuhl_haus_mdp_servers-0.2.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file kuhl_haus_mdp_servers-0.2.0.tar.gz.

File metadata

  • Download URL: kuhl_haus_mdp_servers-0.2.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kuhl_haus_mdp_servers-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9ba26105eb58830464b5c3e4627b5e5b6f731c6848623c15f6a5bd2b7768f571
MD5 6f90ddb793600ac20040e2a8408bcc9a
BLAKE2b-256 22d173fa8205b0d83a75864934f2ab4253c0b71e3ac8a97eef033582464f582d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuhl_haus_mdp_servers-0.2.0.tar.gz:

Publisher: publish-to-pypi.yml on kuhl-haus/kuhl-haus-mdp-servers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kuhl_haus_mdp_servers-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kuhl_haus_mdp_servers-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 abd3a129a61c9f66ef88733c9075d60782a1ec9eaa420ac731de1a65b9e7b1e5
MD5 620de6e5b73862ab0fd304a7b01881bd
BLAKE2b-256 88c07d1a2a146fc5b53f55c6c18bd649134d6a95761aa913622191373e7fff0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuhl_haus_mdp_servers-0.2.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on kuhl-haus/kuhl-haus-mdp-servers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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