| [project] |
| name = "storybox" |
| version = "0.1.0" |
| description = "StoryBox: Collaborative Multi-Agent Simulation for Hybrid Bottom-Up Long-Form Story Generation" |
| readme = "README.md" |
| requires-python = ">=3.10" |
| license = {text = "MIT"} |
| authors = [ |
| {name = "StoryBox Contributors"} |
| ] |
| keywords = ["story-generation", "multi-agent", "llm", "simulation", "mlx", "nim"] |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "Intended Audience :: Science/Research", |
| "License :: OSI Approved :: MIT License", |
| "Programming Language :: Python :: 3", |
| "Programming Language :: Python :: 3.10", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| "Programming Language :: Python :: 3.13", |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", |
| ] |
|
|
| dependencies = [ |
| "sqlalchemy>=2.0.0", |
| "pyyaml>=6.0", |
| "loguru>=0.7.0", |
| "numpy>=1.26.0", |
| "faiss-cpu>=1.8.0", |
| "langchain-openai>=0.2.0", |
| "langchain-community>=0.3.0", |
| "openai>=1.0.0", |
| "transformers>=4.40.0", |
| "torch>=2.2.0", |
| "sentencepiece>=0.2.0", |
| "protobuf>=4.0.0", |
| "peft>=0.11.0", |
| "einops>=0.8.0", |
| "matplotlib>=3.8.0", |
| "pandas>=2.0.0", |
| "tqdm>=4.66.0", |
| "gradio>=5.0.0", |
| "python-dotenv>=1.0.0", |
| "langchain-huggingface>=1.2.2", |
| ] |
|
|
| [project.optional-dependencies] |
| |
| mlx = [ |
| "mlx>=0.21.0", |
| "mlx-lm>=0.19.0", |
| ] |
|
|
| |
| nim = [ |
| "langchain-nvidia-ai-endpoints>=0.3.0", |
| ] |
|
|
| |
| ollama = [ |
| "ollama>=0.4.0", |
| ] |
|
|
| |
| local = [ |
| "storybox[mlx,ollama]", |
| ] |
|
|
| |
| all = [ |
| "storybox[mlx,nim,ollama]", |
| ] |
|
|
| |
| dev = [ |
| "pytest>=8.0.0", |
| "pytest-asyncio>=0.23.0", |
| "ruff>=0.6.0", |
| "mypy>=1.10.0", |
| "pre-commit>=3.7.0", |
| ] |
|
|
| [project.scripts] |
| storybox = "reverie.cli:main" |
| storybox-test = "reverie.test_run:main" |
| storybox-ui = "ui.app:build_ui" |
|
|
| [project.urls] |
| Homepage = "https://github.com/amcghm/StoryBox" |
| Repository = "https://github.com/amcghm/StoryBox" |
| Documentation = "https://storyboxproject.github.io/" |
| "Bug Tracker" = "https://github.com/amcghm/StoryBox/issues" |
|
|
| |
| |
| |
| [tool.uv] |
| |
| python-preference = "only-managed" |
|
|
| [tool.uv.pip] |
| |
| universal = true |
|
|
| |
| |
| |
| [build-system] |
| requires = ["hatchling"] |
| build-backend = "hatchling.build" |
|
|
| [tool.hatch.build.targets.wheel] |
| packages = ["reverie", "ui"] |
|
|
| |
| |
| |
| [tool.ruff] |
| target-version = "py310" |
| line-length = 100 |
|
|
| [tool.ruff.lint] |
| select = ["E", "F", "W", "I", "N", "D", "UP", "B", "C4", "SIM"] |
| ignore = ["D100", "D104", "D203", "D212"] |
|
|
| [tool.ruff.lint.pydocstyle] |
| convention = "google" |
|
|
| [tool.ruff.format] |
| quote-style = "double" |
| indent-style = "space" |
|
|
| |
| |
| |
| [tool.mypy] |
| python_version = "3.10" |
| warn_return_any = true |
| warn_unused_configs = true |
| disallow_untyped_defs = false |
| ignore_missing_imports = true |
|
|
| |
| |
| |
| [tool.pytest.ini_options] |
| asyncio_mode = "auto" |
| testpaths = ["tests"] |
|
|