( # pylint: disable=too-many-statements, too-many-branches
self,
name: Optional[str] = None,
server: Union[bool, Callable[[], Any]] = True,
backend: Union[str, type, None] = None,
assets_folder: str = "assets",
pages_folder: str = "pages",
use_pages: Optional[bool] = None,
assets_url_path: str = "assets",
assets_ignore: str = "",
assets_path_ignore: Optional[List[str]] = None,
assets_external_path: Optional[str] = None,
eager_loading: bool = False,
include_assets_files: bool = True,
include_pages_meta: bool = True,
url_base_pathname: Optional[str] = None,
requests_pathname_prefix: Optional[str] = None,
routes_pathname_prefix: Optional[str] = None,
serve_locally: bool = True,
compress: Optional[bool] = None,
meta_tags: Optional[Sequence[Dict[str, Any]]] = None,
index_string: str = _default_index,
external_scripts: Optional[Sequence[Union[str, Dict[str, Any]]]] = None,
external_stylesheets: Optional[Sequence[Union[str, Dict[str, Any]]]] = None,
suppress_callback_exceptions: Optional[bool] = None,
prevent_initial_callbacks: bool = False,
show_undo_redo: bool = False,
extra_hot_reload_paths: Optional[Sequence[str]] = None,
plugins: Optional[list] = None,
title: str = "Dash",
update_title: str = "Updating...",
background_callback_manager: Optional[
Any
] = None, # Type should be specified if possible
add_log_handler: bool = True,
hooks: Optional[RendererHooks] = None,
routing_callback_inputs: Optional[Dict[str, Union[Input, State]]] = None,
description: Optional[str] = None,
on_error: Optional[Callable[[Exception], Any]] = None,
use_async: Optional[bool] = None,
health_endpoint: Optional[str] = None,
csrf_token_name: str = "_csrf_token",
csrf_header_name: str = "X-CSRFToken",
websocket_callbacks: Optional[bool] = False,
websocket_allowed_origins: Optional[List[str]] = None,
websocket_inactivity_timeout: Optional[int] = 300000,
websocket_heartbeat_interval: Optional[int] = 30000,
websocket_batch_delay: Optional[float] = 0.005,
enable_mcp: Optional[bool] = None,
mcp_path: Optional[str] = None,
**obsolete,
)
| 443 | _extra_components: Any |
| 444 | |
| 445 | def __init__( # pylint: disable=too-many-statements, too-many-branches |
| 446 | self, |
| 447 | name: Optional[str] = None, |
| 448 | server: Union[bool, Callable[[], Any]] = True, |
| 449 | backend: Union[str, type, None] = None, |
| 450 | assets_folder: str = "assets", |
| 451 | pages_folder: str = "pages", |
| 452 | use_pages: Optional[bool] = None, |
| 453 | assets_url_path: str = "assets", |
| 454 | assets_ignore: str = "", |
| 455 | assets_path_ignore: Optional[List[str]] = None, |
| 456 | assets_external_path: Optional[str] = None, |
| 457 | eager_loading: bool = False, |
| 458 | include_assets_files: bool = True, |
| 459 | include_pages_meta: bool = True, |
| 460 | url_base_pathname: Optional[str] = None, |
| 461 | requests_pathname_prefix: Optional[str] = None, |
| 462 | routes_pathname_prefix: Optional[str] = None, |
| 463 | serve_locally: bool = True, |
| 464 | compress: Optional[bool] = None, |
| 465 | meta_tags: Optional[Sequence[Dict[str, Any]]] = None, |
| 466 | index_string: str = _default_index, |
| 467 | external_scripts: Optional[Sequence[Union[str, Dict[str, Any]]]] = None, |
| 468 | external_stylesheets: Optional[Sequence[Union[str, Dict[str, Any]]]] = None, |
| 469 | suppress_callback_exceptions: Optional[bool] = None, |
| 470 | prevent_initial_callbacks: bool = False, |
| 471 | show_undo_redo: bool = False, |
| 472 | extra_hot_reload_paths: Optional[Sequence[str]] = None, |
| 473 | plugins: Optional[list] = None, |
| 474 | title: str = "Dash", |
| 475 | update_title: str = "Updating...", |
| 476 | background_callback_manager: Optional[ |
| 477 | Any |
| 478 | ] = None, # Type should be specified if possible |
| 479 | add_log_handler: bool = True, |
| 480 | hooks: Optional[RendererHooks] = None, |
| 481 | routing_callback_inputs: Optional[Dict[str, Union[Input, State]]] = None, |
| 482 | description: Optional[str] = None, |
| 483 | on_error: Optional[Callable[[Exception], Any]] = None, |
| 484 | use_async: Optional[bool] = None, |
| 485 | health_endpoint: Optional[str] = None, |
| 486 | csrf_token_name: str = "_csrf_token", |
| 487 | csrf_header_name: str = "X-CSRFToken", |
| 488 | websocket_callbacks: Optional[bool] = False, |
| 489 | websocket_allowed_origins: Optional[List[str]] = None, |
| 490 | websocket_inactivity_timeout: Optional[int] = 300000, |
| 491 | websocket_heartbeat_interval: Optional[int] = 30000, |
| 492 | websocket_batch_delay: Optional[float] = 0.005, |
| 493 | enable_mcp: Optional[bool] = None, |
| 494 | mcp_path: Optional[str] = None, |
| 495 | **obsolete, |
| 496 | ): |
| 497 | |
| 498 | use_async = _validate.check_async(use_async) |
| 499 | _validate.check_obsolete(obsolete) |
| 500 | |
| 501 | if not csrf_token_name or not csrf_token_name.strip(): |
| 502 | raise ValueError("csrf_token_name must be a non-empty string") |
nothing calls this directly
no test coverage detected