ReMe/reme4/pyproject.toml
jinliyl 2c35d31762
feat(application): add thread pool support and background job threading capabilities (#270)
* feat(application): add thread pool support and background job threading capabilities

- Integrate ThreadPoolExecutor for shared thread pool management in application context
- Add thread_pool_max_workers configuration option with default value of 0 (disabled)
- Implement thread pool creation and shutdown in application lifecycle methods
- Add use_thread_pool option to background job configuration for thread-based execution
- Support both asyncio event loop and threading event for background job stop mechanism
- Implement _run_in_thread method for running supervisors in dedicated threads
- Modify embedding models to use serial batching instead of concurrent batching
- Remove max_concurrency parameter from base embedding model component
- Update embedding model documentation to reflect serial batching implementation
- Add pyproject.toml with project metadata, dependencies, and build configuration

* refactor(job): simplify background job thread execution

- Replace separate _run_in_thread method with direct lambda execution
- Remove unnecessary ensure_future wrapper for thread pool execution
- Simplify asyncio event loop usage in thread pool mode
- Maintain same background job functionality with cleaner implementation
- Remove redundant method definition and streamline execution flow
2026-06-02 16:58:53 +08:00

84 lines
2 KiB
TOML

[project]
name = "reme4"
dynamic = ["version"]
description = "Remember Me, Refine Me."
authors = [
{ name = "EconML team of Alibaba Tongyi Lab", email = "jinli.yl@alibaba-inc.com" },
]
license = "Apache-2.0"
requires-python = ">=3.11"
keywords = ["llm", "memory", "agent", "agentscope", "ai", "mcp", "reme"]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Operating System :: OS Independent",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
"aiofiles>=24.1.0",
"fastapi>=0.135.1",
"fastmcp>=3.1.0",
"httpx>=0.28.1",
"loguru>=0.7.3",
"mistletoe>=1.5.1",
"numpy>=2.2.6",
"openai>=2.26.0",
"pydantic>=2.12.5",
"python-frontmatter>=1.1.0",
"pyyaml>=6.0.3",
"rich>=14.3.3",
"uvicorn>=0.41.0",
"watchfiles>=1.1.1",
]
[project.optional-dependencies]
core = [
"agentscope>=2.0.0",
"faiss-cpu>=1.13.2",
"jieba>=0.42.1",
"rjieba>=0.2.1",
"neo4j>=6.2.0",
"networkx>=3.4.2",
]
dev = [
"pre-commit",
"pytest>=8.0",
"pytest-asyncio>=0.23",
]
full = [
"reme4[core]",
"reme4[dev]",
]
[project.urls]
Homepage = "https://github.com/agentscope-ai/ReMe"
Documentation = "https://reme.agentscope.io/"
Repository = "https://github.com/agentscope-ai/ReMe"
[project.scripts]
reme4 = "reme4.reme:main"
[tool.setuptools]
packages = { find = { where = [".."], include = ["reme4*"] } }
include-package-data = true
[tool.setuptools.package-data]
"*" = ["py.typed", "**/*.yaml", "**/*.json"]
[tool.setuptools.dynamic]
version = { attr = "reme4.__version__" }
[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"
testpaths = ["../tests4"]
python_files = ["test_*.py"]
python_functions = ["test_*"]