Coverage report

|  |  | Statements |  | Branches |  | Total
--- | --- | --- | --- | --- | --- | --- | ---
File | function |  | coverage | statements | missing | excluded |  | coverage | branches | partial |  | coverage
railway / __init__.py | (no function) |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / __init__.py | (no function) |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _validate_project_name |  | 75% | 4 | 1 | 0 |  | 50% | 2 | 1 |  | 67%
railway / cli / init.py | _create_directory |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _write_file |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_pyproject_toml |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_env_example |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_development_yaml |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_settings_py |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_tutorial_md |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_gitignore |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_init_files |  | 100% | 3 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / cli / init.py | _create_conftest_py |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | _create_example_entry |  | 0% | 2 | 2 | 0 |  | 100% | 0 | 0 |  | 0%
railway / cli / init.py | _create_project_structure |  | 92% | 12 | 1 | 0 |  | 50% | 2 | 1 |  | 86%
railway / cli / init.py | _show_success_output |  | 100% | 13 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / init.py | init |  | 71% | 7 | 2 | 0 |  | 50% | 2 | 1 |  | 67%
railway / cli / init.py | (no function) |  | 100% | 18 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / list.py | _is_railway_project |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / list.py | _extract_module_docstring |  | 62% | 8 | 3 | 0 |  | 50% | 2 | 1 |  | 60%
railway / cli / list.py | _analyze_entry_file |  | 62% | 8 | 3 | 0 |  | 50% | 2 | 1 |  | 60%
railway / cli / list.py | _analyze_node_file |  | 62% | 8 | 3 | 0 |  | 50% | 2 | 1 |  | 60%
railway / cli / list.py | _find_entries |  | 100% | 6 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / list.py | _find_entries.should_analyze |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / list.py | _find_nodes |  | 86% | 7 | 1 | 0 |  | 50% | 2 | 1 |  | 78%
railway / cli / list.py | _find_nodes.should_analyze |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / list.py | _count_tests |  | 75% | 4 | 1 | 0 |  | 50% | 2 | 1 |  | 67%
railway / cli / list.py | _display_entries |  | 67% | 6 | 2 | 0 |  | 75% | 4 | 1 |  | 70%
railway / cli / list.py | _display_nodes |  | 67% | 6 | 2 | 0 |  | 75% | 4 | 1 |  | 70%
railway / cli / list.py | _display_all |  | 100% | 4 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / list.py | list_components |  | 64% | 11 | 4 | 0 |  | 50% | 6 | 3 |  | 59%
railway / cli / list.py | (no function) |  | 100% | 15 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / main.py | main |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / main.py | (no function) |  | 93% | 14 | 1 | 0 |  | 50% | 2 | 1 |  | 88%
railway / cli / new.py | _is_railway_project |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / new.py | _write_file |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / new.py | _get_entry_template |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / new.py | _get_entry_example_template |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
railway / cli / new.py | _get_node_template |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / new.py | _get_node_example_template |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
railway / cli / new.py | _get_node_test_template |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / new.py | _create_entry |  | 82% | 11 | 2 | 0 |  | 50% | 2 | 1 |  | 77%
railway / cli / new.py | _create_node_test |  | 75% | 8 | 2 | 0 |  | 50% | 4 | 2 |  | 67%
railway / cli / new.py | _create_node |  | 73% | 15 | 4 | 0 |  | 50% | 4 | 2 |  | 68%
railway / cli / new.py | new |  | 67% | 6 | 2 | 0 |  | 75% | 4 | 1 |  | 70%
railway / cli / new.py | (no function) |  | 100% | 17 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / cli / run.py | _find_project_root |  | 0% | 11 | 11 | 0 |  | 0% | 10 | 0 |  | 0%
railway / cli / run.py | _list_entries |  | 0% | 10 | 10 | 0 |  | 0% | 6 | 0 |  | 0%
railway / cli / run.py | _execute_entry |  | 0% | 16 | 16 | 0 |  | 0% | 6 | 0 |  | 0%
railway / cli / run.py | run |  | 0% | 21 | 21 | 0 |  | 0% | 8 | 0 |  | 0%
railway / cli / run.py | (no function) |  | 100% | 9 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / __init__.py | (no function) |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | register_settings_provider |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | get_settings_provider |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | get_retry_config |  | 100% | 7 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / config.py | reset_provider |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | reset_settings |  | 100% | 3 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | _get_or_create_settings |  | 64% | 11 | 4 | 0 |  | 75% | 4 | 1 |  | 67%
railway / core / config.py | _create_default_settings |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / config.py | _SettingsProxy.__getattr__ |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | _SettingsProxy.__repr__ |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / config.py | (no function) |  | 100% | 29 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / decorators.py | Retry.__init__ |  | 100% | 5 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / decorators.py | node |  | 100% | 4 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / decorators.py | node.decorator |  | 100% | 5 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / decorators.py | _create_sync_wrapper |  | 100% | 7 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / decorators.py | _create_sync_wrapper.wrapper |  | 100% | 15 | 0 | 0 |  | 100% | 6 | 0 |  | 100%
railway / core / decorators.py | _create_async_wrapper |  | 100% | 7 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / decorators.py | _create_async_wrapper.wrapper |  | 87% | 15 | 2 | 0 |  | 67% | 6 | 2 |  | 81%
railway / core / decorators.py | _execute_async_with_retry |  | 100% | 8 | 0 | 0 |  | 75% | 4 | 1 |  | 92%
railway / core / decorators.py | _get_retry_configuration |  | 100% | 7 | 0 | 0 |  | 100% | 4 | 0 |  | 100%
railway / core / decorators.py | _get_error_hint |  | 94% | 16 | 1 | 0 |  | 93% | 14 | 1 |  | 93%
railway / core / decorators.py | _log_error_with_hint |  | 100% | 5 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / decorators.py | _execute_with_retry |  | 73% | 11 | 3 | 0 |  | 0% | 2 | 0 |  | 62%
railway / core / decorators.py | _execute_with_retry.before_retry |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / decorators.py | entry_point |  | 100% | 4 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / decorators.py | entry_point.decorator |  | 100% | 13 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / decorators.py | entry_point.decorator.cli_wrapper |  | 45% | 11 | 6 | 0 |  | 100% | 0 | 0 |  | 45%
railway / core / decorators.py | entry_point.decorator.entry_wrapper |  | 67% | 3 | 1 | 0 |  | 50% | 2 | 1 |  | 60%
railway / core / decorators.py | (no function) |  | 100% | 20 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / errors.py | RailwayError.__init__ |  | 100% | 5 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / errors.py | RailwayError.full_message |  | 0% | 7 | 7 | 0 |  | 0% | 4 | 0 |  | 0%
railway / core / errors.py | RailwayError.to_dict |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / errors.py | ConfigurationError.__init__ |  | 100% | 4 | 0 | 0 |  | 50% | 2 | 1 |  | 83%
railway / core / errors.py | ConfigurationError.to_dict |  | 0% | 3 | 3 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / errors.py | NodeError.__init__ |  | 100% | 3 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / errors.py | NodeError.full_message |  | 100% | 9 | 0 | 0 |  | 50% | 6 | 3 |  | 80%
railway / core / errors.py | NodeError.to_dict |  | 0% | 5 | 5 | 0 |  | 0% | 2 | 0 |  | 0%
railway / core / errors.py | PipelineError.__init__ |  | 100% | 5 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / errors.py | PipelineError.remaining_steps |  | 67% | 3 | 1 | 0 |  | 50% | 2 | 1 |  | 60%
railway / core / errors.py | PipelineError.full_message |  | 0% | 11 | 11 | 0 |  | 0% | 8 | 0 |  | 0%
railway / core / errors.py | PipelineError.to_dict |  | 100% | 6 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / errors.py | NetworkError.__init__ |  | 100% | 5 | 0 | 0 |  | 50% | 2 | 1 |  | 86%
railway / core / errors.py | NetworkError.to_dict |  | 0% | 4 | 4 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / errors.py | ValidationError.__init__ |  | 100% | 5 | 0 | 0 |  | 50% | 2 | 1 |  | 86%
railway / core / errors.py | ValidationError.to_dict |  | 0% | 4 | 4 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / errors.py | RailwayTimeoutError.__init__ |  | 0% | 4 | 4 | 0 |  | 0% | 2 | 0 |  | 0%
railway / core / errors.py | RailwayTimeoutError.to_dict |  | 0% | 3 | 3 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / errors.py | (no function) |  | 100% | 27 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / logging.py | _add_console_handler |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / logging.py | _add_file_handler |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / logging.py | _add_handler |  | 86% | 7 | 1 | 0 |  | 67% | 6 | 2 |  | 77%
railway / core / logging.py | _add_default_handler |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / logging.py | init_logging |  | 100% | 6 | 0 | 0 |  | 100% | 4 | 0 |  | 100%
railway / core / logging.py | get_logger |  | 100% | 3 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / logging.py | (no function) |  | 100% | 10 | 0 | 2 |  | 100% | 0 | 0 |  | 100%
railway / core / pipeline.py | pipeline |  | 100% | 33 | 0 | 0 |  | 93% | 14 | 1 |  | 98%
railway / core / pipeline.py | async_pipeline |  | 61% | 31 | 12 | 0 |  | 50% | 12 | 2 |  | 58%
railway / core / pipeline.py | (no function) |  | 100% | 7 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / settings.py | _load_yaml_config |  | 100% | 5 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / settings.py | _parse_api_settings |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / settings.py | _parse_database_settings |  | 100% | 2 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / settings.py | _parse_retry_settings |  | 100% | 6 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / settings.py | _parse_logging_settings |  | 100% | 5 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / settings.py | _apply_env_overrides |  | 100% | 3 | 0 | 0 |  | 100% | 2 | 0 |  | 100%
railway / core / settings.py | Settings.__init__ |  | 100% | 8 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / settings.py | Settings._resolve_config_dir |  | 33% | 6 | 4 | 0 |  | 25% | 4 | 1 |  | 30%
railway / core / settings.py | Settings.get_retry_settings |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / settings.py | get_settings |  | 0% | 3 | 3 | 0 |  | 0% | 2 | 0 |  | 0%
railway / core / settings.py | reset_settings |  | 0% | 1 | 1 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / settings.py | (no function) |  | 100% | 54 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / type_check.py | check_type_compatibility |  | 75% | 20 | 5 | 0 |  | 75% | 12 | 3 |  | 75%
railway / core / type_check.py | get_function_input_type |  | 67% | 9 | 3 | 0 |  | 50% | 2 | 1 |  | 64%
railway / core / type_check.py | get_function_output_type |  | 0% | 6 | 6 | 0 |  | 100% | 0 | 0 |  | 0%
railway / core / type_check.py | format_type_error |  | 100% | 1 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / core / type_check.py | _type_name |  | 67% | 3 | 1 | 0 |  | 50% | 2 | 1 |  | 60%
railway / core / type_check.py | (no function) |  | 100% | 6 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
railway / utils / __init__.py | (no function) |  | 100% | 0 | 0 | 0 |  | 100% | 0 | 0 |  | 100%
Total |  |  | 78% | 883 | 192 | 2 |  | 56% | 228 | 44 |  | 74%

No items found using the specified filter.