Skip to content
@venantvr-pubsub

venantvr-pubsub

venantvr.pubsub

Écosystème complet de messaging Pub/Sub temps réel en Python et Rust. Zéro dépendance à un broker externe : WebSocket + SQLite uniquement.

Repos

Système Pub/Sub

Python.Publisher.Subscriber public Python / Flask / Socket.IO — Système pub/sub monolithique originel : Flask + Socket.IO + eventlet, persistance SQLite, base du protocole WebSocket temps réel.

Python.PubSub.Server public Python / Flask — Serveur pub/sub standalone extrait du monolithe : gestion de topics, broadcast, persistance SQLite via thread dédié, monitoring intégré, hot-reload de configuration.

Python.PubSub.Client public Python — Client pub/sub publié sur PyPI (python-pubsub-client) : reconnexion automatique infinie, queuing de messages, validation Pydantic, handlers typés, dashboard de monitoring HTML intégré.

Python.PubSub.Example public Python — Démo complète multi-topics (orders, inventory, shipping) illustrant l'utilisation du client comme dépendance Git.

Librairies de support

Python.SQLite.Async public Python — Wrapper SQLite non-bloquant thread-safe publié sur PyPI (python-sqlite-async) : écritures dans un thread dédié, zéro dépendance externe.

Python.JSONL.Async public Python — Writer JSONL non-bloquant thread-safe publié sur PyPI (python-jsonl-queue) : écriture asynchrone dans des fichiers .jsonl, zéro dépendance.

Python.Threadsafe.Logger public Python — Logger métier thread-safe multi-backends (SQLite via python-sqlite-async + JSONL via python-jsonl-queue + TinyDB), non-bloquant.

Python.PubSub.DevTools.Consumers public Python — Proxies génériques record/replay pour DevTools : interception transparente des événements, rejeu configurable.

Python.PubSub.Templator public Python — Générateur de squelettes de projets consommateurs : templates YAML-driven (Makefile, Docker Compose, agents, events, tests), scaffolding interactif.

Ports Rust (haute performance)

Rust-PubSub-Server public Rust / Axum / Tokio — Port du serveur : Axum + socketioxide + Tokio, binaire unique optimisé (LTO, strip), purge automatique, feature flags (parallel/sequential emit).

Rust-PubSub-Client public Rust / Tokio — Port du client : tokio + rust_socketio + dashmap (lock-free), benchmarks Criterion, reconnexion automatique.

Rust-SQLite-Async public Rust — Port du wrapper SQLite : pool r2d2 + rusqlite, canal crossbeam borné pour contre-pression (back-pressure), thread d'écriture dédié.

Rust-JSONL-Async public Rust — Port du writer JSONL : batch générique serde::Serialize, SmallVec pour éviter les allocations heap, canal crossbeam borné.

Architecture

graph TD
    T[PubSub.Templator<br/><i>Génère des projets consommateurs</i>] --> S

    C[PubSub.Client<br/><i>Py / Rust · PyPI · Pydantic</i>] <--> S[PubSub.Server<br/><i>Py / Rust · WebSocket · Topics</i>]
    D[DevTools.Consumers<br/><i>Record / Replay</i>] --> S

    S --> SQ[SQLite.Async<br/><i>Py / Rust</i>]
    S --> JL[JSONL.Async<br/><i>Py / Rust</i>]

    SQ --> L[Threadsafe.Logger<br/><i>Multi-backends</i>]
    JL --> L
Loading

Stack

Stack

Principes

  • Dual-language : chaque composant existe en Python et en Rust avec la même API
  • Async-first : tous les backends de stockage utilisent des threads d'écriture dédiés
  • Thread-safe : conçu pour les environnements concurrents (dashmap, crossbeam, locks)
  • Self-contained : aucun broker externe requis (ni RabbitMQ, ni Kafka, ni Redis)
  • PyPI-ready : client, SQLite.Async et JSONL.Async publiés comme packages installables

Popular repositories Loading

  1. Python.Publisher.Subscriber Python.Publisher.Subscriber Public

    Système pub/sub monolithique originel : Flask + Socket.IO + eventlet, persistance SQLite

    Python

  2. Python.PubSub.Client Python.PubSub.Client Public

    Client pub/sub PyPI (python-pubsub-client) : reconnexion auto, queuing, validation Pydantic

    Python

  3. Python.PubSub.Server Python.PubSub.Server Public

    Serveur pub/sub standalone : topics, broadcast, persistance SQLite, monitoring intégré

    Python

  4. Python.PubSub.Example Python.PubSub.Example Public

    Démo complète multi-topics (orders, inventory, shipping) du système pub/sub

    Python

  5. Python.Threadsafe.Logger Python.Threadsafe.Logger Public

    Logger métier thread-safe multi-backends : SQLite + JSONL + TinyDB, non-bloquant

    Python

  6. Python.SQLite.Async Python.SQLite.Async Public

    Wrapper SQLite non-bloquant thread-safe (PyPI: python-sqlite-async), écritures en thread dédié

    Python

Repositories

Showing 10 of 14 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…