.editorconfig
.gitignore
.gitmodules
.pre-commit-config.yaml
.readthedocs.yaml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
HOWTO_RELEASE.md
HOWTO_SNAP.md
LICENSE
Makefile
README.md
SECURITY.md
common.mk
pyproject.toml
requirements-noble.txt
spread.yaml
uv.lock
.github/.jira_sync_config.yaml
.github/CODEOWNERS
.github/PULL_REQUEST_TEMPLATE.md
.github/renovate.json5
.github/ISSUE_TEMPLATE/bug.yaml
.github/ISSUE_TEMPLATE/config.yml
.github/ISSUE_TEMPLATE/docs.yaml
.github/ISSUE_TEMPLATE/task.yaml
.github/workflows/check-renovate.yaml
.github/workflows/experimental.yaml
.github/workflows/policy.yaml
.github/workflows/qa.yaml
.github/workflows/release-publish.yaml
.github/workflows/schema.yaml
.github/workflows/spread-docs.yaml
.github/workflows/spread-manual.yaml
.github/workflows/spread.yaml
.github/workflows/tests.yaml
.github/workflows/tics.yaml
charmcraft/__init__.py
charmcraft/__main__.py
charmcraft/_version.py
charmcraft/charm_builder.py
charmcraft/const.py
charmcraft/dispatch.py
charmcraft/env.py
charmcraft/errors.py
charmcraft/instrum.py
charmcraft/jujuignore.py
charmcraft/linters.py
charmcraft/preprocess.py
charmcraft/snap.py
charmcraft.egg-info/PKG-INFO
charmcraft.egg-info/SOURCES.txt
charmcraft.egg-info/dependency_links.txt
charmcraft.egg-info/entry_points.txt
charmcraft.egg-info/requires.txt
charmcraft.egg-info/top_level.txt
charmcraft/application/__init__.py
charmcraft/application/main.py
charmcraft/application/commands/__init__.py
charmcraft/application/commands/analyse.py
charmcraft/application/commands/base.py
charmcraft/application/commands/extensions.py
charmcraft/application/commands/init.py
charmcraft/application/commands/lifecycle.py
charmcraft/application/commands/remote.py
charmcraft/application/commands/store.py
charmcraft/application/commands/version.py
charmcraft/extensions/__init__.py
charmcraft/extensions/_utils.py
charmcraft/extensions/app.py
charmcraft/extensions/extension.py
charmcraft/extensions/registry.py
charmcraft/models/__init__.py
charmcraft/models/actions.py
charmcraft/models/basic.py
charmcraft/models/charmcraft.py
charmcraft/models/config.py
charmcraft/models/lint.py
charmcraft/models/manifest.py
charmcraft/models/metadata.py
charmcraft/models/project.py
charmcraft/parts/__init__.py
charmcraft/parts/lifecycle.py
charmcraft/parts/plugins/__init__.py
charmcraft/parts/plugins/_charm.py
charmcraft/parts/plugins/_poetry.py
charmcraft/parts/plugins/_python.py
charmcraft/parts/plugins/_reactive.py
charmcraft/parts/plugins/_uv.py
charmcraft/parts/plugins/charm-constraints.txt
charmcraft/services/__init__.py
charmcraft/services/analysis.py
charmcraft/services/buildplan.py
charmcraft/services/charmlibs.py
charmcraft/services/image.py
charmcraft/services/lifecycle.py
charmcraft/services/package.py
charmcraft/services/project.py
charmcraft/services/provider.py
charmcraft/services/remotebuild.py
charmcraft/services/store.py
charmcraft/store/__init__.py
charmcraft/store/client.py
charmcraft/store/models.py
charmcraft/store/store.py
charmcraft/templates/charmlibs/new_library.py.j2
charmcraft/templates/init-django-framework/.gitignore.j2
charmcraft/templates/init-django-framework/charmcraft.yaml.j2
charmcraft/templates/init-django-framework/pyproject.toml.j2
charmcraft/templates/init-django-framework/requirements.txt.j2
charmcraft/templates/init-django-framework/tox.ini.j2
charmcraft/templates/init-django-framework/src/charm.py.j2
charmcraft/templates/init-expressjs-framework/.gitignore.j2
charmcraft/templates/init-expressjs-framework/charmcraft.yaml.j2
charmcraft/templates/init-expressjs-framework/pyproject.toml.j2
charmcraft/templates/init-expressjs-framework/requirements.txt.j2
charmcraft/templates/init-expressjs-framework/tox.ini.j2
charmcraft/templates/init-expressjs-framework/src/charm.py.j2
charmcraft/templates/init-fastapi-framework/.gitignore.j2
charmcraft/templates/init-fastapi-framework/charmcraft.yaml.j2
charmcraft/templates/init-fastapi-framework/pyproject.toml.j2
charmcraft/templates/init-fastapi-framework/requirements.txt.j2
charmcraft/templates/init-fastapi-framework/tox.ini.j2
charmcraft/templates/init-fastapi-framework/src/charm.py.j2
charmcraft/templates/init-flask-framework/.gitignore.j2
charmcraft/templates/init-flask-framework/charmcraft.yaml.j2
charmcraft/templates/init-flask-framework/pyproject.toml.j2
charmcraft/templates/init-flask-framework/requirements.txt.j2
charmcraft/templates/init-flask-framework/tox.ini.j2
charmcraft/templates/init-flask-framework/src/charm.py.j2
charmcraft/templates/init-go-framework/.gitignore.j2
charmcraft/templates/init-go-framework/charmcraft.yaml.j2
charmcraft/templates/init-go-framework/pyproject.toml.j2
charmcraft/templates/init-go-framework/requirements.txt.j2
charmcraft/templates/init-go-framework/tox.ini.j2
charmcraft/templates/init-go-framework/src/charm.py.j2
charmcraft/templates/init-kubernetes/.gitignore.j2
charmcraft/templates/init-kubernetes/CONTRIBUTING.md.j2
charmcraft/templates/init-kubernetes/LICENSE.j2
charmcraft/templates/init-kubernetes/README.md.j2
charmcraft/templates/init-kubernetes/charmcraft.yaml.j2
charmcraft/templates/init-kubernetes/pyproject.toml.j2
charmcraft/templates/init-kubernetes/tox.ini.j2
charmcraft/templates/init-kubernetes/uv.lock.j2
charmcraft/templates/init-kubernetes/src/charm.py.j2
charmcraft/templates/init-kubernetes/src/workload.py.j2
charmcraft/templates/init-kubernetes/tests/integration/conftest.py.j2
charmcraft/templates/init-kubernetes/tests/integration/test_charm.py.j2
charmcraft/templates/init-kubernetes/tests/unit/test_charm.py.j2
charmcraft/templates/init-machine/.gitignore.j2
charmcraft/templates/init-machine/CONTRIBUTING.md.j2
charmcraft/templates/init-machine/LICENSE.j2
charmcraft/templates/init-machine/README.md.j2
charmcraft/templates/init-machine/charmcraft.yaml.j2
charmcraft/templates/init-machine/pyproject.toml.j2
charmcraft/templates/init-machine/tox.ini.j2
charmcraft/templates/init-machine/uv.lock.j2
charmcraft/templates/init-machine/src/charm.py.j2
charmcraft/templates/init-machine/src/workload.py.j2
charmcraft/templates/init-machine/tests/integration/conftest.py.j2
charmcraft/templates/init-machine/tests/integration/test_charm.py.j2
charmcraft/templates/init-machine/tests/unit/test_charm.py.j2
charmcraft/templates/init-spring-boot-framework/.gitignore.j2
charmcraft/templates/init-spring-boot-framework/charmcraft.yaml.j2
charmcraft/templates/init-spring-boot-framework/pyproject.toml.j2
charmcraft/templates/init-spring-boot-framework/requirements.txt.j2
charmcraft/templates/init-spring-boot-framework/tox.ini.j2
charmcraft/templates/init-spring-boot-framework/src/charm.py.j2
charmcraft/templates/test-kubernetes/spread.yaml.j2
charmcraft/templates/test-kubernetes/spread/.extension.j2
charmcraft/templates/test-kubernetes/spread/deploy/basic/task.yaml.j2
charmcraft/templates/test-machine/spread.yaml.j2
charmcraft/templates/test-machine/spread/.extension.j2
charmcraft/templates/test-machine/spread/deploy/basic/task.yaml.j2
charmcraft/utils/__init__.py
charmcraft/utils/charmlibs.py
charmcraft/utils/cli.py
charmcraft/utils/file.py
charmcraft/utils/package.py
charmcraft/utils/parts.py
charmcraft/utils/platform.py
charmcraft/utils/project.py
charmcraft/utils/skopeo.py
charmcraft/utils/store.py
charmcraft/utils/yaml.py
docs/conf.py
docs/contribute-to-this-documentation.rst
docs/index.rst
docs/redirects.txt
docs/_static/assets/juju-logo-no-text.png
docs/_static/css/cookie-banner.css
docs/_static/css/custom.css
docs/_static/js/bundle.js
docs/_templates/footer.html
docs/_templates/header.html
docs/common/.gitkeep
docs/explanation/bases.rst
docs/explanation/cryptography.rst
docs/explanation/index.rst
docs/howto/index.rst
docs/howto/manage-channels.rst
docs/howto/manage-charmcraft.rst
docs/howto/manage-charms.rst
docs/howto/manage-extensions.rst
docs/howto/manage-icons.rst
docs/howto/manage-libraries.rst
docs/howto/manage-names.rst
docs/howto/manage-parts.rst
docs/howto/manage-resources.rst
docs/howto/manage-revisions.rst
docs/howto/manage-the-current-charmhub-user.rst
docs/howto/manage-tracks.rst
docs/howto/build-guides/index.rst
docs/howto/build-guides/pack-a-hooks-based-charm-with-charmcraft.rst
docs/howto/build-guides/pack-a-reactive-charm-with-charmcraft.rst
docs/howto/build-guides/select-platforms.rst
docs/howto/build-guides/shared-cache.rst
docs/howto/code/custom-action-clearsession/clearsession_action_charm.py
docs/howto/code/custom-action-clearsession/clearsession_action_charmcraft.yaml
docs/howto/code/custom-action-clearsession/postgres_requires_charmcraft.yaml
docs/howto/code/custom-action-clearsession/requirements.txt
docs/howto/code/custom-action-clearsession/settings_init_rock.py
docs/howto/code/custom-action-clearsession/task.yaml
docs/howto/code/custom-action-updatelogfile/app.py
docs/howto/code/custom-action-updatelogfile/requirements.txt
docs/howto/code/custom-action-updatelogfile/task.yaml
docs/howto/code/custom-action-updatelogfile/updatelogfile_action_charm.py
docs/howto/code/custom-action-updatelogfile/updatelogfile_action_charmcraft.yaml
docs/howto/code/flask-async/app.py
docs/howto/code/flask-async/requirements.txt
docs/howto/code/flask-async/task.yaml
docs/howto/manage-web-app-charms/configure-web-app-charm.rst
docs/howto/manage-web-app-charms/index.rst
docs/howto/manage-web-app-charms/integrate-web-app-charm.rst
docs/howto/manage-web-app-charms/use-web-app-charm.rst
docs/howto/migrate-plugins/charm-to-poetry.rst
docs/howto/migrate-plugins/charm-to-python.rst
docs/howto/migrate-plugins/charm-to-uv.rst
docs/howto/migrate-plugins/index.rst
docs/reference/analyzers-and-linters.rst
docs/reference/changelog.rst
docs/reference/index.rst
docs/reference/platforms.rst
docs/reference/profile.rst
docs/reference/commands/index.rst
docs/reference/extensions/django-framework-extension.rst
docs/reference/extensions/express-framework-extension.rst
docs/reference/extensions/fastapi-framework-extension.rst
docs/reference/extensions/flask-framework-extension.rst
docs/reference/extensions/go-framework-extension.rst
docs/reference/extensions/index.rst
docs/reference/extensions/spring-boot-framework-extension.rst
docs/reference/files/actions-yaml-file.rst
docs/reference/files/charmcraft-sample-charm.yaml
docs/reference/files/charmcraft-yaml-file.rst
docs/reference/files/config-yaml-file.rst
docs/reference/files/contributing-md-file.rst
docs/reference/files/dispatch-file.rst
docs/reference/files/icon-svg-file.rst
docs/reference/files/index.rst
docs/reference/files/libname-py-file.rst
docs/reference/files/license-file.rst
docs/reference/files/lxd-profile-yaml-file.rst
docs/reference/files/manifest-yaml-file.rst
docs/reference/files/metadata-yaml-file.rst
docs/reference/files/pyproject-toml-file.rst
docs/reference/files/readme-md-file.rst
docs/reference/files/requirements-txt-file.rst
docs/reference/files/src-charm-py-file.rst
docs/reference/files/src-workload-py-file.rst
docs/reference/files/tests-integration-conftest-py-file.rst
docs/reference/files/tests-integration-test-charm-py-file.rst
docs/reference/files/tests-unit-test-charm-py-file.rst
docs/reference/files/tox-ini-file.rst
docs/reference/files/uv-lock-file.rst
docs/reference/parts/index.rst
docs/reference/parts/lifecycle.rst
docs/reference/plugins/index.rst
docs/reference/plugins/poetry-charmcraft.yaml
docs/reference/plugins/poetry_plugin.rst
docs/reference/plugins/python-charmcraft.yaml
docs/reference/plugins/python_plugin.rst
docs/reference/plugins/uv-charmcraft.yaml
docs/reference/plugins/uv_plugin.rst
docs/release-notes/charmcraft-3.4.rst
docs/release-notes/charmcraft-3.5.rst
docs/release-notes/charmcraft-4.0.rst
docs/release-notes/charmcraft-4.1.rst
docs/release-notes/index.rst
docs/reuse/links.txt
docs/reuse/reference/extensions/environment_variables.rst
docs/reuse/reference/extensions/environment_variables_spring_boot.rst
docs/reuse/reference/extensions/http_proxy.rst
docs/reuse/reference/extensions/integrations.rst
docs/reuse/reference/extensions/non_optional_config.rst
docs/reuse/tutorial/setup_edge.rst
docs/reuse/tutorial/setup_stable.rst
docs/tutorial/index.rst
docs/tutorial/kubernetes-charm-django.rst
docs/tutorial/kubernetes-charm-express.rst
docs/tutorial/kubernetes-charm-fastapi.rst
docs/tutorial/kubernetes-charm-flask.rst
docs/tutorial/kubernetes-charm-go.rst
docs/tutorial/kubernetes-charm-spring-boot.rst
docs/tutorial/code/django/greeting_charmcraft.yaml
docs/tutorial/code/django/postgres_requires_charmcraft.yaml
docs/tutorial/code/django/requirements.txt
docs/tutorial/code/django/settings_init_rock.py
docs/tutorial/code/django/settings_local_run.py
docs/tutorial/code/django/task.yaml
docs/tutorial/code/django/urls_django_hello_world.py
docs/tutorial/code/django/urls_greeting.py
docs/tutorial/code/django/views_greeting.py
docs/tutorial/code/django/views_greeting_configuration.py
docs/tutorial/code/expressjs/greeting_charmcraft.yaml
docs/tutorial/code/expressjs/greeting_index.js
docs/tutorial/code/expressjs/index.js
docs/tutorial/code/expressjs/task.yaml
docs/tutorial/code/expressjs/visitors.js
docs/tutorial/code/expressjs/visitors_app.js
docs/tutorial/code/expressjs/visitors_charmcraft.yaml
docs/tutorial/code/expressjs/visitors_index.js
docs/tutorial/code/expressjs/visitors_migrate.sh
docs/tutorial/code/expressjs/visitors_rockcraft.yaml
docs/tutorial/code/fastapi/app.py
docs/tutorial/code/fastapi/greeting_app.py
docs/tutorial/code/fastapi/greeting_charmcraft.yaml
docs/tutorial/code/fastapi/requirements.txt
docs/tutorial/code/fastapi/task.yaml
docs/tutorial/code/fastapi/visitors_app.py
docs/tutorial/code/fastapi/visitors_charmcraft.yaml
docs/tutorial/code/fastapi/visitors_migrate.py
docs/tutorial/code/flask/app.py
docs/tutorial/code/flask/greeting_app.py
docs/tutorial/code/flask/greeting_charmcraft.yaml
docs/tutorial/code/flask/requirements.txt
docs/tutorial/code/flask/task.yaml
docs/tutorial/code/flask/visitors_app.py
docs/tutorial/code/flask/visitors_charmcraft.yaml
docs/tutorial/code/flask/visitors_migrate.py
docs/tutorial/code/go/greeting_charmcraft.yaml
docs/tutorial/code/go/greeting_main.txt
docs/tutorial/code/go/main.go
docs/tutorial/code/go/task.yaml
docs/tutorial/code/go/visitors_charmcraft.yaml
docs/tutorial/code/go/visitors_main.txt
docs/tutorial/code/go/visitors_migrate.sh
docs/tutorial/code/go/visitors_rockcraft.yaml
docs/tutorial/code/spring-boot/ApplicationConfig.java.visitors.txt
docs/tutorial/code/spring-boot/HelloController.java
docs/tutorial/code/spring-boot/HelloController.java.greeting.txt
docs/tutorial/code/spring-boot/HelloController.java.visitors.txt
docs/tutorial/code/spring-boot/Visitor.java.visitors.txt
docs/tutorial/code/spring-boot/VisitorRepository.java.visitors.txt
docs/tutorial/code/spring-boot/VisitorService.java.visitors.txt
docs/tutorial/code/spring-boot/greeting_charmcraft.yaml
docs/tutorial/code/spring-boot/pom.xml.visitors.dependencies.txt
docs/tutorial/code/spring-boot/task.yaml
docs/tutorial/code/spring-boot/visitors_charmcraft.yaml
schema/charmcraft.json
snap/snapcraft.yaml
snap/hooks/configure
snap/hooks/remove
snap/local/sitecustomize.py
spread/.extension
tests/__init__.py
tests/conftest.py
tests/factory.py
tests/test_charm_builder.py
tests/test_env.py
tests/test_infra.py
tests/test_instrum.py
tests/test_jujuignore.py
tests/test_linters.py
tests/test_parts.py
tests/test_snap.py
tests/commands/test_store_api.py
tests/commands/test_store_client.py
tests/extensions/__init__.py
tests/extensions/test_app.py
tests/extensions/test_extensions.py
tests/extensions/test_registry.py
tests/integration/__init__.py
tests/integration/conftest.py
tests/integration/test_application.py
tests/integration/test_charm_builder.py
tests/integration/test_linters.py
tests/integration/commands/__init__.py
tests/integration/commands/conftest.py
tests/integration/commands/test_analyse.py
tests/integration/commands/test_expand_extensions.py
tests/integration/commands/test_extensions.py
tests/integration/commands/test_init.py
tests/integration/commands/test_pack.py
tests/integration/commands/test_resource_revisions.py
tests/integration/commands/test_set_resource_architectures.py
tests/integration/commands/test_store_commands.py
tests/integration/invalid-charms/multibase-charm-plugin/charmcraft.yaml
tests/integration/invalid-charms/multibase-charm-plugin/errors.json
tests/integration/invalid-charms/multibase-questing-charm-plugin/charmcraft.yaml
tests/integration/invalid-charms/multibase-questing-charm-plugin/errors.json
tests/integration/invalid-charms/multibase-resolute-charm-plugin/charmcraft.yaml
tests/integration/invalid-charms/multibase-resolute-charm-plugin/errors.json
tests/integration/invalid-charms/questing-charm-plugin/charmcraft.yaml
tests/integration/invalid-charms/questing-charm-plugin/errors.json
tests/integration/invalid-charms/questing-reactive-plugin/charmcraft.yaml
tests/integration/invalid-charms/questing-reactive-plugin/errors.json
tests/integration/invalid-charms/resolute-charm-plugin/charmcraft.yaml
tests/integration/invalid-charms/resolute-charm-plugin/errors.json
tests/integration/invalid-charms/resolute-reactive-plugin/charmcraft.yaml
tests/integration/invalid-charms/resolute-reactive-plugin/errors.json
tests/integration/ops-main-linter-charms/negative/charmcraft.yaml
tests/integration/ops-main-linter-charms/negative/dispatch
tests/integration/ops-main-linter-charms/negative/metadata.yaml
tests/integration/ops-main-linter-charms/negative/src/charm.py
tests/integration/ops-main-linter-charms/negative/venv/ops/.gitkeep
tests/integration/ops-main-linter-charms/smoke/charmcraft.yaml
tests/integration/ops-main-linter-charms/smoke/dispatch
tests/integration/ops-main-linter-charms/smoke/metadata.yaml
tests/integration/ops-main-linter-charms/smoke/src/charm.py
tests/integration/ops-main-linter-charms/smoke/venv/ops/.gitkeep
tests/integration/parts/__init__.py
tests/integration/parts/plugins/__init__.py
tests/integration/parts/plugins/test_poetry.py
tests/integration/parts/plugins/test_python.py
tests/integration/parts/plugins/test_uv.py
tests/integration/sample-charms/actions-included/charmcraft.yaml
tests/integration/sample-charms/actions-included/expected.yaml
tests/integration/sample-charms/actions-separate/actions.yaml
tests/integration/sample-charms/actions-separate/charmcraft.yaml
tests/integration/sample-charms/actions-separate/expected.yaml
tests/integration/sample-charms/basic-bases/charmcraft.yaml
tests/integration/sample-charms/basic-bases/expected.yaml
tests/integration/sample-charms/basic-platforms/charmcraft.yaml
tests/integration/sample-charms/basic-platforms/expected.yaml
tests/integration/sample-charms/config-included/charmcraft.yaml
tests/integration/sample-charms/config-included/expected.yaml
tests/integration/sample-charms/config-separate/charmcraft.yaml
tests/integration/sample-charms/config-separate/config.yaml
tests/integration/sample-charms/config-separate/expected.yaml
tests/integration/sample-charms/platforms-noble-charm-reactive/charmcraft.yaml
tests/integration/sample-charms/platforms-noble-charm-reactive/expected.yaml
tests/integration/services/__init__.py
tests/integration/services/test_charmlibs.py
tests/integration/services/test_image.py
tests/integration/services/test_lifecycle.py
tests/integration/services/test_package.py
tests/integration/services/test_project.py
tests/integration/services/test_provider.py
tests/integration/services/test_store.py
tests/integration/services/sample_projects/basic/charmcraft.yaml
tests/integration/services/sample_projects/basic-platforms/charmcraft.yaml
tests/integration/services/sample_projects/basic-platforms/prime/manifest.yaml
tests/integration/services/sample_projects/basic-platforms/prime/metadata.yaml
tests/integration/services/sample_projects/basic-platforms/project/charmcraft.yaml
tests/integration/services/sample_projects/basic-reactive/charmcraft.yaml
tests/integration/services/sample_projects/basic-reactive/prime/manifest.yaml
tests/integration/services/sample_projects/basic-reactive/prime/metadata.yaml
tests/integration/services/sample_projects/basic-reactive/project/charmcraft.yaml
tests/integration/services/sample_projects/basic/prime/manifest.yaml
tests/integration/services/sample_projects/basic/prime/metadata.yaml
tests/integration/services/sample_projects/basic/project/charmcraft.yaml
tests/integration/services/sample_projects/complex-legacy/charmcraft.yaml
tests/integration/services/sample_projects/complex-legacy/prime/actions.yaml
tests/integration/services/sample_projects/complex-legacy/prime/config.yaml
tests/integration/services/sample_projects/complex-legacy/prime/manifest.yaml
tests/integration/services/sample_projects/complex-legacy/prime/metadata.yaml
tests/integration/services/sample_projects/complex-legacy/project/actions.yaml
tests/integration/services/sample_projects/complex-legacy/project/charmcraft.yaml
tests/integration/services/sample_projects/complex-legacy/project/config.yaml
tests/integration/services/sample_projects/complex-legacy/project/metadata.yaml
tests/integration/services/sample_projects/complex-self-contained/charmcraft.yaml
tests/integration/services/sample_projects/complex-self-contained/prime/actions.yaml
tests/integration/services/sample_projects/complex-self-contained/prime/config.yaml
tests/integration/services/sample_projects/complex-self-contained/prime/manifest.yaml
tests/integration/services/sample_projects/complex-self-contained/prime/metadata.yaml
tests/integration/services/sample_projects/complex-self-contained/project/charmcraft.yaml
tests/integration/services/sample_projects/platforms-multi-base/prime/manifest.yaml
tests/integration/services/sample_projects/platforms-multi-base/prime/metadata.yaml
tests/integration/services/sample_projects/platforms-multi-base/project/charmcraft.yaml
tests/integration/utils/__init__.py
tests/integration/utils/test_skopeo.py
tests/spread/charms/k8s-operator/task.yaml
tests/spread/charms/magma/task.yaml
tests/spread/charms/operator/task.yaml
tests/spread/charms/reactive/task.yaml
tests/spread/commands/init-extensions/task.yaml
tests/spread/commands/init-extensions/tox.ini
tests/spread/commands/init-extensions/tests/unit/test_charm.py
tests/spread/commands/version/task.yaml
tests/spread/dependencies/charmlibs/charmcraft.yaml
tests/spread/dependencies/charmlibs/task.yaml
tests/spread/dependencies/requirements/charmcraft-python-packages.yaml
tests/spread/dependencies/requirements/requirements-basic.txt
tests/spread/dependencies/requirements/requirements-hashes.txt
tests/spread/dependencies/requirements/task.yaml
tests/spread/dependencies/setuptools-scm-python/charmcraft-charm.yaml
tests/spread/dependencies/setuptools-scm-python/charmcraft-poetry.yaml
tests/spread/dependencies/setuptools-scm-python/charmcraft-python.yaml
tests/spread/dependencies/setuptools-scm-python/charmcraft-uv.yaml
tests/spread/dependencies/setuptools-scm-python/constraints.txt
tests/spread/dependencies/setuptools-scm-python/pyproject.toml
tests/spread/dependencies/setuptools-scm-python/requirements.txt
tests/spread/dependencies/setuptools-scm-python/task.yaml
tests/spread/dependencies/setuptools-scm-python/uv.lock
tests/spread/dependencies/setuptools-scm-python/src/charm.py
tests/spread/dependencies/setuptools-scm-python/src/setuptools_scm_python.py
tests/spread/dependencies/strict-dependencies/task.yaml
tests/spread/dependencies/strict-dependencies-errors/task.yaml
tests/spread/dependencies/strict-dependencies-errors/extra-binary-packages/charmcraft.yaml
tests/spread/dependencies/strict-dependencies-errors/extra-binary-packages/pyproject.toml
tests/spread/dependencies/strict-dependencies-errors/extra-binary-packages/requirements.txt
tests/spread/dependencies/strict-dependencies-errors/extra-binary-packages/src/charm.py
tests/spread/dependencies/strict-dependencies-errors/extra-packages/charmcraft.yaml
tests/spread/dependencies/strict-dependencies-errors/extra-packages/pyproject.toml
tests/spread/dependencies/strict-dependencies-errors/extra-packages/requirements.txt
tests/spread/dependencies/strict-dependencies-errors/extra-packages/src/charm.py
tests/spread/dependencies/strict-dependencies-errors/missing-packages/charmcraft.yaml
tests/spread/dependencies/strict-dependencies-errors/missing-packages/pyproject.toml
tests/spread/dependencies/strict-dependencies-errors/missing-packages/requirements.txt
tests/spread/dependencies/strict-dependencies-errors/missing-packages/src/charm.py
tests/spread/dependencies/strict-dependencies-errors/no-requirements/charmcraft.yaml
tests/spread/dependencies/strict-dependencies-errors/no-requirements/pyproject.toml
tests/spread/dependencies/strict-dependencies-errors/no-requirements/src/charm.py
tests/spread/dependencies/strict-dependencies/charm/charmcraft.yaml
tests/spread/dependencies/strict-dependencies/charm/pyproject.toml
tests/spread/dependencies/strict-dependencies/charm/requirements.txt
tests/spread/dependencies/strict-dependencies/charm/lib/charms/charm/v0/my_lib.py
tests/spread/dependencies/strict-dependencies/charm/src/charm.py
tests/spread/hooks/configure/task.yaml
tests/spread/hooks/provider/task.yaml
tests/spread/hooks/remove/task.yaml
tests/spread/smoketests/basic/charmcraft-22.04.yaml
tests/spread/smoketests/basic/charmcraft-alma9.yaml
tests/spread/smoketests/basic/charmcraft-bases-20.04.yaml
tests/spread/smoketests/basic/charmcraft-bases-22.04-all.yaml
tests/spread/smoketests/basic/charmcraft-bases-22.04.yaml
tests/spread/smoketests/basic/charmcraft-bases-alma9.yaml
tests/spread/smoketests/basic/charmcraft-platforms-22.04.yaml
tests/spread/smoketests/basic/charmcraft-platforms-24.04-all.yaml
tests/spread/smoketests/basic/charmcraft-platforms-24.04-python.yaml
tests/spread/smoketests/basic/charmcraft-platforms-24.04.yaml
tests/spread/smoketests/basic/task.yaml
tests/spread/smoketests/destructive-mode/task.yaml
tests/spread/smoketests/different-dependencies/task.yaml
tests/spread/smoketests/different-dir/task.yaml
tests/spread/smoketests/full-lifecycle/charmcraft-kubernetes.yaml
tests/spread/smoketests/full-lifecycle/charmcraft-machine.yaml
tests/spread/smoketests/full-lifecycle/task.yaml
tests/spread/smoketests/help-slug/task.yaml
tests/spread/smoketests/init-fast-checks/task.yaml
tests/spread/smoketests/init-test/task.yaml
tests/spread/smoketests/lxd/task.yaml
tests/spread/smoketests/metafiles-bad-yaml-unenforced/task.yaml
tests/spread/smoketests/metafiles-multiple-yaml/task.yaml
tests/spread/smoketests/metafiles-unified-charmcraft-yaml/task.yaml
tests/spread/smoketests/multi-base/task.yaml
tests/spread/smoketests/multi-base/all/charmcraft.yaml
tests/spread/smoketests/multi-base/all/expected-charms.txt
tests/spread/smoketests/multi-base/basic/charmcraft.yaml
tests/spread/smoketests/multi-base/basic/expected-charms.txt
tests/spread/smoketests/multi-base/one-platform/arguments.txt
tests/spread/smoketests/multi-base/one-platform/charmcraft.yaml
tests/spread/smoketests/multi-base/one-platform/expected-charms.txt
tests/spread/smoketests/parallel-build/task.yaml
tests/spread/smoketests/parallel-install/charmcraft.yaml
tests/spread/smoketests/parallel-install/task.yaml
tests/spread/smoketests/pinned-dependencies/charmcraft.yaml
tests/spread/smoketests/pinned-dependencies/requirements.txt
tests/spread/smoketests/pinned-dependencies/task.yaml
tests/spread/smoketests/pinned-dependencies/src/charm.py
tests/spread/smoketests/reactive/task.yaml
tests/spread/smoketests/reactive/reactivecharm/charmcraft.yaml
tests/spread/smoketests/reactive/reactivecharm/config.yaml
tests/spread/smoketests/reactive/reactivecharm/layer.yaml
tests/spread/smoketests/reactive/reactivecharm/metadata.yaml
tests/spread/smoketests/reactive/reactivecharm/reactive/reactivecharm.py
tests/spread/smoketests/remote-build/task.yaml
tests/spread/store/charm-upload-and-release/task.yaml
tests/spread/store/credentials/task.yaml
tests/spread/store/libraries/task.yaml
tests/spread/store/libraries-update/task.yaml
tests/spread/store/name-registration/task.yaml
tests/spread/store/resources/task.yaml
tests/spread/tools/diff_yaml.py
tests/spread/tools/prepare.sh
tests/spread/ubuntu-20.04/charm/task.yaml
tests/spread/ubuntu-20.04/charm/bases/charmcraft.yaml
tests/spread/ubuntu-20.04/charm/bases/expected_files.txt
tests/spread/ubuntu-20.04/charm/bases/pyproject.toml
tests/spread/ubuntu-20.04/charm/bases/requirements.txt
tests/spread/ubuntu-20.04/charm/bases/src/charm.py
tests/spread/ubuntu-20.04/charm/platforms/charmcraft.yaml
tests/spread/ubuntu-20.04/charm/platforms/expected_files.txt
tests/spread/ubuntu-20.04/charm/platforms/pyproject.toml
tests/spread/ubuntu-20.04/charm/platforms/requirements.txt
tests/spread/ubuntu-20.04/charm/platforms/src/charm.py
tests/spread/ubuntu-20.04/charm/uv/charmcraft.yaml
tests/spread/ubuntu-20.04/charm/uv/hello.py
tests/spread/ubuntu-20.04/charm/uv/pyproject.toml
tests/spread/ubuntu-20.04/charm/uv/task.yaml
tests/spread/ubuntu-20.04/charm/uv/uv.lock
tests/spread/ubuntu-22.04/charm/task.yaml
tests/spread/ubuntu-22.04/charm/bases/charmcraft.yaml
tests/spread/ubuntu-22.04/charm/bases/expected_files.txt
tests/spread/ubuntu-22.04/charm/bases/pyproject.toml
tests/spread/ubuntu-22.04/charm/bases/requirements.txt
tests/spread/ubuntu-22.04/charm/bases/src/charm.py
tests/spread/ubuntu-22.04/charm/platforms/charmcraft.yaml
tests/spread/ubuntu-22.04/charm/platforms/expected_files.txt
tests/spread/ubuntu-22.04/charm/platforms/pyproject.toml
tests/spread/ubuntu-22.04/charm/platforms/requirements.txt
tests/spread/ubuntu-22.04/charm/platforms/src/charm.py
tests/spread/ubuntu-22.04/charm/uv/charmcraft.yaml
tests/spread/ubuntu-22.04/charm/uv/hello.py
tests/spread/ubuntu-22.04/charm/uv/pyproject.toml
tests/spread/ubuntu-22.04/charm/uv/task.yaml
tests/spread/ubuntu-22.04/charm/uv/uv.lock
tests/spread/ubuntu-24.04/charm/task.yaml
tests/spread/ubuntu-24.04/charm/platforms/charmcraft.yaml
tests/spread/ubuntu-24.04/charm/platforms/expected_files.txt
tests/spread/ubuntu-24.04/charm/platforms/pyproject.toml
tests/spread/ubuntu-24.04/charm/platforms/requirements.txt
tests/spread/ubuntu-24.04/charm/platforms/src/charm.py
tests/spread/ubuntu-24.04/charm/uv/charmcraft.yaml
tests/spread/ubuntu-24.04/charm/uv/hello.py
tests/spread/ubuntu-24.04/charm/uv/pyproject.toml
tests/spread/ubuntu-24.04/charm/uv/task.yaml
tests/spread/ubuntu-24.04/charm/uv/uv.lock
tests/spread/ubuntu-24.04/test-cmd/charmcraft.yaml
tests/spread/ubuntu-24.04/test-cmd/pyproject.toml
tests/spread/ubuntu-24.04/test-cmd/spread.yaml
tests/spread/ubuntu-24.04/test-cmd/task.yaml
tests/spread/ubuntu-24.04/test-cmd/uv.lock
tests/spread/ubuntu-24.04/test-cmd/spread/.extension
tests/spread/ubuntu-24.04/test-cmd/src/charm.py
tests/spread/ubuntu-24.04/test-cmd/src/test_cmd.py
tests/spread/ubuntu-24.04/test-cmd/tests/integration/test_charm.py
tests/spread/ubuntu-24.04/test-cmd/tests/spread/my-suite/my-task/task.yaml
tests/spread/ubuntu-24.04/test-cmd/tests/unit/test_charm.py
tests/spread/ubuntu-25.10/charm/task.yaml
tests/spread/ubuntu-25.10/charm/platforms/charmcraft.yaml
tests/spread/ubuntu-25.10/charm/platforms/expected_files.txt
tests/spread/ubuntu-25.10/charm/platforms/pyproject.toml
tests/spread/ubuntu-25.10/charm/platforms/requirements.txt
tests/spread/ubuntu-25.10/charm/platforms/src/charm.py
tests/spread/ubuntu-25.10/charm/uv/charmcraft.yaml
tests/spread/ubuntu-25.10/charm/uv/hello.py
tests/spread/ubuntu-25.10/charm/uv/pyproject.toml
tests/spread/ubuntu-25.10/charm/uv/task.yaml
tests/spread/ubuntu-25.10/charm/uv/uv.lock
tests/spread/ubuntu-25.10/test-cmd/charmcraft.yaml
tests/spread/ubuntu-25.10/test-cmd/pyproject.toml
tests/spread/ubuntu-25.10/test-cmd/spread.yaml
tests/spread/ubuntu-25.10/test-cmd/task.yaml
tests/spread/ubuntu-25.10/test-cmd/uv.lock
tests/spread/ubuntu-25.10/test-cmd/spread/.extension
tests/spread/ubuntu-25.10/test-cmd/src/charm.py
tests/spread/ubuntu-25.10/test-cmd/src/test_cmd.py
tests/spread/ubuntu-25.10/test-cmd/tests/integration/test_charm.py
tests/spread/ubuntu-25.10/test-cmd/tests/spread/my-suite/my-task/task.yaml
tests/spread/ubuntu-25.10/test-cmd/tests/unit/test_charm.py
tests/spread/ubuntu-26.04/charm/task.yaml
tests/spread/ubuntu-26.04/charm/platforms/charmcraft.yaml
tests/spread/ubuntu-26.04/charm/platforms/expected_files.txt
tests/spread/ubuntu-26.04/charm/platforms/pyproject.toml
tests/spread/ubuntu-26.04/charm/platforms/requirements.txt
tests/spread/ubuntu-26.04/charm/platforms/src/charm.py
tests/spread/ubuntu-26.04/charm/uv/charmcraft.yaml
tests/spread/ubuntu-26.04/charm/uv/hello.py
tests/spread/ubuntu-26.04/charm/uv/pyproject.toml
tests/spread/ubuntu-26.04/charm/uv/task.yaml
tests/spread/ubuntu-26.04/charm/uv/uv.lock
tests/spread/ubuntu-26.04/test-cmd/charmcraft.yaml
tests/spread/ubuntu-26.04/test-cmd/pyproject.toml
tests/spread/ubuntu-26.04/test-cmd/spread.yaml
tests/spread/ubuntu-26.04/test-cmd/task.yaml
tests/spread/ubuntu-26.04/test-cmd/uv.lock
tests/spread/ubuntu-26.04/test-cmd/spread/.extension
tests/spread/ubuntu-26.04/test-cmd/src/charm.py
tests/spread/ubuntu-26.04/test-cmd/src/test_cmd.py
tests/spread/ubuntu-26.04/test-cmd/tests/integration/test_charm.py
tests/spread/ubuntu-26.04/test-cmd/tests/spread/my-suite/my-task/task.yaml
tests/spread/ubuntu-26.04/test-cmd/tests/unit/test_charm.py
tests/unit/__init__.py
tests/unit/conftest.py
tests/unit/test_charm_builder.py
tests/unit/test_dispatch.py
tests/unit/test_linters.py
tests/unit/test_parts.py
tests/unit/test_preprocess.py
tests/unit/commands/__init__.py
tests/unit/commands/test_lifecycle.py
tests/unit/commands/test_list_extensions.py
tests/unit/commands/test_store.py
tests/unit/extensions/__init__.py
tests/unit/models/__init__.py
tests/unit/models/test_charmcraft.py
tests/unit/models/test_config.py
tests/unit/models/test_metadata.py
tests/unit/models/test_project.py
tests/unit/models/invalid_charms_yaml/basic.yaml
tests/unit/models/invalid_charms_yaml/invalid-base.yaml
tests/unit/models/invalid_charms_yaml/invalid-type.yaml
tests/unit/models/invalid_charms_yaml/platforms-empty-parts.yaml
tests/unit/models/invalid_charms_yaml/platforms-no-parts.yaml
tests/unit/models/valid_charms_yaml/basic-bases.yaml
tests/unit/models/valid_charms_yaml/basic-platforms.yaml
tests/unit/models/valid_charms_yaml/full-bases.yaml
tests/unit/models/valid_charms_yaml/full-platforms.yaml
tests/unit/parts/__init__.py
tests/unit/parts/conftest.py
tests/unit/parts/test_lifecycle.py
tests/unit/parts/plugins/__init__.py
tests/unit/parts/plugins/test_charm.py
tests/unit/parts/plugins/test_poetry.py
tests/unit/parts/plugins/test_python.py
tests/unit/parts/plugins/test_reactive.py
tests/unit/parts/plugins/test_uv.py
tests/unit/services/__init__.py
tests/unit/services/test_analysis.py
tests/unit/services/test_charmlibs.py
tests/unit/services/test_image.py
tests/unit/services/test_lifecycle.py
tests/unit/services/test_package.py
tests/unit/services/test_project.py
tests/unit/services/test_provider.py
tests/unit/services/test_store.py
tests/unit/store/test_client.py
tests/unit/store/test_models.py
tests/unit/utils/__init__.py
tests/unit/utils/test_charmlibs.py
tests/unit/utils/test_cli.py
tests/unit/utils/test_file.py
tests/unit/utils/test_package.py
tests/unit/utils/test_platform.py
tests/unit/utils/test_project.py
tests/unit/utils/test_skopeo.py
tests/unit/utils/test_store.py
tests/unit/utils/test_yaml.py
tools/gen_cli_docs.py
tools/schema.py