mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
ca810076e8
* Setting up * Readme * Add redis tests path to all-tests * First pass integration * Keep provider convention * First pass integration * add redis integration tests * update README.md * Add basic sample for redis integration * Add partitioning, add partition-aware tests, improve sample script * Fix code quality check * Try to resolve pytest check * Try to identify if pytest is the cause of failed checks * Re-enable tests * Rename redis test file * Removing some tests to narrow down issue * Revert, no difference * Delete temp files * Starting refactor of RedisProvider * Build dynamic schema builder, still need to do dynamic embedding model config * Add scope control * Complete first pass functionality with OpenAI + HF vectors -> Tests, Samples, Demo to follow * Fix code quality * attempt to identify rootcause of failed test * attempt to identify rootcause of failed test * Attempt to resolve code quality fail * Update pyproject.toml for foundry to pin azure-ai-projects == 1.1.0b3,azure-ai-agents == 1.2.0b3 * Add tests for redisprovider * Remove invalid tests * Add API key handling for openai vectorizer * Update uv.locl * Use master uv.lock * Begin sample file, add lazy index creation, fix faulty override * Index drop and reinit depends on drop_redis_index not overwrite * Add samples, threading included, escaped queries, verify threading works, sample README.md * Refactor filters * Opinionated vars * Allow filter expression combination * Try inline stubs for mypy * Address mypy errors * Better docstrings, tweaks for feedback * Tweak example 3 in redis_threads.py sample * adjust confusing name * Enrich docstrings * Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy * Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy * Incorporate initial feedback from dmytrostruk * Fix uv.lock * Attempt to resolve conflict * Use remote .tomls * Sanity check * fix tests * Remove hardcoded API key from samples * Fix incorrect env var * Make add and redis_search private * Fix tests relying on private funcs * Expand tests * Explainer comments to each test * Add a 'get_conversation_history' function to RedisProvider - This just returns messages in sequential order. Added 'created_at_*' timestamps to facilitate sequential recovery. function has to be manually invoked by user * Add agent-framework-redis to python/pyproject.toml * Remove get_conversation_history * improve redis context provider with pydantic techniques and safe index handling patterns * add RedisChatMessageStore * remove integration test :( * fix mypy error * Remove unused params * Redo schema validation to be order-invariant, handle attrs (previously throwing errors due to strict ==) * Expand explanation * Add ChatMessageStore example * Fix comments in redis_conversation.py * Resolving uv.lock conflict, update to match main * Fix test in redis provider * Apply suggestion from @ekzhu * Update python/packages/main/pyproject.toml --------- Co-authored-by: Tyler Hutcherson <tyler.hutcherson@redis.com> Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
96 lines
2.5 KiB
TOML
96 lines
2.5 KiB
TOML
[project]
|
|
name = "agent-framework-redis"
|
|
description = "Redis integration for Microsoft Agent Framework."
|
|
authors = [{ name = "Microsoft", email = "SK-Support@microsoft.com"}]
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
version = "0.0.0b1"
|
|
license-files = ["LICENSE"]
|
|
urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/"
|
|
urls.source = "https://github.com/microsoft/agent-framework/tree/main/python"
|
|
urls.release_notes = "https://github.com/microsoft/agent-framework/releases?q=tag%3Apython-1&expanded=true"
|
|
urls.issues = "https://github.com/microsoft/agent-framework/issues"
|
|
classifiers = [
|
|
"License :: OSI Approved :: MIT License",
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Framework :: Pydantic :: 2",
|
|
"Typing :: Typed",
|
|
]
|
|
dependencies = [
|
|
"agent-framework",
|
|
"redis>=6.4.0",
|
|
"redisvl>=0.8.2",
|
|
"numpy>=2.2.6"
|
|
]
|
|
|
|
[tool.uv]
|
|
prerelease = "if-necessary-or-explicit"
|
|
environments = [
|
|
"sys_platform == 'darwin'",
|
|
"sys_platform == 'linux'",
|
|
"sys_platform == 'win32'"
|
|
]
|
|
|
|
[tool.uv-dynamic-versioning]
|
|
fallback-version = "0.0.0"
|
|
[tool.pytest.ini_options]
|
|
testpaths = 'tests'
|
|
addopts = "-ra -q -r fEX"
|
|
asyncio_mode = "auto"
|
|
asyncio_default_fixture_loop_scope = "function"
|
|
filterwarnings = [
|
|
"ignore:Support for class-based `config` is deprecated:DeprecationWarning:pydantic.*"
|
|
]
|
|
timeout = 120
|
|
|
|
[tool.ruff]
|
|
extend = "../../pyproject.toml"
|
|
|
|
[tool.coverage.run]
|
|
omit = [
|
|
"**/__init__.py"
|
|
]
|
|
|
|
[tool.pyright]
|
|
extend = "../../pyproject.toml"
|
|
exclude = ['tests']
|
|
|
|
[tool.mypy]
|
|
plugins = ['pydantic.mypy']
|
|
strict = true
|
|
python_version = "3.10"
|
|
ignore_missing_imports = true
|
|
disallow_untyped_defs = true
|
|
no_implicit_optional = true
|
|
check_untyped_defs = true
|
|
warn_return_any = true
|
|
show_error_codes = true
|
|
warn_unused_ignores = false
|
|
disallow_incomplete_defs = true
|
|
disallow_untyped_decorators = true
|
|
|
|
[tool.bandit]
|
|
targets = ["agent_framework_redis"]
|
|
exclude_dirs = ["tests"]
|
|
|
|
[tool.poe]
|
|
executor.type = "uv"
|
|
include = "../../shared_tasks.toml"
|
|
[tool.poe.tasks]
|
|
mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_redis"
|
|
test = "pytest --cov=agent_framework_redis --cov-report=term-missing:skip-covered tests"
|
|
|
|
[tool.uv.build-backend]
|
|
module-name = "agent_framework_redis"
|
|
module-root = ""
|
|
|
|
[build-system]
|
|
requires = ["uv_build>=0.8.2,<0.9.0"]
|
|
build-backend = "uv_build"
|