|
[build-system] |
|
requires = ["setuptools>=61.0", "wheel"] |
|
build-backend = "setuptools.build_meta" |
|
|
|
[project] |
|
name = "professional-rag-assistant" |
|
version = "1.0.0" |
|
description = "A production-ready RAG system for document Q&A" |
|
authors = [ |
|
{name = "Your Name", email = "your.email@example.com"} |
|
] |
|
readme = "README.md" |
|
license = {text = "Apache-2.0"} |
|
requires-python = ">=3.8" |
|
dependencies = [ |
|
"gradio==5.44.0", |
|
"sentence-transformers==2.2.2", |
|
"transformers==4.36.2", |
|
"torch==2.1.2", |
|
"numpy==1.25.2", |
|
"PyPDF2==3.0.1", |
|
"python-docx==1.1.0", |
|
"rank-bm25==0.2.2", |
|
"PyYAML==6.0.1", |
|
"scikit-learn==1.3.2", |
|
"huggingface-hub==0.19.4", |
|
"datasets==2.16.1", |
|
"requests==2.31.0", |
|
"nltk==3.8.1", |
|
"tqdm==4.66.1" |
|
] |
|
classifiers = [ |
|
"Development Status :: 4 - Beta", |
|
"Intended Audience :: Developers", |
|
"License :: OSI Approved :: Apache Software License", |
|
"Programming Language :: Python :: 3", |
|
"Programming Language :: Python :: 3.8", |
|
"Programming Language :: Python :: 3.9", |
|
"Programming Language :: Python :: 3.10", |
|
"Programming Language :: Python :: 3.11", |
|
] |
|
|
|
[project.optional-dependencies] |
|
dev = [ |
|
"pytest>=7.4.4", |
|
"pytest-cov>=4.1.0", |
|
"pytest-asyncio>=0.21.1", |
|
"black>=23.12.1", |
|
"flake8>=6.1.0", |
|
"mypy>=1.8.0", |
|
"pre-commit>=3.6.0", |
|
] |
|
docs = [ |
|
"sphinx>=7.2.6", |
|
"sphinx-rtd-theme>=2.0.0", |
|
] |
|
|
|
[tool.black] |
|
line-length = 88 |
|
target-version = ['py38'] |
|
include = '\.pyi?$' |
|
exclude = ''' |
|
/( |
|
\.eggs |
|
| \.git |
|
| \.hg |
|
| \.mypy_cache |
|
| \.tox |
|
| \.venv |
|
| _build |
|
| buck-out |
|
| build |
|
| dist |
|
| tests/.*/setup.py |
|
)/ |
|
''' |
|
|
|
[tool.mypy] |
|
python_version = "3.8" |
|
warn_return_any = true |
|
warn_unused_configs = true |
|
disallow_untyped_defs = true |
|
disallow_incomplete_defs = true |
|
check_untyped_defs = true |
|
disallow_untyped_decorators = true |
|
no_implicit_optional = true |
|
warn_redundant_casts = true |
|
warn_unused_ignores = true |
|
warn_no_return = true |
|
warn_unreachable = true |
|
strict_equality = true |
|
|
|
[tool.pytest.ini_options] |
|
minversion = "7.0" |
|
addopts = "-ra -q --cov=src --cov-report=term-missing --cov-report=html" |
|
testpaths = [ |
|
"tests", |
|
] |
|
python_files = "test_*.py" |
|
python_classes = "Test*" |
|
python_functions = "test_*" |