[project] name = "maskanx" dynamic = ["version"] description = "Multi-agent AI marketing team with 122 skills, multi-channel support, and shared memory" readme = "README.md" requires-python = ">=3.10,<3.14" license = {text = "Proprietary"} dependencies = [ "agentscope==1.0.18", "agentscope-runtime==1.1.3", "exceptiongroup>=1.2.0; python_version < '3.11'", "uvicorn>=0.40.0", "apscheduler>=3.11.2,<4", "questionary>=2.1.1", "reme-ai==0.3.0.5", "python-dotenv>=1.0.0", "python-socks>=2.5.3", "onnxruntime<1.24", "python-telegram-bot>=20.0", "aiosqlite>=0.19.0", "sqlite-vec>=0.1.1", "google-genai>=1.0.0", "Pillow>=10.0.0", "psycopg[binary]>=3.2.0", "httpx>=0.27", ] [tool.setuptools.dynamic] version = {attr = "adclaw.__version__.__version__"} [tool.setuptools] packages = { find = { where = ["src"] } } include-package-data = true [tool.setuptools.package-data] "adclaw" = [ "agents/md_files/**", "agents/skills/**", "tokenizer/**", ] [build-system] requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" [project.scripts] maskanx = "adclaw.cli.main:cli" [project.optional-dependencies] dev = [ "pytest>=8.3.5", "pytest-asyncio>=0.23.0", "pre-commit>=4.2.0", "pytest-cov>=6.2.1", ] local = [ "huggingface_hub>=0.20.0", "sentence-transformers>=2.2.0", ] llamacpp = [ "maskanx[local]", "llama-cpp-python>=0.3.0", ] mlx = [ "maskanx[local]", "mlx-lm>=0.10.0", ] ollama = [ "ollama>=0.6.1", ] browser = [ "playwright>=1.49.0", ] feishu = [ "lark-oapi>=1.5.3", ] discord = [ "discord-py>=2.3", ] dingtalk = [ "dingtalk-stream>=0.24.3", ] desktop = [ "mss>=9.0.0", ] # Meta: all optional messaging channels channels = [ "maskanx[feishu,discord,dingtalk]", ] # Meta: full install — everything all = [ "maskanx[browser,channels,desktop]", ] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", ]