Component Diagrams
Details
Static architecture map of 31 files (py, sh) in 5 components: deploynator: _changelog, deploynator: _toml, deploynator: _models, deploynator: _platforms, deploynator: _mcp_server. Structure is extracted statically without LLM calls; component prose may be enriched locally.
Relations
- deploynator: _changelog depends on deploynator: _toml — 2 imports, 1 calls across the boundary
tests/test_pypi.py::_toml@154 → deploynator/_toml.py::TomlConfig - deploynator: _changelog calls into deploynator: _models — 5 imports, 8 calls across the boundary
deploynator/_changelog.py::generate_from_messages@29 → deploynator/_models.py::parse·deploynator/_changelog.py::generate_from_messages@31 → deploynator/_models.py::ChangelogEntry·deploynator/_changelog.py::generate_from_messages@38 → deploynator/_models.py::ChangelogEntry - deploynator: _changelog calls into deploynator: _platforms — 3 imports, 6 calls across the boundary
tests/test_pypi.py::test_prompted_token_used_for_upload@137 → deploynator/_deploy.py::DeployOrchestrator·tests/test_pypi.py::test_prompted_token_used_for_upload@137 → deploynator/_deploy.py::deploy·tests/test_pypi.py::test_pypi_failure_aborts_with_error@212 → deploynator/_deploy.py::DeployOrchestrator - deploynator: _changelog calls into deploynator: _mcp_server — 0 imports, 2 calls across the boundary
deploynator/_pypi.py::save_pypirc@80 → deploynator/_mcp_server.py::read·tests/test_pypi.py::test_save_pypirc_roundtrip@91 → deploynator/_mcp_server.py::read - deploynator: _toml depends on deploynator: _changelog — 17 imports, 15 calls across the boundary
deploynator/_toml.py::load_toml_config@52 → deploynator/_config.py::create·tests/bdd_test_deploy.py::test_tests_failure_blocks_release@111 → deploynator/_config.py::create·tests/bdd_test_deploy.py::test_docs_failure_does_not_block_release@135 → deploynator/_config.py::create - deploynator: _toml calls into deploynator: _models — 6 imports, 12 calls across the boundary
tests/bdd_test_deploy.py::test_version_bump_by_commit_type@47 → deploynator/_models.py::from_string·tests/bdd_test_deploy.py::test_version_bump_by_commit_type@48 → deploynator/_models.py::bump_strategy·tests/bdd_test_deploy.py::test_version_bump_by_commit_type@51 → deploynator/_models.py::parse - deploynator: _toml calls into deploynator: _platforms — 1 imports, 2 calls across the boundary
tests/bdd_test_deploy.py::test_tests_failure_blocks_release@111 → deploynator/_deploy.py::DeployOrchestrator·tests/bdd_test_deploy.py::test_tests_failure_blocks_release@112 → deploynator/_deploy.py::deploy - deploynator: _models calls into deploynator: _changelog — 9 imports, 15 calls across the boundary
tests/test_path_deploy.py::test_release_v_prefix@22 → deploynator/_config.py::create·tests/test_path_deploy.py::test_v_prefix@31 → deploynator/_config.py::create·tests/test_path_deploy.py::test_write_pyproject_toml@43 → deploynator/_config.py::create - deploynator: _models calls into deploynator: _platforms — 6 imports, 16 calls across the boundary
tests/test_path_deploy.py::test_release_by_path_dry_run@58 → deploynator/_app.py::DeploynatorApp·tests/test_path_deploy.py::test_release_by_path_dry_run@59 → deploynator/_app.py::release·tests/test_path_deploy.py::test_no_platforms_pushes_to_origin@83 → deploynator/_deploy.py::DeployOrchestrator - deploynator: _models calls into deploynator: _mcp_server — 2 imports, 4 calls across the boundary
deploynator/_semver.py::get_current_version@35 → deploynator/_mcp_server.py::read·deploynator/_semver.py::write_version_file@75 → deploynator/_mcp_server.py::read·deploynator/_semver.py::write_version_file@85 → deploynator/_mcp_server.py::read - deploynator: _platforms calls into deploynator: _changelog — 7 imports, 19 calls across the boundary
deploynator/_app.py::__init__@22 → deploynator/_config.py::create·deploynator/_app.py::__init__@25 → deploynator/_config.py::create·deploynator/_app.py::auth_status@48 → deploynator/_config.py::create - deploynator: _platforms calls into deploynator: _toml — 4 imports, 18 calls across the boundary
deploynator/_app.py::release@261 → deploynator/_toml.py::load_toml_config·deploynator/_deploy.py::__init__@83 → deploynator/_runner.py::TestRunner·deploynator/_deploy.py::__init__@84 → deploynator/_docs.py::DocsRunner - deploynator: _platforms calls into deploynator: _models — 8 imports, 45 calls across the boundary
deploynator/_app.py::auth_status@48 → deploynator/_models.py::from_string·deploynator/_app.py::start_branch@135 → deploynator/_models.py::from_string·deploynator/_app.py::commit@194 → deploynator/_models.py::from_string - deploynator: _mcp_server calls into deploynator: _changelog — 3 imports, 4 calls across the boundary
deploynator/__main__.py::main@169 → deploynator/_config.py::create·deploynator/__main__.py::main@175 → deploynator/_config.py::create·deploynator/_mcp_server.py::main@273 → deploynator/_config.py::create - deploynator: _mcp_server calls into deploynator: _models — 1 imports, 5 calls across the boundary
deploynator/__main__.py::build_parser@38 → deploynator/_models.py::valid_types·deploynator/__main__.py::build_parser@64 → deploynator/_models.py::valid_types·deploynator/__main__.py::build_parser@77 → deploynator/_models.py::valid_types - deploynator: _mcp_server calls into deploynator: _platforms — 1 imports, 21 calls across the boundary
deploynator/__main__.py::main@170 → deploynator/_app.py::DeploynatorApp·deploynator/__main__.py::main@170 → deploynator/_app.py::interactive_menu·deploynator/__main__.py::main@176 → deploynator/_app.py::DeploynatorApp
deploynator: _changelog (1) [Expand]
deploynator: _changelog groups 6 files (py) around Config, create, resolve_path, gh_authd, glab_authd. prompt_for_credentials: Pide el token PyPI por input oculto solo si hay TTY.
Related Classes/Methods:
deploynator/_config.py::Config#L8-L78deploynator/_config.py::create#L79-L84deploynator/_config.py::resolve_path#L85-L90deploynator/_config.py::gh_authd#L91-L94deploynator/_config.py::glab_authd#L95-L98deploynator/_config.py::bb_authd#L99-L100deploynator/_pypi.py::PyPIRunnerdeploynator/_pypi.py::__init__#L13-L15
Sub-components
deploynator (1.1)
deploynator groups 3 files (py) around Config, create, resolve_path, gh_authd, glab_authd. prompt_for_credentials: Pide el token PyPI por input oculto solo si hay TTY.
tests (1.2)
tests groups 3 files (py) around TestChangelogGenerator, generator, test_generate_header, test_generate_from_messages, test_generate_from_messages_organizes_by_type. RED: PyPI runner — detecta packaging, build limpio, upload twine.
Files
deploynator/_changelog.pydeploynator/_config.pydeploynator/_pypi.pytests/test_changelog.pytests/test_config.pytests/test_pypi.py
deploynator: _toml (2) [Expand]
deploynator: _toml groups 6 files (py) around TomlConfig, __post_init__, _clamp_timeout, load_toml_config, TestRunner.
Related Classes/Methods:
deploynator/_toml.py::TomlConfig#L14-L29deploynator/_toml.py::__post_init__#L30-L37deploynator/_toml.py::_clamp_timeout#L38-L45deploynator/_toml.py::load_toml_config#L46-L100deploynator/_runner.py::TestRunnerdeploynator/_runner.py::__init__#L12-L14deploynator/_runner.py::run#L15-L51deploynator/_docs.py::DocsRunner
Sub-components
deploynator (2.1)
deploynator groups 3 files (py) around TomlConfig, __post_init__, _clamp_timeout, load_toml_config, TestRunner.
tests (2.2)
tests groups 3 files (py) around TestBDDDeployScenarios, project, test_version_bump_by_commit_type, test_conventional_commit_parsing, test_commit_message_format_is_consistent. BDD-style tests for deploynator using behavior-driven patterns.
Files
deploynator/_docs.pydeploynator/_runner.pydeploynator/_toml.pytests/bdd_test_deploy.pytests/test_runner.pytests/test_toml.py
deploynator: _models (3) [Expand]
deploynator: _models groups 6 files (py) around Platform, from_string, label, cli_name, auth_env_var.
Related Classes/Methods:
deploynator/_models.py::Platform#L10-L15deploynator/_models.py::from_string#L16-L26deploynator/_models.py::label#L27-L29deploynator/_models.py::cli_name#L30-L36deploynator/_models.py::auth_env_var#L37-L44deploynator/_models.py::CommitType#L45-L57deploynator/_models.py::from_string#L58-L64deploynator/_models.py::valid_types#L65-L67
Sub-components
deploynator (3.1)
deploynator groups 2 files (py) around Platform, from_string, label, cli_name, auth_env_var.
tests (3.2)
tests groups 4 files (py) around TestPlatformContract, test_platform_from_string, test_platform_from_string_case, test_platform_from_string_invalid, test_platform_cli_name. Path-direct deploy + tag prefijos + version_file toml (ReadMenator real).
Files
deploynator/_models.pydeploynator/_semver.pytests/test_models.pytests/test_path_deploy.pytests/test_pipeline.pytests/test_semver.py
deploynator: _platforms (4)
deploynator: _platforms groups 5 files (py) around DeploynatorApp, __init__, auth_login, auth_status, _auth_github. _gh_release_in_repo: Best-effort `gh release create` inferring repo from origin.
Related Classes/Methods:
deploynator/_app.py::DeploynatorAppdeploynator/_app.py::__init__#L21-L30deploynator/_app.py::auth_login#L31-L44deploynator/_app.py::auth_status#L45-L55deploynator/_app.py::_auth_github#L56-L68deploynator/_app.py::_auth_gitlab#L69-L85deploynator/_app.py::_auth_bitbucket#L86-L95deploynator/_app.py::init_project#L96-L130
Files
deploynator/_app.pydeploynator/_deploy.pydeploynator/_git.pydeploynator/_platforms.pytests/test_deploy.py
deploynator: _mcp_server (5)
deploynator: _mcp_server groups 4 files (py) around MCPRequest, __init__, is_notification, response, error. MCP (Model Context Protocol) stdio server for deploynator.
Related Classes/Methods:
deploynator/_mcp_server.py::MCPRequestdeploynator/_mcp_server.py::__init__#L36-L42deploynator/_mcp_server.py::is_notification#L43-L45deploynator/_mcp_server.py::response#L46-L48deploynator/_mcp_server.py::error#L49-L55deploynator/_mcp_server.py::MCPTooldeploynator/_mcp_server.py::__init__#L57-L63deploynator/_mcp_server.py::definition#L64-L66
Files
deploynator/__init__.pydeploynator/__main__.pydeploynator/_mcp_server.pytests/test_cli_mcp.py