Skip to content

aspire new has Java empty AppHost top-level entry but no Python equivalent #16662

@maddymontaquila

Description

@maddymontaquila

Description

When experimental polyglot languages are enabled, aspire new exposes a dedicated top-level empty AppHost entry for Java, but not for Python.

With both feature flags enabled:

aspire config set -g features.experimentalPolyglot:python true
aspire config set -g features.experimentalPolyglot:java true
aspire new

The top-level template picker includes:

Empty (Java AppHost)
Empty (TypeScript AppHost)
Empty AppHost

but there is no equivalent:

Empty (Python AppHost)

Python is only reachable via the generic Empty AppHost language picker, while Java is reachable both from the top-level picker and through direct command/template registration.

Expected behavior

Top-level empty AppHost entries should be consistent across enabled experimental AppHost languages. Either:

  • Python should get a dedicated Empty (Python AppHost) top-level entry when experimentalPolyglot:python is enabled, or
  • Java/other experimental languages should not appear as dedicated top-level entries and should instead only be available through the generic Empty AppHost language picker.

Actual behavior

Java appears as a top-level empty AppHost template when enabled; Python does not.

Notes

The current CLI registrations appear inconsistent:

  • CliTemplateFactory registers KnownTemplateId.JavaEmptyAppHost as a direct callback template.
  • KnownTemplateId has JavaEmptyAppHost, but no PythonEmptyAppHost.
  • The generic aspire-empty callback includes Python in selectableAppHostLanguages.

Likely affected area:

  • src/Aspire.Cli/Templating/CliTemplateFactory.cs
  • src/Aspire.Cli/Templating/KnownTemplateId.cs

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions