<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://python-cli-toolcraft.com/</loc><lastmod>2026-06-02T11:32:14.866Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/about</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/advanced-argument-validation-strategies/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/advanced-argument-validation-strategies/parsing-nested-json-arguments-in-python-clis/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/error-handling-and-exit-codes/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/error-handling-and-exit-codes/choosing-exit-codes-for-cli-tools/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/error-handling-and-exit-codes/friendly-error-messages-and-tracebacks/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/handling-configuration-files-env-vars/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/handling-configuration-files-env-vars/config-precedence-flags-env-files-defaults/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/handling-configuration-files-env-vars/loading-yaml-configs-safely-in-cli-apps/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/interactive-terminal-ui-with-rich/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/interactive-terminal-ui-with-rich/adding-progress-bars-and-spinners-to-python-clis/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/shell-completion-for-python-clis/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/shell-completion-for-python-clis/enabling-tab-completion-in-click-and-typer/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/shell-completion-for-python-clis/installing-shell-completion-for-bash-zsh-fish/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/structured-logging-for-cli-apps/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/structured-logging-for-cli-apps/adding-verbose-and-quiet-logging-flags/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/advanced-input-parsing-user-experience/structured-logging-for-cli-apps/structured-json-logging-in-python-clis/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/cli-startup-performance-and-lazy-loading/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/cli-startup-performance-and-lazy-loading/lazy-loading-subcommands-for-faster-startup/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/cli-startup-performance-and-lazy-loading/profiling-python-cli-startup-time/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/command-line-parsing-with-argparse/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/command-line-parsing-with-argparse/argparse-subparsers-for-subcommands/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/command-line-parsing-with-argparse/migrating-from-argparse-to-typer/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/plugin-architectures-for-extensible-clis/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/structuring-multi-command-python-clis/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/structuring-multi-command-python-clis/best-practices-for-python-cli-entry-points/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/structuring-multi-command-python-clis/how-to-structure-a-large-python-cli-project/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/structuring-multi-command-python-clis/sharing-state-with-click-context-objects/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/typer-vs-click-when-to-use-each/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/typer-vs-click-when-to-use-each/building-a-cli-with-subcommands-in-click/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/modern-python-cli-frameworks-architecture/typer-vs-click-when-to-use-each/typer-callback-functions-explained/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/cli-project-scaffolding-with-cookiecutter/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/managing-cli-versioning-changelogs/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/managing-cli-versioning-changelogs/automating-changelogs-with-conventional-commits/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/packaging-python-clis-for-distribution/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/packaging-python-clis-for-distribution/building-wheels-and-sdists-for-python-clis/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/packaging-python-clis-for-distribution/installing-and-distributing-clis-with-pipx/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/packaging-python-clis-for-distribution/publishing-a-python-cli-to-pypi/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/poetry-workflows-for-cli-development/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/poetry-workflows-for-cli-development/poetry-entry-points-and-scripts-for-clis/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/pre-commit-hooks-for-cli-projects/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/pre-commit-hooks-for-cli-projects/setting-up-pre-commit-for-python-cli-repos/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/uv-for-python-cli-dependency-management/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/uv-for-python-cli-dependency-management/uv-init-vs-poetry-init-for-cli-tools/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/uv-for-python-cli-dependency-management/uv-tool-install-vs-pipx-for-clis/</loc><lastmod>2026-07-05T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/virtual-environments-isolation-best-practices/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url><url><loc>https://python-cli-toolcraft.com/project-setup-dependency-management/virtual-environments-isolation-best-practices/managing-virtual-environments-for-cross-platform-clis/</loc><lastmod>2026-06-17T00:00:00.000Z</lastmod></url></urlset>