Use an explicit re-export in __init__.py generated by adk create
- Lingua principale
- Python
- Stelle
- 21.5k
- Fork
- 4k
- Merge medio
- 1g 14h
- PR unite (30g)
- 37
Descrizione
## 🔴 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.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.