google / google/adk-python

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

Đang mở
#6,648 1 bình luận 0 reaction 1 người được giao Được @sanketpatil06 nhận Xem trên GitHub
core needs review
Ngôn ngữ chính
Python
Star
21.5k
Fork
4k
Merge trung bình
1 ngày 14 giờ
Pull request đã merge (30 ngày)
37

Mô tả

## 🔴 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.