content: [build-system]
  requires = ["maturin>=1.0,<2.0"]
  build-backend = "maturin"
  
  [project]
  name = "tower"
  version = "0.3.32"
  
  
  
  
  
  
  
  
  
  
  description = "Tower CLI and runtime environment for Tower."
  authors = [{ name = "Tower Computing Inc.", email = "brad@tower.dev" }]
  readme = "README.md"
  requires-python = ">=3.9"
  license = { file = "LICENSE" }
  keywords = [
    "automation",
    "flake8",
    "pycodestyle",
    "pyflakes",
    "pylint",
    "clippy",
  ]
  classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Rust",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Software Development :: Quality Assurance",
  ]
  dependencies = [
    "attrs==24.2.0",
    "httpx==0.28.1",
    "huggingface-hub>=0.34.3",
    "mcp>=1.1.0; python_version>='3.10'",
    "ollama>=0.5.3",
    "pydantic>=2.11.0,<3.0.0",
    "pydantic-core>=2.27.0,<3.0.0",
    "pyiceberg==0.9.1",
    "python-dateutil==2.9.0.post0",
  ]
  
  [project.optional-dependencies]
  ai = ["huggingface-hub==0.34.3", "ollama==0.5.3"]
  iceberg = ["polars==1.27.1", "pyarrow==19.0.1", "pyiceberg==0.9.1"]
  all = ["tower[ai,iceberg]"]
  
  [tool.maturin]
  bindings = "bin"
  manifest-path = "crates/tower/Cargo.toml"
  module-name = "tower"
  python-source = "src"
  strip = true
  exclude = []
  include = ["rust-toolchain.toml"]
  
  [tool.uv.sources]
  tower = { workspace = true }
  
  [tool.black]
  line-length = 88
  target-version = ['py39']
  include = '\.pyi?$'
  extend-exclude = '''
  /(
    # directories
    \.eggs
    | \.git
    | \.hg
    | \.mypy_cache
    | \.tox
    | \.venv
    | _build
    | buck-out
    | build
    | dist
  )/
  '''
  
  [dependency-groups]
  test = [
    "aiohttp==3.10.11",
    "behave==1.3.3",
    "mcp>=1.1.0; python_version>='3.10'",
    "pytest==8.3.5",
    "pytest-httpx==0.35.0",
    "pytest-env>=1.1.3",
    "dirty-equals>=0.10.0",
  ]
  dev = [
    { include-group = "test" },
    "black==24.10.0",
    "openapi-python-client==0.24.3",
    "pre-commit==4.0.1",
    "pyiceberg[sql-sqlite]==0.9.1",
    "tower[iceberg]",
  ]
  