[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "openjiuwen-studio"
version = "0.1.5"
description = "OpenJiuwen Studio offers an all-in-one AI Agent development platform"
requires-python = ">=3.11.4"
dependencies = [
"fastapi==0.115.11",
"uvicorn[standard]>=0.35",
"pydantic==2.11.7",
"pydantic[email]==2.11.7",
"python-dotenv>=1.1.1",
"sqlalchemy==2.0.41",
"pyjwt==2.10.1",
"networkx==3.4.2",
"openjiuwen[chromadb,obs]==0.1.10",
"pydantic-settings==2.5.2",
"aiomysql==0.2.0",
"jinja2==3.1.6",
"requests==2.32.3",
"aiosqlite==0.21.0",
"pycryptodome==3.23.0",
"python-jose[cryptography]==3.3.0",
"minio==7.2.20",
"psutil>=5.9.0",
"PyYAML>=6.0",
"alembic==1.13.1",
"pymysql==1.1.1",
"redis==7.1.0",
"greenlet>=3.3.1",
"protobuf==6.33.5",
"pymilvus<2.6.10",
]
[tool.uv]
default-groups = ['dev']
override-dependencies = [
"pulsar-client>=3.6.0"
]
[[tool.uv.index]]
url = "https://mirrors.aliyun.com/pypi/simple/"
[dependency-groups]
dev = [
"coverage==7.8.0",
"pytest==8.3.5",
"pytest-asyncio==1.2.0",
"pytest-mock==3.14.0",
"ruff==0.9.10",
]
[tool.coverage.run]
omit = ["tests/*"]
[tool.setuptools.packages.find]
where = ["."]
exclude = ["logs", "*.egg-info", "resources"]
include = ["*"]
[tool.setuptools.package-data]
"*" = ["*.json", "*.yaml"]
[tool.ruff]
target-version = "py311"
line-length = 100
select = ["E"]
ignore = ["E501", "E402", "E722"]
exclude = [".venv", "__pycache__", "tests"]