content: [tool.poetry]
  name = "neogpt"
  version = "0.1.0"
  description = "NeoGPT: Chat effortlessly with Documents, YouTube Videos,Code, and Social Media Chats. Your go-to for quick and smart interactions! 🤖💬"
  authors = ["Neokd"]
  license = "MIT"
  readme = "README.md"
  exclude = ["neogpt/models/**", "neogpt/db/chroma/**", "neogpt/db/faiss/**", "neogpt/conversations/*.txt"]
  
  [tool.poetry.dependencies]
  python = ">=3.8"
  pdfminer-six = "^20231228"
  langchain = "^0.1.0"
  youtube-transcript-api = "^0.6.2"
  pytube = "^15.0.0"
  streamlit = "^1.29.0"
  onnxruntime = "^1.14.0"
  unstructured = "^0.11.0"
  torch = "^2.2.2"
  duckduckgo-search = "^4.1.1"
  llama-cpp-python = "^0.2.55"
  google-api-python-client = "2.95.0"
  faiss-cpu = "^1.7.4"
  chromadb = "^0.4.23"
  rank-bm25 = "^0.2.2"
  html2text = "^2020.1.16"
  openai = "^1.6.1"
  langchain-experimental = "0.0.42"
  langchain-community = "^0.0.17"
  langchain-openai = "^0.0.2"
  rich = "^13.7.0"
  sentence-transformers = "^2.2.2"
  instructorembedding = "^1.0.1"
  pyperclip = "^1.8.2"
  einops = "^0.7.0"
  plyer = "^2.0.0"
  psutil = "^5.8.0"
  
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  
  
  [tool.ruff]
  
  target-version = 'py311'
  
  [tool.ruff.lint]
  select = [
      "E", # pycodestyle
      "W", # pycodestyle
      "F", # Pyflakes
      "B", # flake8-bugbear
      "C4", # flake8-comprehensions
      "I", # isort
      "SIM", # flake8-simplify
      "TCH", # flake8-type-checking
      "TID", # flake8-tidy-imports
      "Q", # flake8-quotes
      "UP", # pyupgrade
      "PT", # flake8-pytest-style
      "RUF", # Ruff-specific rules
  ]
  
  ignore = [
      "E501", # "Line too long"
      "PT011", # "pytest.raises() should specify expected exception"
      "SIM102", # "Use a single `if` statement instead of nested `if` statements"
      "D100",
      "D101",
      "D102",
      "D103",
      "D104",
      "D105",
      "D106",
      "D107",
      "F401",
      "F841",
      "B024",
      "B027",
      "SIM105"
  ]
  
  fixable = ["ALL"]
  unfixable = []
  
  [tool.ruff.format]
  quote-style = "double"
  
  exclude = [
      "E501", # "Line too long"
      "PT011", # "pytest.raises() should specify expected exception"
      "SIM102", # "Use a single `if` statement instead of nested `if` statements"
      "D100",
      "D101",
      "D102",
      "D103",
      "D104",
      "D105",
      "D106",
      "D107",
      "F401",
      "F841",
      "B024",
      "B027"
  ]
  
  [tool.poetry.scripts]
  neogpt = "neogpt.cli:main"
  