Spaces:
Running on Zero
Running on Zero
| [project] | |
| name = "profillybot" | |
| version = "0.3.0" | |
| description = "ProfillyBot — a cute RAG chatbot that answers questions about your professional profile" | |
| authors = [ | |
| {name = "Tin-Hoang", email = "tin.hoang.ai@gmail.com"} | |
| ] | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| license = {text = "MIT"} | |
| keywords = ["rag", "chatbot", "llm", "ollama", "langchain", "chromadb", "streamlit", "gradio", "zerogpu"] | |
| classifiers = [ | |
| "Development Status :: 3 - Alpha", | |
| "Intended Audience :: Developers", | |
| "License :: OSI Approved :: MIT License", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Python :: 3.12", | |
| ] | |
| dependencies = [ | |
| "streamlit>=1.29.0", | |
| "gradio>=5.0.0", | |
| "spaces>=0.30.0", | |
| "transformers>=4.44.0", | |
| "accelerate>=0.33.0", | |
| "torch>=2.2.0", | |
| "langchain>=0.1.0", | |
| "langchain-community>=0.0.13", | |
| "langchain-chroma>=0.1.0", | |
| "langchain-huggingface>=0.0.1", | |
| "langchain-text-splitters>=0.0.1", | |
| "langchain-core>=0.1.0", | |
| "langchain-ollama>=0.1.0", | |
| "langchain-groq>=0.1.0", | |
| "chromadb>=0.4.22", | |
| "sentence-transformers>=2.2.2", | |
| "pypdf>=3.17.0", | |
| "python-docx>=1.1.0", | |
| "beautifulsoup4>=4.12.0", | |
| "python-dotenv>=1.0.0", | |
| "pyyaml>=6.0.1", | |
| "ollama>=0.1.0", | |
| "lxml>=4.9.0", | |
| "tiktoken>=0.5.0", | |
| "rank-bm25>=0.2.2", | |
| ] | |
| [project.optional-dependencies] | |
| dev = [ | |
| "ruff>=0.14.6,<0.15.0", | |
| "pytest>=7.4.0", | |
| "pytest-cov>=4.1.0", | |
| ] | |
| [build-system] | |
| requires = ["hatchling"] | |
| build-backend = "hatchling.build" | |
| [tool.hatch.build.targets.wheel] | |
| packages = ["src"] | |
| # Ruff configuration | |
| [tool.ruff] | |
| target-version = "py310" | |
| line-length = 100 | |
| indent-width = 4 | |
| [tool.ruff.lint] | |
| select = [ | |
| "E", # pycodestyle errors | |
| "W", # pycodestyle warnings | |
| "F", # pyflakes | |
| "I", # isort | |
| "B", # flake8-bugbear | |
| "C4", # flake8-comprehensions | |
| "UP", # pyupgrade | |
| "ARG", # flake8-unused-arguments | |
| "SIM", # flake8-simplify | |
| ] | |
| ignore = [ | |
| "E501", # line too long (handled by formatter) | |
| "B008", # do not perform function calls in argument defaults | |
| "B905", # zip strict parameter | |
| ] | |
| [tool.ruff.lint.per-file-ignores] | |
| "__init__.py" = ["F401"] # Allow unused imports in __init__.py | |
| [tool.ruff.format] | |
| quote-style = "double" | |
| indent-style = "space" | |
| skip-magic-trailing-comma = false | |
| line-ending = "auto" | |
| [tool.ruff.lint.isort] | |
| known-first-party = ["src"] | |
| # Pytest configuration | |
| [tool.pytest.ini_options] | |
| testpaths = ["tests"] | |
| python_files = ["test_*.py"] | |
| python_functions = ["test_*"] | |
| addopts = "--cov=src --cov-report=term-missing --cov-report=html" | |