google / google/adk-python

Use an explicit re-export in __init__.py generated by adk create

Offen
#6,648 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @sanketpatil06 Auf GitHub ansehen
core needs review
Vorherrschende Sprache
Python
Sterne
21.5k
Forks
4k
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
37

Beschreibung

## 🔴 Required Information

### Is your feature request related to a specific problem?
Yes. For code-based agents, `adk create` currently generates the following `__init__.py`:

```python
from . import agent
```

Linters such as Ruff can report this as an unused import (`F401`) in downstream projects. The import is intentional because it exposes and loads the agent module, but the generated code does not express that intent explicitly.

### Describe the Solution You'd Like
Generate an explicit re-export by using a redundant alias:

```python
from . import agent as agent
```

This preserves the existing runtime behavior while making the public re-export explicit to linters.

### Impact on your work
Newly generated agents would pass common lint configurations without requiring users to modify generated code or add project-specific suppressions. It would also make the intent of the package initializer clearer.

There is no specific deadline.

### Willingness to contribute
Yes. I am interested in submitting a PR.

---

## 🟡 Recommended Information

### Describe Alternatives You've Considered

- Add `agent` to `__all__`.
- Add a `# noqa: F401` suppression.
- Configure linters to ignore `F401` in every `__init__.py`.

These alternatives work, but `from . import agent as agent` is a concise explicit re-export and is recommended by Ruff for intentional imports in package initializers.
https://docs.astral.sh/ruff/rules/unused-import/#why-is-this-bad

### Proposed API / Implementation
Update the code scaffold template from:

```python
from . import agent
```

to:

```python
from . import agent as agent
```

A unit test should assert the generated `__init__.py` content.

### Additional Context
The ADK repository currently ignores `F401` for its own `__init__.py` files, but generated agent projects do not necessarily inherit that configuration. The scaffold should be lint-friendly independently of the ADK repository's lint settings.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.