pyproject.toml•2.79 kB
[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "nabu"
version = "0.0.1-alpha-2"
description = "Ancient wisdom meets modern code analysis - A semantic code graph framework"
readme = "README.md"
requires-python = ">=3.13"
license = {text = "MIT"}
authors = [
{name = "Nabu Contributors"}
]
keywords = [
"code-analysis",
"graph-database",
"ast",
"tree-sitter",
"semantic-analysis",
"llm-tools",
"kuzu",
"cypher"
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Topic :: Software Development :: Code Generators",
"Topic :: Software Development :: Libraries :: Python Modules",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"kuzu==0.11.3", # Final release (Oct 2024) with bundled extensions - KuzuDB project archived
"pandas>=2.0.0",
"tree-sitter>=0.21.0",
"tree-sitter-language-pack>=0.2.0",
"GitPython>=3.1.0",
"mcp>=1.0.0",
"docstring-parser>=0.16",
"pydantic>=2.10.0",
"click>=8.1.0",
"watchdog>=3.0.0",
"pathspec>=0.11.0",
"pyyaml>=6.0.2", # YAML parsing - baseline
"ruamel.yaml>=0.18.0", # YAML with comment preservation
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"black>=23.0.0",
"mypy>=1.0.0",
"ruff>=0.1.0",
]
docs = [
"mkdocs>=1.5.0",
"mkdocs-material>=9.0.0",
"mkdocstrings[python]>=0.24.0",
]
embeddings = [
"transformers>=4.30.0", # HuggingFace transformers for embedding models
"torch>=2.0.0", # PyTorch for model inference
"pillow>=10.0.0", # Image processing for correlation matrix visualization
]
wrapper = [
"mitmproxy>=10.0.0", # HTTP proxy for skills injection in claude wrapper
]
[project.urls]
Homepage = "https://github.com/yourusername/nabu"
Documentation = "https://github.com/yourusername/nabu#readme"
Repository = "https://github.com/yourusername/nabu"
Issues = "https://github.com/yourusername/nabu/issues"
[project.scripts]
nabu = "nabu.mcp.cli:cli"
nabu-server = "nabu.mcp.server:main"
nisaba = "nisaba.cli:cli"
[tool.setuptools]
package-dir = {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]
include = ["nabu*"]
exclude = ["tests*"]
[tool.black]
line-length = 120
target-version = ['py310', 'py311', 'py312']
include = '\.pyi?$'
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.mypy]
python_version = "3.13"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["test"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]