Docs/realtime minimal producers consumers s19 #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds the documentation required for Sub-issue #18 by incorporating minimal producer and consumer patterns for GTFS-Realtime feeds.
The examples are drawn from existing modules in the project (
test_realtime.py,stream_mbta_feeds.py, andregenerate_fixtures.py) to ensure alignment with the actual implementation.The new material was added to the existing
README.mdunder the section titled “Minimal Producers & Consumers (GTFS-Realtime)”.Additions to Documentation
Producer Snippets
The README now includes examples illustrating how a
FeedMessageis constructed, populated, and serialized to Protobuf.The snippets show:
SerializeToString()build_trip_updates_bytewax()These examples demonstrate the minimal pattern required to publish GTFS-Realtime messages.
Consumer Snippets
Examples were added showing how GTFS-Realtime feeds are consumed, including:
.pbfile usingParseFromString()These patterns represent the minimal structure needed to ingest GTFS-Realtime messages.
Error Handling Patterns
The documentation now includes the error-handling approaches already used in the codebase, including:
raise_for_status())These patterns provide contributors with practical references for building resilient ingestion flows.
Reference Links
Relevant specification and binding resources were added to the README:
Acceptance Criteria
Additional Notes
A new
CONTRIBUTING.mddocument was created to formalize branch naming conventions, commit standards, testing instructions, and documentation expectations.This ensures consistency across future contributions.