Skip to content

Commit 8c69144

Browse files
authored
Merge pull request #4 from yvesemmanuel/feature/redis-session-service
feat: Add Redis-backed session service to ADK community extensions
2 parents a0fc800 + 2bb565d commit 8c69144

File tree

8 files changed

+1008
-2
lines changed

8 files changed

+1008
-2
lines changed

.gitignore

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
7+
build/
8+
develop-eggs/
9+
dist/
10+
downloads/
11+
eggs/
12+
.eggs/
13+
lib/
14+
lib64/
15+
parts/
16+
sdist/
17+
var/
18+
wheels/
19+
*.egg-info/
20+
.installed.cfg
21+
*.egg
22+
23+
# Virtual Environment
24+
venv/
25+
ENV/
26+
env/
27+
.env
28+
.venv
29+
env.bak/
30+
venv.bak/
31+
32+
# IDE
33+
.idea/
34+
.vscode/
35+
*.swp
36+
*.swo
37+
.DS_Store
38+
39+
# Testing
40+
.coverage
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.pytest_cache/
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
53+
# Jupyter Notebook
54+
.ipynb_checkpoints
55+
56+
# Logs
57+
*.log
58+
logs/
59+
log/
60+
61+
# Local development settings
62+
.env.local
63+
.env.development.local
64+
.env.test.local
65+
.env.production.local
66+
uv.lock
67+
68+
# Google Cloud specific
69+
.gcloudignore
70+
.gcloudignore.local
71+
72+
# Documentation
73+
docs/_build/
74+
site/
75+
76+
# Misc
77+
Thumbs.db
78+
*.bak
79+
*.tmp
80+
*.temp

pyproject.toml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ classifiers = [ # List of https://pypi.org/classifiers/
2525
]
2626
dependencies = [
2727
# go/keep-sorted start
28-
"google-genai>=1.21.1, <2.0.0", # Google GenAI SDK
29-
"google-adk", # Google ADK
28+
"google-genai>=1.21.1, <2.0.0", # Google GenAI SDK
29+
"google-adk", # Google ADK
30+
"redis>=5.0.0, <6.0.0", # Redis for session storage
3031
# go/keep-sorted end
32+
"orjson>=3.11.3",
3133
]
3234
dynamic = ["version"]
3335

@@ -61,6 +63,12 @@ pyink-annotation-pragmas = [
6163
requires = ["flit_core >=3.8,<4"]
6264
build-backend = "flit_core.buildapi"
6365

66+
[dependency-groups]
67+
dev = [
68+
"pytest>=8.4.2",
69+
"pytest-asyncio>=1.2.0",
70+
]
71+
6472

6573
[tool.flit.sdist]
6674
include = ['src/**/*', 'README.md', 'pyproject.toml', 'LICENSE']
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
"""Community session services for ADK."""
16+
17+
from .redis_session_service import RedisSessionService
18+
19+
__all__ = ["RedisMemorySessionService"]

0 commit comments

Comments
 (0)