content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "nemori"
  version = "0.1.0"
  description = "Nemori: Self-Organizing Agent Memory Inspired by Cognitive Science"
  readme = "README.md"
  requires-python = ">=3.9"
  authors = [
      { name = "Anonymous Submission", email = "anonymous@example.com" },
  ]
  keywords = ["llm", "memory", "agent", "cognitive-science", "rag"]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "License :: OSI Approved :: MIT License",
      "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 :: Scientific/Engineering :: Artificial Intelligence",
  ]
  
  dependencies = [
      # Core LLM and AI libraries
      "openai>=1.0.0",
      "numpy>=1.24.0",
      "sentence-transformers>=2.2.0",
      "chromadb>=1.0.0",
  
      # Data processing and utilities
      "tqdm>=4.64.0",
      "python-dotenv>=1.0.0",
      "pydantic>=2.0.0",
      "jinja2>=3.1.0",
      
      # Search and retrieval
      "rank-bm25>=0.2.2",
      "faiss-cpu>=1.7.0",  # For vector search
      "spacy>=3.7.0",
  
      # NLP evaluation metrics
      "nltk>=3.8.0",
      "bert-score>=0.3.13",
      "rouge-score>=0.1.2",
      
      # Data analysis
      "pandas>=2.0.0",
      
      # Async support
      "aiofiles>=23.0.0",
  ]
  
  [project.optional-dependencies]
  dev = [
      "pytest>=7.0.0",
      "pytest-asyncio>=0.21.0",
      "black>=23.0.0",
      "isort>=5.12.0",
      "flake8>=6.0.0",
      "mypy>=1.0.0",
  ]
  
  gpu = [
      "faiss-gpu>=1.7.0",  # GPU version of FAISS
  ]
  
  evaluation = [
      "jupyter>=1.0.0",
      "matplotlib>=3.7.0",
      "seaborn>=0.12.0",
      "scikit-learn>=1.3.0",
  ]
  
  [project.urls]
  Homepage = "https://github.com/nemori-ai/nemori"
  Documentation = "https://github.com/nemori-ai/nemori#readme"
  Repository = "https://github.com/nemori-ai/nemori.git"
  Issues = "https://github.com/nemori-ai/nemori/issues"
  
  [project.scripts]
  nemori-add-locomo = "evaluation.locomo.add:main"
  nemori-search-locomo = "evaluation.locomo.search:main"
  nemori-eval-locomo = "evaluation.locomo.evals:main"
  nemori-add-longmemeval = "evaluation.longmemeval.add:main"
  nemori-search-longmemeval = "evaluation.longmemeval.search:main"
  nemori-eval-longmemeval = "evaluation.longmemeval.evals:main"
  
  [tool.hatch.build.targets.wheel]
  packages = ["nemori", "src", "evaluation"]
  
  [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
  )/
  '''
  
  [tool.isort]
  profile = "black"
  multi_line_output = 3
  line_length = 88
  
  [tool.mypy]
  python_version = "3.9"
  warn_return_any = true
  warn_unused_configs = true
  disallow_untyped_defs = true
  no_implicit_optional = true
  
  [tool.pytest.ini_options]
  minversion = "7.0"
  addopts = "-ra -q"
  testpaths = [
      "tests",
  ]
  pythonpath = [
      "src",
  ]
  