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.

Finlight Data Listener (FDL)

WebSocket client connecting to Finlight, subscribing to real-time financial news feeds and publishing enriched articles to RabbitMQ queues.

Finlight Data Processor (FDP)

RabbitMQ consumer processing enriched news articles from the FDL queue, running FinlightDataAnalyzer to cache articles in Redis and publish updates to downstream consumers.

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

FDL

fdl.Dockerfile / fdl_otel.Dockerfile

kuhl_haus.servers.fdl_server:app

FDP

fdp.Dockerfile / fdp_otel.Dockerfile

kuhl_haus.servers.fdp_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.1.tar.gz (18.2 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.1-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kuhl_haus_mdp_servers-0.2.1.tar.gz
  • Upload date:
  • Size: 18.2 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.1.tar.gz
Algorithm Hash digest
SHA256 14d3697bdfec007d20c8f8c78af4208711b7afe14538e201cc1dd862f70a25d9
MD5 7fc632531f2036984627f0046bba8f10
BLAKE2b-256 c536043bdf5ab3fc34db503a5649a501eadd3c19ea862efaa52f3d3d72fd2740

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuhl_haus_mdp_servers-0.2.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kuhl_haus_mdp_servers-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47c1662a626d036e3af94f8abecbc19af178b4b91a392488b17ffd67cd8635a6
MD5 dfcf0c1d2a981e1f7b8b1b04c3f64016
BLAKE2b-256 f03dcc38f2b109fcd53cbe18ab7b24302a3ec66352db5f9c4a7d12233d8e849a

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuhl_haus_mdp_servers-0.2.1-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