[build-system] requires = ["hatchling >= 1.26"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["banditdb"] # Hatchling would otherwise sweep in everything under the package directory, # including dotfiles. `.claude/settings.local.json` held a live API key and was # packaged into both the wheel and the sdist — PyPI artifacts cannot be truly # retracted, so this exclusion is the difference between a local file and a # permanent credential leak. exclude = [ "**/.claude", "**/__pycache__", "**/*.pyc", "**/.DS_Store", ] [tool.hatch.build.targets.sdist] # Same exclusions, plus stale setuptools metadata left over from earlier builds. exclude = [ "**/.claude", "**/__pycache__", "**/*.pyc", "**/.DS_Store", "*.egg-info", ".pytest_cache", "dist", ] [project] name = "banditdb-python" version = "0.2.0" description = "Official Python SDK for BanditDB" authors = [{ name = "Simeon Lukov", email="s.lukov@dynamicpricing.ai" }] requires-python = ">=3.8" dependencies = [ "requests>=2.25.0", "urllib3>=1.26.0", "mcp>=1.0.0,<2" ] classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Database", "Intended Audience :: Developers", "Intended Audience :: Science/Research", ] readme = "README.md" license = "Apache-2.0" license-files = ["LICEN[CS]E*"] [project.optional-dependencies] eval = [ "polars>=0.20.0", "numpy>=1.24.0", ] causal = [ "polars>=0.20.0", "numpy>=1.24.0", "econml>=0.15.0", "scikit-learn>=1.3.0", ] async = [ "httpx>=0.27.0", ] dashboard = [ "textual>=0.47.0", ] all = [ "polars>=0.20.0", "numpy>=1.24.0", "econml>=0.15.0", "scikit-learn>=1.3.0", "httpx>=0.27.0", "textual>=0.47.0", ] dev = [ "pytest>=7.0", "pytest-cov>=4.0", "polars>=0.20.0", "numpy>=1.24.0", ] [project.scripts] banditdb-mcp = "banditdb.mcp_server:main" banditdb-dashboard = "banditdb.dashboard:main" [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-v --tb=short"