[project] name = "talemate" version = "0.34.0" description = "AI-backed roleplay and narrative tools" authors = [{name = "VeguAITools"}] license = {text = "GNU Affero General Public License v3.0"} requires-python = ">=3.11,<3.14" dependencies = [ "pip", "astroid>=2.8", "jedi>=0.18", "black", "rope>=0.22", "isort>=5.10", "jinja2>=3.0", "openai>=1", "mistralai>=0.1.8", "cohere>=5.2.2", "anthropic>=0.19.1", "groq>=0.5.0", "requests>=2.26", "colorama>=0.4.6", "Pillow>=9.5", "httpx<1", "piexif>=1.1", "typing-inspect==0.8.0", "typing_extensions>=4.5.0", "uvicorn>=0.23", "blinker>=1.6.2", "pydantic<3", "beautifulsoup4>=4.12.2", "python-dotenv>=1.0.0", "structlog>=23.1.0", "google-genai>=1.20.0", "nest_asyncio>=1.5.7", "isodate>=0.6.1", "thefuzz>=0.20.0", "tiktoken>=0.5.1", "nltk>=3.8.1", "huggingface-hub>=0.20.2", "RestrictedPython>7.1", "numpy>=2", "aiofiles>=24.1.0", "pyyaml>=6.0", "limits>=5.0", "diff-match-patch>=20241021", "sseclient-py>=1.8.0", "ollama>=0.5.1", # ChromaDB "chromadb>=1.0.12", "InstructorEmbedding @ https://github.com/vegu-ai/instructor-embedding/archive/refs/heads/202506-fixes.zip", "torch>=2.7.1", "torchaudio>=2.7.1", "sentence_transformers>=2.7.0", # TTS "elevenlabs>=2.7.1", # Local TTS # Chatterbox TTS #"chatterbox-tts @ https://github.com/rsxdalv/chatterbox/archive/refs/heads/fast.zip", "chatterbox-tts==0.1.2", "torchcodec>=0.9.0", # kokoro TTS "kokoro>=0.9.4", "soundfile>=0.13.1", # F5-TTS "f5-tts>=1.1.7", "deepdiff>=8.6.1", ] [project.optional-dependencies] dev = [ "pytest>=6.2", "pytest-asyncio>=0.25.3", "mypy>=0.910", "mkdocs-material>=9.5.27", "mkdocs-awesome-pages-plugin>=2.9.2", "mkdocs-glightbox>=0.4.0", "pre-commit>=2.13", ] [project.scripts] talemate = "talemate:cli.main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.metadata] allow-direct-references = true [tool.black] line-length = 88 target-version = ['py38'] include = '\.pyi?$' exclude = ''' /( \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist | talemate_env )/ ''' [tool.isort] profile = "black" multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true line_length = 88 [tool.uv] override-dependencies = [ # chatterbox wants torch 2.6.0, but is confirmed working with 2.7.1 "torchaudio>=2.7.1", "torch>=2.7.1", # numba needs numpy < 2.3 "numpy>=2,<2.3", "pydantic>=2.11", ] [tool.uv.sources] torch = [ { index = "pytorch-cu128" }, ] torchaudio = [ { index = "pytorch-cu128" }, ] [[tool.uv.index]] name = "pytorch-cu128" url = "https://download.pytorch.org/whl/cu128" explicit = true