content: [build-system]
  requires = ["setuptools>=75.1.0"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "nexent"
  version = "0.1.2"
  description = "Nexent Agent Framework"
  authors = [
      { name = "Nexent Dev Team" }
  ]
  requires-python = ">=3.10"
  keywords = ["agent", "ai", "framework"]
  classifiers = [
      "Intended Audience :: Developers",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.10",
  ]
  dependencies = [
      "aiofiles>=24.1.0",
      "elasticsearch==8.17.2",
      "exa_py==1.14.0",
      "httpx[socks]>=0.28.1",
      "numpy>=1.26.4",
      "openai>=1.69.0",
      "openpyxl>=3.1.5",
      "pydantic[email]>=2.11.1",
      "python-dotenv>=1.1.0",
      "PyYAML>=6.0.1",
      "Requests>=2.32.3",
      "rich>=13.9.4",
      "setuptools>=75.1.0",
      "websockets>=14.2",
      "smolagents[mcp]==1.15.0",
      "Pillow>=10.0.0",
      "aiohttp>=3.1.13",
      "jieba>=0.42.1",
      "boto3>=1.37.34",
      "botocore>=1.37.34",
      "python-multipart>=0.0.20",
      "mcpadapt==0.1.9",
      "mcp==1.10.1",
      "tiktoken>=0.5.0",
      "tavily-python",
      "linkup-sdk",
      "paramiko>=3.4.0",
      "linkup-sdk",
      "mem0ai>=0.1.117"
  ]
  
  [tool.uv]
  override-dependencies = [
      "pymongo==999.0.0",
      "psycopg2-binary==999.0.0",
      "redis==999.0.0",
      "neo4j==999.0.0",
      "chromadb==999.0.0",
      "pinecone-client==999.0.0",
      "weaviate-client==999.0.0",
  ]
  
  [project.optional-dependencies]
  quality = [
      "ruff>=0.9.0",
      "pytest>=8.1.0"
  ]
  data_process = [
      "unstructured[all-docs]"
  ]
  performance = [
      # OpenTelemetry Core Components
      "opentelemetry-api",
      "opentelemetry-sdk",
      # OpenTelemetry Instrumentation
      "opentelemetry-instrumentation",
      "opentelemetry-instrumentation-fastapi",
      "opentelemetry-instrumentation-requests",
      # OpenTelemetry Exporters
      "opentelemetry-exporter-jaeger",
      "opentelemetry-exporter-prometheus",
      # Additional monitoring dependencies
      "prometheus-client"
  ]
  dev = [
      "nexent[quality, data_process, performance]"
  ]
  
  [tool.setuptools.packages.find]
  include = ["nexent*"]
  exclude = ["tests*", "examples*"]
  
  [tool.setuptools.package-data]
  "nexent.core.prompts" = ["*.yaml"]
  
  [tool.ruff]
  line-length = 119
  lint.ignore = [
      "F403",
      "E501"
  ]
  lint.select = ["E", "F", "I", "W"]
  
  [tool.ruff.lint.isort]
  known-first-party = ["nexent"]
  lines-after-imports = 2