[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "sayou" version = "0.2.4" description = "A file-system inspired context store for AI agents" readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11" authors = [ { name = "Pixell", email = "kevin_yum@pixell.global" }, ] keywords = [ "agent", "mcp", "workspace", "versioning", "context", "storage", "knowledge", "markdown", "frontmatter", "ai", ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries", "Typing :: Typed", ] dependencies = [ "mcp>=1.8.0", "sqlalchemy[asyncio]>=2.0.0", "aiosqlite>=0.17.0", "alembic>=1.13.0", "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "pyyaml>=6.0.0", ] [project.urls] Homepage = "https://sayou.dev" Repository = "https://github.com/pixell-global/sayou" Documentation = "https://github.com/pixell-global/sayou#readme" Issues = "https://github.com/pixell-global/sayou/issues" Changelog = "https://github.com/pixell-global/sayou/releases" [project.optional-dependencies] api = ["fastapi>=0.110.0", "httpx>=0.27.0", "uvicorn>=0.27.0"] s3 = ["aioboto3>=12.0.0"] mysql = ["aiomysql>=0.2.0"] ai = ["openai>=1.0.0"] agent = [ "sayou[api,ai]", "e2b-code-interpreter>=1.0.0", ] all = ["sayou[api,s3,mysql,ai,agent]"] dev = [ "sayou[all]", "pytest>=8.0.0", "pytest-asyncio>=1.0.0", "moto[s3]>=5.0.0", "ruff>=0.4.0", ] examples = ["openai>=1.0.0"] [project.scripts] sayou = "sayou.__main__:main" sayou-agent = "sayou.agent.__main__:main" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] markers = ["integration: smoke tests against real RDS + S3 (SAYOU_SMOKE=1)"] [tool.ruff] target-version = "py311" line-length = 100