Skip to content

Add multi-system agency support to download script#16

Merged
themightychris merged 1 commit intomainfrom
themightychris/multi-system-download
Jan 28, 2026
Merged

Add multi-system agency support to download script#16
themightychris merged 1 commit intomainfrom
themightychris/multi-system-download

Conversation

@themightychris
Copy link
Member

Summary

Support agencies with multiple transit systems (e.g., SEPTA with bus and rail) by adding system filtering to the download script. Users can now view system breakdown with --list, download all systems with --agency septa, or download a specific system with --agency septa/bus. The dbt model now exposes system_id and system_name for analysis.

Changes

  • get_agencies(): Restructured to nest systems within agencies, using None key for single-system agencies
  • Added parse_agency_arg(): Parses agency/system syntax
  • list_agencies(): Shows system breakdown for multi-system agencies
  • download_agency(): New system_id parameter to optionally filter downloads
  • stg_available_feeds.sql: Added system_id and system_name columns
  • Documentation: Added Multi-System Agencies section with examples

Backward compatible - existing commands like --agency actransit work unchanged.

Support agencies with multiple systems (e.g., SEPTA bus/rail) by updating the
download script to parse agency/system syntax and group feeds appropriately.
Users can now download all systems with --agency septa or a specific system with
--agency septa/bus. Updated dbt model and documentation to expose system metadata.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@themightychris themightychris merged commit 819d817 into main Jan 28, 2026
2 checks passed
@themightychris themightychris deleted the themightychris/multi-system-download branch January 28, 2026 02:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant