Skip to content

Navigation Menu

Sign in
Sign up

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

Loading
Type
Select type
Language
Select language
Sort
Select order
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...

AltStyle によって変換されたページ (->オリジナル) /