LICENSE
NOTICE
README.md
pyproject.toml
src/gtfs_validator/__init__.py
src/gtfs_validator/cli.py
src/gtfs_validator/cliargs.py
src/gtfs_validator/columncap.py
src/gtfs_validator/container.py
src/gtfs_validator/context.py
src/gtfs_validator/csvparse.py
src/gtfs_validator/csvquoting.py
src/gtfs_validator/error_ids.py
src/gtfs_validator/farmhash.py
src/gtfs_validator/fetch.py
src/gtfs_validator/htmlnotices.py
src/gtfs_validator/htmlreport.py
src/gtfs_validator/htmlsummary.py
src/gtfs_validator/indexing.py
src/gtfs_validator/javahash.py
src/gtfs_validator/javarbtree.py
src/gtfs_validator/javatext.py
src/gtfs_validator/javatree.py
src/gtfs_validator/loading.py
src/gtfs_validator/loadops.py
src/gtfs_validator/manifest.py
src/gtfs_validator/notices.py
src/gtfs_validator/parallel_load.py
src/gtfs_validator/pipeline.py
src/gtfs_validator/report.py
src/gtfs_validator/s2earth.py
src/gtfs_validator/s2point.py
src/gtfs_validator/schema.py
src/gtfs_validator/split_load.py
src/gtfs_validator/store.py
src/gtfs_validator/storecodec.py
src/gtfs_validator/storereads.py
src/gtfs_validator/table_status.py
src/gtfs_validator/typing_checks.py
src/gtfs_validator/typing_compiled.py
src/gtfs_validator/typing_maps.py
src/gtfs_validator/typing_postpass.py
src/gtfs_validator/typing_stage.py
src/gtfs_validator/version.py
src/gtfs_validator.egg-info/PKG-INFO
src/gtfs_validator.egg-info/SOURCES.txt
src/gtfs_validator.egg-info/dependency_links.txt
src/gtfs_validator.egg-info/entry_points.txt
src/gtfs_validator.egg-info/requires.txt
src/gtfs_validator.egg-info/top_level.txt
src/gtfs_validator/data/canonical_notices.json
src/gtfs_validator/data/currencies.json
src/gtfs_validator/data/display_languages.json
src/gtfs_validator/data/jts_messages.json
src/gtfs_validator/data/notice_descriptions.json
src/gtfs_validator/data/notice_schema.json
src/gtfs_validator/data/phone_lengths.json
src/gtfs_validator/data/report_template.html
src/gtfs_validator/data/table_schemas.json
src/gtfs_validator/data/timezones.json
src/gtfs_validator/data/tlds.json
src/gtfs_validator/fieldtypes/__init__.py
src/gtfs_validator/fieldtypes/domains.py
src/gtfs_validator/fieldtypes/emails.py
src/gtfs_validator/fieldtypes/phone_parsing.py
src/gtfs_validator/fieldtypes/phone_tables.py
src/gtfs_validator/fieldtypes/phones.py
src/gtfs_validator/fieldtypes/refdata.py
src/gtfs_validator/fieldtypes/scalars.py
src/gtfs_validator/fieldtypes/urls.py
src/gtfs_validator/fieldtypes/zones.py
src/gtfs_validator/geojson/__init__.py
src/gtfs_validator/geojson/constants.py
src/gtfs_validator/geojson/decoding.py
src/gtfs_validator/geojson/features.py
src/gtfs_validator/geometry/__init__.py
src/gtfs_validator/geometry/overlaps.py
src/gtfs_validator/geometry/predicates.py
src/gtfs_validator/geometry/validity.py
src/gtfs_validator/rules/__init__.py
src/gtfs_validator/rules/attribution_without_role.py
src/gtfs_validator/rules/bidirectional_exit_gate.py
src/gtfs_validator/rules/big_gap_in_service.py
src/gtfs_validator/rules/block_trips_with_overlapping_stop_times.py
src/gtfs_validator/rules/decreasing_or_equal_stop_time_distance.py
src/gtfs_validator/rules/decreasing_shape_distance.py
src/gtfs_validator/rules/duplicate_fare_media.py
src/gtfs_validator/rules/duplicate_geography_id.py
src/gtfs_validator/rules/duplicate_route_name.py
src/gtfs_validator/rules/equal_shape_distance_diff_coordinates.py
src/gtfs_validator/rules/equal_shape_distance_diff_coordinates_distance_below_threshold.py
src/gtfs_validator/rules/equal_shape_distance_same_coordinates.py
src/gtfs_validator/rules/expired_calendar.py
src/gtfs_validator/rules/fare_product_with_multiple_default_rider_categories.py
src/gtfs_validator/rules/fare_transfer_rule_duration_limit_type_without_duration_limit.py
src/gtfs_validator/rules/fare_transfer_rule_duration_limit_without_type.py
src/gtfs_validator/rules/fare_transfer_rule_invalid_transfer_count.py
src/gtfs_validator/rules/fare_transfer_rule_with_forbidden_transfer_count.py
src/gtfs_validator/rules/fare_transfer_rule_without_transfer_count.py
src/gtfs_validator/rules/fast_travel_between_consecutive_stops.py
src/gtfs_validator/rules/fast_travel_between_far_stops.py
src/gtfs_validator/rules/feed_expiration_date30_days.py
src/gtfs_validator/rules/feed_expiration_date7_days.py
src/gtfs_validator/rules/feed_info_lang_and_agency_lang_mismatch.py
src/gtfs_validator/rules/feed_valid_beyond_total_service_window.py
src/gtfs_validator/rules/feedview.py
src/gtfs_validator/rules/forbidden_arrival_or_departure_time.py
src/gtfs_validator/rules/forbidden_continuous_pickup_drop_off.py
src/gtfs_validator/rules/forbidden_drop_off_type.py
src/gtfs_validator/rules/forbidden_geography_id.py
src/gtfs_validator/rules/forbidden_pickup_type.py
src/gtfs_validator/rules/forbidden_prior_day_booking_field_value.py
src/gtfs_validator/rules/forbidden_prior_notice_start_day.py
src/gtfs_validator/rules/forbidden_prior_notice_start_time.py
src/gtfs_validator/rules/forbidden_real_time_booking_field_value.py
src/gtfs_validator/rules/forbidden_same_day_booking_field_value.py
src/gtfs_validator/rules/forbidden_shape_dist_traveled.py
src/gtfs_validator/rules/foreign_key_violation.py
src/gtfs_validator/rules/future_calendar.py
src/gtfs_validator/rules/future_feed.py
src/gtfs_validator/rules/inconsistent_agency_lang.py
src/gtfs_validator/rules/inconsistent_agency_timezone.py
src/gtfs_validator/rules/inconsistent_route_type_for_block_id.py
src/gtfs_validator/rules/inconsistent_route_type_for_in_seat_transfer.py
src/gtfs_validator/rules/invalid_pickup_drop_off_window.py
src/gtfs_validator/rules/invalid_prior_notice_duration_min.py
src/gtfs_validator/rules/location_with_unexpected_stop_time.py
src/gtfs_validator/rules/location_without_parent_station.py
src/gtfs_validator/rules/missing_bike_allowance.py
src/gtfs_validator/rules/missing_calendar_and_calendar_date_files.py
src/gtfs_validator/rules/missing_feed_contact_email_and_url.py
src/gtfs_validator/rules/missing_feed_info_date.py
src/gtfs_validator/rules/missing_level_id.py
src/gtfs_validator/rules/missing_pickup_drop_off_booking_rule_id.py
src/gtfs_validator/rules/missing_pickup_or_drop_off_window.py
src/gtfs_validator/rules/missing_prior_notice_duration_min.py
src/gtfs_validator/rules/missing_prior_notice_last_day.py
src/gtfs_validator/rules/missing_prior_notice_last_time.py
src/gtfs_validator/rules/missing_prior_notice_start_time.py
src/gtfs_validator/rules/missing_recommended_field.py
src/gtfs_validator/rules/missing_required_agency_id.py
src/gtfs_validator/rules/missing_required_field.py
src/gtfs_validator/rules/missing_stop_name.py
src/gtfs_validator/rules/missing_stop_times_record.py
src/gtfs_validator/rules/missing_timepoint_value.py
src/gtfs_validator/rules/missing_trip_edge.py
src/gtfs_validator/rules/overlapping_frequency.py
src/gtfs_validator/rules/overlapping_zone_and_pickup_drop_off_window.py
src/gtfs_validator/rules/parallel_partition.py
src/gtfs_validator/rules/parallel_runner.py
src/gtfs_validator/rules/pathway_dangling_generic_node.py
src/gtfs_validator/rules/pathway_loop.py
src/gtfs_validator/rules/pathway_to_platform_with_boarding_areas.py
src/gtfs_validator/rules/pathway_to_stop_with_access_outside_of_station_pathways.py
src/gtfs_validator/rules/pathway_to_wrong_location_type.py
src/gtfs_validator/rules/pathway_unreachable_location.py
src/gtfs_validator/rules/platform_without_parent_station.py
src/gtfs_validator/rules/point_near_origin.py
src/gtfs_validator/rules/point_near_pole.py
src/gtfs_validator/rules/prior_notice_last_day_after_start_day.py
src/gtfs_validator/rules/registry.py
src/gtfs_validator/rules/route_both_short_and_long_name_missing.py
src/gtfs_validator/rules/route_color_contrast.py
src/gtfs_validator/rules/route_long_name_contains_short_name.py
src/gtfs_validator/rules/route_networks_specified_in_more_than_one_file.py
src/gtfs_validator/rules/route_short_name_too_long.py
src/gtfs_validator/rules/runner.py
src/gtfs_validator/rules/same_name_and_description_for_route.py
src/gtfs_validator/rules/same_name_and_description_for_stop.py
src/gtfs_validator/rules/same_route_and_agency_url.py
src/gtfs_validator/rules/same_stop_and_agency_url.py
src/gtfs_validator/rules/same_stop_and_route_url.py
src/gtfs_validator/rules/service_extends_far_in_the_future.py
src/gtfs_validator/rules/service_has_no_active_day_of_the_week.py
src/gtfs_validator/rules/service_window_outside_feed_period.py
src/gtfs_validator/rules/single_shape_point.py
src/gtfs_validator/rules/station_with_parent_station.py
src/gtfs_validator/rules/stop_access_specified_for_incorrect_location.py
src/gtfs_validator/rules/stop_access_specified_for_stop_with_no_parent_station.py
src/gtfs_validator/rules/stop_has_too_many_matches_for_shape.py
src/gtfs_validator/rules/stop_time_timepoint_without_times.py
src/gtfs_validator/rules/stop_time_with_arrival_before_previous_departure_time.py
src/gtfs_validator/rules/stop_time_with_only_arrival_or_departure_time.py
src/gtfs_validator/rules/stop_too_far_from_shape.py
src/gtfs_validator/rules/stop_too_far_from_shape_using_user_distance.py
src/gtfs_validator/rules/stop_without_location.py
src/gtfs_validator/rules/stop_without_stop_time.py
src/gtfs_validator/rules/stop_without_zone_id.py
src/gtfs_validator/rules/stops_match_shape_out_of_order.py
src/gtfs_validator/rules/timeframe_only_start_or_end_time_specified.py
src/gtfs_validator/rules/timeframe_overlap.py
src/gtfs_validator/rules/timeframe_start_or_end_time_greater_than_twenty_four_hours.py
src/gtfs_validator/rules/transfer_distance_above_2_km.py
src/gtfs_validator/rules/transfer_distance_too_large.py
src/gtfs_validator/rules/transfer_with_invalid_stop_location_type.py
src/gtfs_validator/rules/transfer_with_invalid_trip_and_route.py
src/gtfs_validator/rules/transfer_with_invalid_trip_and_stop.py
src/gtfs_validator/rules/transfer_with_suspicious_mid_trip_in_seat.py
src/gtfs_validator/rules/translation_foreign_key_violation.py
src/gtfs_validator/rules/translation_unexpected_value.py
src/gtfs_validator/rules/translation_unknown_table_name.py
src/gtfs_validator/rules/trip_coverage_not_active_for_next7_days.py
src/gtfs_validator/rules/trip_distance_exceeds_shape_distance.py
src/gtfs_validator/rules/trip_distance_exceeds_shape_distance_below_threshold.py
src/gtfs_validator/rules/trip_headsign_matches_intermediate_stop.py
src/gtfs_validator/rules/trip_with_shape_dist_traveled_but_no_shape_distances.py
src/gtfs_validator/rules/unsorted_stop_times.py
src/gtfs_validator/rules/unusable_trip.py
src/gtfs_validator/rules/unused_shape.py
src/gtfs_validator/rules/unused_station.py
src/gtfs_validator/rules/unused_trip.py
src/gtfs_validator/rules/wrong_parent_location_type.py
src/gtfs_validator/rules/_shared/__init__.py
src/gtfs_validator/rules/_shared/agency_consistency.py
src/gtfs_validator/rules/_shared/booking.py
src/gtfs_validator/rules/_shared/calendars.py
src/gtfs_validator/rules/_shared/conditional_agency_id.py
src/gtfs_validator/rules/_shared/enums.py
src/gtfs_validator/rules/_shared/expiration.py
src/gtfs_validator/rules/_shared/foreign_keys.py
src/gtfs_validator/rules/_shared/in_seat.py
src/gtfs_validator/rules/_shared/intervals.py
src/gtfs_validator/rules/_shared/lat_lon.py
src/gtfs_validator/rules/_shared/locales.py
src/gtfs_validator/rules/_shared/location_types.py
src/gtfs_validator/rules/_shared/overlap.py
src/gtfs_validator/rules/_shared/pathways.py
src/gtfs_validator/rules/_shared/reachability.py
src/gtfs_validator/rules/_shared/render.py
src/gtfs_validator/rules/_shared/scan_hub.py
src/gtfs_validator/rules/_shared/service_intersection.py
src/gtfs_validator/rules/_shared/service_window.py
src/gtfs_validator/rules/_shared/shape_points.py
src/gtfs_validator/rules/_shared/stop_access.py
src/gtfs_validator/rules/_shared/stop_coordinates.py
src/gtfs_validator/rules/_shared/stop_time_times.py
src/gtfs_validator/rules/_shared/stop_time_trips.py
src/gtfs_validator/rules/_shared/stop_time_usage.py
src/gtfs_validator/rules/_shared/stop_to_shape_problems.py
src/gtfs_validator/rules/_shared/timepoints.py
src/gtfs_validator/rules/_shared/transfer_counts.py
src/gtfs_validator/rules/_shared/transfer_distance.py
src/gtfs_validator/rules/_shared/transfer_trips.py
src/gtfs_validator/rules/_shared/translations.py
src/gtfs_validator/rules/_shared/travel_speed.py
src/gtfs_validator/rules/_shared/trip_calendar.py
src/gtfs_validator/rules/_shared/trip_shape_distance.py
src/gtfs_validator/rules/_shared/urls.py
src/gtfs_validator/rules/_shared/windows.py
src/gtfs_validator/stop_to_shape/__init__.py
src/gtfs_validator/stop_to_shape/location_match.py
src/gtfs_validator/stop_to_shape/matcher.py
src/gtfs_validator/stop_to_shape/matches.py
src/gtfs_validator/stop_to_shape/segment_grid.py
src/gtfs_validator/stop_to_shape/shape.py
src/gtfs_validator/stop_to_shape/stops.py
src/gtfs_validator/summary/__init__.py
src/gtfs_validator/summary/features.py
src/gtfs_validator/summary/memory.py
src/gtfs_validator/summary/metadata.py
src/gtfs_validator/summary/reads.py
tests/test_calendars.py
tests/test_check_upstream.py
tests/test_cli.py
tests/test_cli_contract.py
tests/test_columncap.py
tests/test_container.py
tests/test_container_entries.py
tests/test_csvparse.py
tests/test_csvparse_whitespace.py
tests/test_csvquoting.py
tests/test_currency_amount.py
tests/test_emails.py
tests/test_farmhash.py
tests/test_fieldtypes_refdata.py
tests/test_fieldtypes_scalars.py
tests/test_foreign_key_references.py
tests/test_generated_data_drift.py
tests/test_geojson.py
tests/test_geojson_coordinates.py
tests/test_geojson_duplicate_key.py
tests/test_geometry.py
tests/test_geometry_overlaps.py
tests/test_html_golden.py
tests/test_html_whitespace.py
tests/test_indexing.py
tests/test_intervals.py
tests/test_intervals_batching.py
tests/test_javahash.py
tests/test_javatext.py
tests/test_jts_messages.py
tests/test_manifest.py
tests/test_notices.py
tests/test_parallel_load.py
tests/test_phones.py
tests/test_report.py
tests/test_rule_registry.py
tests/test_rules_bike_allowance_order.py
tests/test_rules_block_overlap.py
tests/test_rules_booking.py
tests/test_rules_dates.py
tests/test_rules_fast_travel.py
tests/test_rules_fast_travel_far.py
tests/test_rules_field_presence.py
tests/test_rules_foreign_key.py
tests/test_rules_foreign_key_handwritten.py
tests/test_rules_misc.py
tests/test_rules_overlap.py
tests/test_rules_parent_type.py
tests/test_rules_pathway_reachability.py
tests/test_rules_pathway_reachability_scope.py
tests/test_rules_pathways.py
tests/test_rules_pickup_windows.py
tests/test_rules_route_names.py
tests/test_rules_routes.py
tests/test_rules_service_window.py
tests/test_rules_shape_distance.py
tests/test_rules_stop_time_distance.py
tests/test_rules_stop_times_record.py
tests/test_rules_stop_to_shape.py
tests/test_rules_stop_to_shape_context.py
tests/test_rules_stop_to_shape_walk.py
tests/test_rules_stops.py
tests/test_rules_transfer_distance.py
tests/test_rules_transfer_trips.py
tests/test_rules_transfers.py
tests/test_rules_translations.py
tests/test_rules_trip_headsign.py
tests/test_rules_trip_headsign_presence.py
tests/test_rules_trip_shape_distance.py
tests/test_rules_urls.py
tests/test_rules_usage.py
tests/test_rules_zone_ids.py
tests/test_rules_zone_overlap.py
tests/test_s2point.py
tests/test_scan_hub.py
tests/test_scan_runner.py
tests/test_schema.py
tests/test_schema_generator.py
tests/test_segment_grid.py
tests/test_service_window_helpers.py
tests/test_split_load.py
tests/test_stop_to_shape_geometry.py
tests/test_stop_to_shape_matcher.py
tests/test_store.py
tests/test_store_references.py
tests/test_travel_speed_grouping.py
tests/test_trip_calendar.py
tests/test_typing_stage.py
tests/test_urls.py
tests/test_version.py