Add comprehensive FlatBuffers documentation page
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- documentation
Direzione di ricerca
Inizia esaminando il riferimento allo schema FlatBuffers esistente, il riferimento all’API Python e il percorso proposto docs/wamp/flatbuffers.rst. Controlla le directory referenziate autobahn/flatbuffers/, autobahn/wamp/flatbuffers/*.fbs e deps/flatbuffers, nonché i comandi di build in hatch_build.py. L’attività è completata quando la nuova pagina tratta gli argomenti elencati relativi a runtime, compilatore, schemi, sincronizzazione, build e risoluzione dei problemi, ed è collegata dalle sezioni pertinenti della documentazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Create a dedicated documentation page explaining autobahn-python's FlatBuffers features, bundled flatc compiler, and
integration with the WAMP ecosystem.
Background
autobahn-python now includes significant FlatBuffers functionality that is not well-documented:
- Bundled
flatccompiler in binary wheels (since v25.12.x) - Vendored FlatBuffers runtime for serialization
- WAMP FlatBuffers schemas for efficient binary serialization
- Cross-project version synchronization with zlmdb
Currently, FlatBuffers information is scattered across:
Proposed Documentation Content
1. Overview Section
- What is FlatBuffers and why autobahn-python uses it
- Benefits: zero-copy access, efficient serialization, cross-language compatibility
- Use cases: WAMP binary serialization, high-performance messaging
2. Bundled flatc Compiler
- Feature: Wheels include a pre-compiled
flatcexecutable; source installs compile it fromdeps/flatbuffers - Usage: After
pip install autobahn, runflatc --version - Platform support: Linux (x86_64, aarch64), macOS (arm64), Windows (x86_64)
- ISA requirements: Need GLIBC 2.28+ (e.g., Ubuntu 20.04+, Debian 11+, RHEL 8+)
- Linux x86_64: manylinux_2_28 (GLIBC 2.28+)
- Linux aarch64: manylinux_2_28 (GLIBC 2.28+)
- Benefits: No need to install system-wide flatc, version matches vendored runtime
- Source builds: Require
cmaketo compile flatc from deps/flatbuffers during install
3. Vendored FlatBuffers Runtime
- Version tracking:
autobahn.flatbuffers.version()returns exact version tuple - Location:
autobahn/flatbuffers/(vendored from google/flatbuffers) - Includes reflection schema (
reflection.fbs,reflection.bfbs)
4. WAMP FlatBuffers Schemas
- Schema files location:
autobahn/wamp/flatbuffers/*.fbs - Available schemas:
wamp.fbs,session.fbs,auth.fbs,pubsub.fbs,rpc.fbs,roles.fbs,types.fbs - Binary schemas (
.bfbs) generated at wheel build time - Link to existing schema reference
documentation
5. Cross-Project Version Synchronization
- autobahn-python and zlmdb share the same FlatBuffers version
- Verification function:
autobahn.check_zlmdb_flatbuffers_version_in_sync() - Why this matters: cfxdb and Crossbar.io depend on both libraries
- Example usage:
import autobahn version = autobahn.check_zlmdb_flatbuffers_version_in_sync() print(f"FlatBuffers version: {version}") # e.g., (25, 9, 23, None, None)
- Development & Build Information
- FlatBuffers source: deps/flatbuffers git submodule (tracks google/flatbuffers)
- Build process: hatch_build.py compiles flatc during both wheel and source builds
- Updating vendored FlatBuffers: just bump-flatbuffers
- Testing bundled flatc: just test-bundled-flatc
- Troubleshooting
- "flatc not found after source install": Ensure cmake is installed before pip install
- Version mismatch with zlmdb: Update both packages to latest versions
- GLIBC errors on old Linux: Need GLIBC 2.28+ (e.g., Ubuntu 20.04+, Debian 11+, RHEL 8+)
Documentation Location
Suggested location: docs/wamp/flatbuffers.rst (or docs/flatbuffers.rst if scope extends beyond WAMP)
Should be linked from:
- Main documentation index
- WAMP serialization documentation
- Installation guide (mention bundled flatc)
Related
- #1817 - FlatBuffers vendoring verification
- #1821 - CI/CD and FlatBuffers sync with zlmdb
- #1822 - Synchronize CI/CD, FlatBuffers vendoring between autobahn-python and zlmdb
- crossbario/zlmdb#100 - Sync autobahn-python and zlmdb
Checklist
- I have searched existing issues to avoid duplicates
- I have described the problem clearly
- I have provided use cases
- I have considered alternatives
- I have assessed impact and breaking changes
- Lingua principale
- Python
- Stelle
- 2.5k
- Fork
- 769
- Merge medio
- 1g 12h
- PR unite (30g)
- 15
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di crossbario/autobahn-python
-
CI-CD enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
crossbario/autobahn-python#1945 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug CI-CD
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
crossbario/autobahn-python#1932 ·
I maintainer di solito rispondono entro 1 giorno
-
CI-CD enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
crossbario/autobahn-python#1829 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
crossbario/autobahn-python#1983 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
crossbario/autobahn-python#1963 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di crossbario/autobahn-python
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
good first issue No-AI
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
🐛 Bug: Calendar work items cannot be opened on mobileForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni