content: [build-system]
  requires = ["hatchling", "uv-dynamic-versioning>=0.7.0"]
  build-backend = "hatchling.build"
  
  [project]
  name = "ai-graph"
  dynamic = ["version"]
  description = "AI Graph framework for building processing pipelines"
  readme = "README.md"
  license = {file = "LICENSE"}
  authors = [
      {name = "Mohammad Sina Allahkaram", email = "msinamsina@gmail.com"},
  ]
  keywords = ["ai", "graph", "pipeline", "processing", "framework"]
  classifiers = [
      "Development Status :: 3 - Alpha",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Topic :: Software Development :: Libraries :: Application Frameworks",
      "Topic :: Scientific/Engineering :: Artificial Intelligence",
  ]
  requires-python = ">=3.9"
  dependencies = [
      "opencv-python-headless",
      "tqdm>=4.64.0",
  ]
  
  [project.urls]
  Homepage = "https://github.com/msinamsina/ai-graph"
  Repository = "https://github.com/msinamsina/ai-graph.git"
  Issues = "https://github.com/msinamsina/ai-graph/issues"
  
  [tool.hatch.version]
  source = "uv-dynamic-versioning"
  
  [tool.hatch.build.targets.wheel]
  packages = ["ai_graph"]
  
  [dependency-groups]
  dev = [
      "commitizen>=3.31.0",
      "twine>=6.1.0",
      "pre-commit>= 4.2.0",
      {include-group = "test"},
      {include-group = "docs"},
      {include-group = "lint"},
  ]
  test = [
      "pytest>=7.0.0",
      "pytest-cov>=4.0.0",
      "pytest-notebook>=0.8.0",
      "nbval>=0.10.0",
  ]
  docs = [
      "sphinx>=4.0.0",
      "sphinx-rtd-theme>=1.0.0",
      "sphinx-autodoc-typehints>=1.17.0",
      "myst-parser>=0.18.0",
      "nbsphinx>=0.8.0",
      "jupyter>=1.0.0",
      "ipykernel>=6.0.0",
      "sphinx-autobuild>=2024.10.3",
  ]
  lint = [
      "black>=22.0.0",
      "isort>=5.10.0",
      "flake8>=5.0.0",
      "mypy>=0.991",
  ]
  
  [tool.black]
  line-length = 120
  include = '\.pyi?$'
  extend-exclude = '''
  (
    ^/docs/.*\.py$
    | ^/build/
    | ^/dist/
    | \.git/
    | \.tox/
    | \.venv/
    | venv/
    | __pycache__/
  )
  '''
  