Skip to content

acrollet/stop-lab

Repository files navigation

Stop Lab

A desktop application for experimenting with bus route stop reduction, allowing laypeople to easily see the impact of changes.

Screenshot 2026-01-24 at 6 43 05 PM

⚠️ DISCLAIMER: This is hobby software developed for educational and exploratory purposes. It comes with absolutely no guarantee of accuracy, correctness, or fitness for any particular purpose. Do not use this software to make real-world transit planning decisions without independent verification by qualified professionals. The authors accept no liability for any consequences arising from use of this software.

🤖 AI-GENERATED CODE: The majority of this software was generated using Claude (Anthropic), an AI assistant. While the code has been reviewed and tested, AI-generated code may contain subtle errors or unexpected behaviors. Use with appropriate caution.

Motivation

This project was inspired by the article "The United States Needs Fewer Bus Stops" published in Works in Progress. The article makes a compelling case that American bus systems have too many stops spaced too closely together, which slows down service and makes transit less competitive with driving.

Stop Lab aims to make it easy to explore "what if" scenarios for stop consolidation—visualizing the trade-offs between stop spacing, travel time, and accessibility coverage.

Features

  • Load and analyze GTFS feeds - Import standard transit data formats
  • Visualize routes - See speed and spacing diagnostics on an interactive map
  • Interactive stop editing - Select stops for removal and see real-time impact calculations
  • Physics-based modeling - Estimates account for acceleration, deceleration, and dwell time by vehicle type
  • Walk shed analysis - Understand accessibility impacts using OpenStreetMap street networks
  • Scenario management - Save, load, and compare different consolidation scenarios
  • Export - Generate modified GTFS and GeoJSON files

Installation

Download

Pre-built applications for macOS, Windows, and Linux are available on the Releases page.

macOS Security Note

macOS will block the app from opening because it's not code-signed. To run it:

Option 1 - Remove quarantine (recommended):

xattr -d com.apple.quarantine "/Applications/Stop Lab.app"

Option 2 - Use System Settings:

  1. Try to open the app (it will be blocked)
  2. Go to System Settings > Privacy & Security
  3. Scroll down to find "Stop Lab was blocked from use"
  4. Click "Open Anyway"

If you do not feel comfortable doing this, you may review the source and build it locally.

From Source

Requires Python 3.10 or higher.

# Clone the repository
git clone https://github.com/acrollet/stop-lab.git
cd stop-lab

# Using uv (recommended)
uv sync
uv run stop-lab

# Or using pip
pip install -e .
stop-lab

Usage

  1. Upload a GTFS Feed - Use the sidebar to upload a GTFS ZIP file
  2. Select a Route - Choose a route from the dropdown to analyze
  3. Configure Parameters - Select vehicle type and target headway
  4. Enable Edit Mode - Toggle editing to select stops for removal
  5. Analyze Impact - See real-time calculations of time savings, speed changes, and fleet requirements
  6. Run Walk Shed Analysis - Evaluate accessibility impacts (requires internet for OSM data)
  7. Export - Save modified GTFS or GeoJSON files to your Downloads folder

Technology & Acknowledgments

Stop Lab is built on the shoulders of many excellent open source projects:

Core Framework

Project License Description
Dash MIT Web application framework by Plotly
Flask BSD-3-Clause WSGI web application framework
pywebview BSD-3-Clause Native GUI wrapper for web applications

Mapping & Visualization

Project License Description
Dash Leaflet MIT Leaflet maps for Dash
Leaflet BSD-2-Clause JavaScript mapping library
Dash Bootstrap Components Apache-2.0 Bootstrap components for Dash

Geospatial Analysis

Project License Description
GeoPandas BSD-3-Clause Geospatial data analysis
Shapely BSD-3-Clause Geometric operations
OSMnx MIT Street network analysis from OpenStreetMap
Pandana AGPL-3.0 Network accessibility analysis

Data Processing

Project License Description
Partridge MIT GTFS feed parsing
Pandas BSD-3-Clause Data manipulation
NumPy BSD-3-Clause Numerical computing

Data Sources

Development

Running Tests

uv run pytest tests/ -v
uv run pytest --cov=stop_lab  # with coverage

Building from Source

uv run python packaging/build.py --clean

See packaging/README.md for detailed build instructions.

License

Stop Lab is released under the MIT License. See LICENSE for the full text.

MIT License

Copyright (c) 2025 Stop Lab Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Third-Party Licenses

This software incorporates components under various open source licenses including MIT, BSD-2-Clause, BSD-3-Clause, Apache-2.0, and AGPL-3.0. The use of Pandana (AGPL-3.0) for accessibility analysis means that if you modify and distribute this software, the AGPL-3.0 license terms apply to those modifications. See each project's license for full terms.


Remember: This is experimental hobby software. Always verify results independently before making any real-world decisions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •