Skip to content

Commit b4610fe

Browse files
wukathcopybara-github
authored andcommitted
chore: Add README for integrations folder
Co-authored-by: Kathy Wu <wukathy@google.com> PiperOrigin-RevId: 875836816
1 parent 7b7ddda commit b4610fe

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# ADK Integrations
2+
3+
This directory houses modules that integrate ADK with external tools and
4+
services. The goal is to provide an organized and scalable way to extend ADK's
5+
capabilities.
6+
7+
Integrations with external systems, such as the Agent Registry, BigQuery,
8+
ApiHub, etc., should be developed within sub-packages in this folder. This
9+
centralization makes it easier for developers to find, use, and contribute to
10+
various integrations.
11+
12+
## What Belongs Here?
13+
14+
* Code that connects ADK to other services, APIs, or tools.
15+
* Modules that depend on third-party libraries not included in the core ADK
16+
dependencies.
17+
18+
## Guidelines for Contributions
19+
20+
1. **Self-Contained Packages:** Each integration should reside in its own
21+
sub-directory (e.g., `integrations/my_service/`).
22+
2. **Internal Structure:** Integration sub-packages are free to manage their
23+
own internal code structure and design patterns. They do not need to
24+
strictly follow the core ADK framework's structure.
25+
3. **Dependencies:** To keep the core ADK lightweight, dependencies required
26+
for a specific integration must be optional. These should be defined as
27+
"extras" in the `pyproject.toml`. Users will install them using commands
28+
like `pip install "google-adk[my_service]"`. The extra name should match the
29+
integration directory name.
30+
4. **Lazy Importing:** Implement lazy importing within the integration code. If
31+
a user tries to use an integration without installing the necessary extras,
32+
catch the `ModuleNotFoundError` and raise a descriptive error message
33+
guiding the user to the correct installation command.
34+
5. **Documentation:** Ensure clear documentation is provided for each
35+
integration, including setup, configuration, and usage examples.

0 commit comments

Comments
 (0)