[tool.poetry] authors = ["Laurent Fainsin "] description = "You own little LLM in your matrix chatroom" homepage = "https://github.com/Laurent2916/nio-llm" license = "MIT" name = "nio-llm" readme = "README.md" repository = "https://github.com/Laurent2916/nio-llm.git" version = "1.0.0" [tool.poetry.scripts] nio-llm = "nio_llm.main:main" [tool.poetry.dependencies] python = "^3.11" jsonargparse = { version = "^4.21.2", extras = ["signatures"] } llama-cpp-python = "^0.1.50" huggingface-hub = "^0.14.1" matrix-nio = "^0.20.2" rich = "^13.3.5" [tool.poetry.group.dev] optional = true [tool.poetry.group.dev.dependencies] black = "^23.3.0" isort = "^5.12.0" mypy = "^1.3.0" ruff = "^0.0.267" [tool.ruff] target-version = "py311" line-length = 120 ignore-init-module-imports = true include = [ "*.py", # regular python files "*.pyi", # python stub files "*.ipynb", # jupyter notebooks "**/pyproject.toml", # python config files ] ignore = [ "G004", # Logging statement uses f-string "EM102", # Exception must not use an f-string literal, assign to variable first "D100", # Missing docstring in public module "D104", # Missing docstring in public package "N812", # Lowercase imported as non lowercase ] select = [ "A", # flake8-builtins "B", # flake8-bugbear "C90", # mccabe "COM", # flake8-commas "D", # pydocstyle "EM", # flake8-errmsg "E", # pycodestyle errors "F", # Pyflakes "G", # flake8-logging-format "I", # isort "N", # pep8-naming "PIE", # flake8-pie "PTH", # flake8-use-pathlib "TD", # flake8-todo "FIX", # flake8-fixme "RET", # flake8-return "RUF", # ruff "S", # flake8-bandit "TCH", # flake8-type-checking "TID", # flake8-tidy-imports "UP", # pyupgrade "W", # pycodestyle warnings ] [tool.ruff.pydocstyle] convention = "google" [tool.ruff.isort] known-first-party = ["nio_llm"] [tool.ruff.per-file-ignores] "__init__.py" = [ "F401", # Imported but unused ] "src/aube/main.py" = [ "F401", # Imported but unused "E402", # Module level import not at top of file ] [tool.ruff.mccabe] max-complexity = 5 # C901 [tool.black] exclude = ''' /( \.git \.venv )/ ''' include = '\.pyi?$' line-length = 120 target-version = ["py311"]