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::Configdeploynator/_config.py::createdeploynator/_config.py::resolve_pathdeploynator/_config.py::gh_authddeploynator/_config.py::glab_authddeploynator/_config.py::bb_authddeploynator/_pypi.py::PyPIRunnerdeploynator/_pypi.py::__init__
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::TomlConfigdeploynator/_toml.py::__post_init__deploynator/_toml.py::_clamp_timeoutdeploynator/_toml.py::load_toml_configdeploynator/_runner.py::TestRunnerdeploynator/_runner.py::__init__deploynator/_runner.py::rundeploynator/_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::Platformdeploynator/_models.py::from_stringdeploynator/_models.py::labeldeploynator/_models.py::cli_namedeploynator/_models.py::auth_env_vardeploynator/_models.py::CommitTypedeploynator/_models.py::from_stringdeploynator/_models.py::valid_types
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__deploynator/_app.py::auth_logindeploynator/_app.py::auth_statusdeploynator/_app.py::_auth_githubdeploynator/_app.py::_auth_gitlabdeploynator/_app.py::_auth_bitbucketdeploynator/_app.py::init_project
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__deploynator/_mcp_server.py::is_notificationdeploynator/_mcp_server.py::responsedeploynator/_mcp_server.py::errordeploynator/_mcp_server.py::MCPTooldeploynator/_mcp_server.py::__init__deploynator/_mcp_server.py::definition
Files
deploynator/__init__.pydeploynator/__main__.pydeploynator/_mcp_server.pytests/test_cli_mcp.py