[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "bambooai" version = "2.7.1" description = "An LLM-driven data analyst that works in a persistent Python kernel, one cell at a time, and reproduces its own results before it reports them." readme = "docs/PYPI_README.md" # PyPI cannot resolve the repository-relative images of README.md requires-python = ">=3.11" license = { text = "MIT" } authors = [{ name = "Palo Galko" }] keywords = ["data analysis", "llm", "pandas", "notebook", "agent"] classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Topic :: Scientific/Engineering :: Information Analysis", ] # the self-hosted edition's dependencies (docs/OSS_DESIGN.md D19): nothing of the hosted service is here dependencies = [ "flask>=3.0", "python-dotenv", "requests", "httpx", "openai>=1.30", "anthropic>=0.88", # stop_details on a refusal (0.88), the thinking display setting (0.85), output_config.effort "google-genai", "google-generativeai", "groq", "mistralai", "ollama>=0.5", "tiktoken", "termcolor", "pandas>=2.0", "numpy", "pyarrow", "matplotlib", "seaborn", "plotly", "statsmodels", "scipy", "scikit-learn", "ipython", "nbformat", "cryptography", "newspaper3k", "lxml_html_clean", "sweatstack", "openpyxl", "pyyaml", "pdfplumber", "python-docx", "gunicorn; sys_platform != 'win32'", ] [project.optional-dependencies] # extra analysis libraries the executor image carries; install when your work needs them analysis = ["geopandas", "yfinance", "kaleido"] # the tests and the local stack (a browser is needed for the end-to-end suites: playwright install chromium) dev = ["playwright", "pytest", "fitparse"] # fitparse: the executor process the stack runs (FIT files from Intervals) [project.scripts] bambooai = "bambooai.cli:main" [project.urls] Homepage = "https://github.com/pgalko/BambooAI" Repository = "https://github.com/pgalko/BambooAI" [tool.setuptools] py-modules = ["logger_config"] packages = ["bambooai", "bambooai.db", "bambooai.messages", "bambooai.models", "analyst", "analyst.codemap", "delve", "web_app", "web_app.auth", "web_app.integrations", "orchestration", "bambooai_executor_image"] [tool.setuptools.package-dir] # the executor image's build context, shipped as it is in the repository (Dockerfile unchanged) bambooai_executor_image = "containers/executor" [tool.setuptools.package-data] bambooai = ["messages/default_prompts.yaml"] analyst = ["contract.md", "contract_documents.md", "contract_context.md", "contract_reviews.md", "reviewer.md", "codebook_seed.json"] web_app = ["LLM_CONFIG_template.json", "templates/*.html", "static/**/*", "ontologies/*"] bambooai_executor_image = ["Dockerfile", "requirements.txt"]