Spaces:
Sleeping
Sleeping
Commit ·
989fe7c
1
Parent(s): 454704a
Update dependencies and project configuration
Browse files- Updated requirements.txt with exact pinned versions for reproducibility
- Enhanced setup.py with complete metadata and classifiers
- Added LICENSE (MIT)
- Added MANIFEST.in for proper package distribution
- Added requirements-dev.txt for development dependencies
- All packages now have specific versions to ensure consistent environment
- Updated package name from 'QAsystem with haystack' to 'paperbot'
- Added project URL and proper classifiers for PyPI compatibility
- LICENSE +21 -0
- MANIFEST.in +23 -0
- requirements-dev.txt +20 -0
- requirements.txt +77 -23
- setup.py +78 -4
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 Vikash
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
MANIFEST.in
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Include important files in the distribution
|
| 2 |
+
include README.md
|
| 3 |
+
include LICENSE
|
| 4 |
+
include CHANGELOG.md
|
| 5 |
+
include FEATURES.md
|
| 6 |
+
include INSTALLATION.md
|
| 7 |
+
include QUICKSTART.md
|
| 8 |
+
include requirements.txt
|
| 9 |
+
include requirements-dev.txt
|
| 10 |
+
include .env.example
|
| 11 |
+
|
| 12 |
+
# Include templates
|
| 13 |
+
recursive-include templates *.html *.css *.js
|
| 14 |
+
|
| 15 |
+
# Include test files
|
| 16 |
+
recursive-include tests *.py
|
| 17 |
+
|
| 18 |
+
# Exclude unnecessary files
|
| 19 |
+
global-exclude __pycache__
|
| 20 |
+
global-exclude *.py[co]
|
| 21 |
+
global-exclude .DS_Store
|
| 22 |
+
global-exclude *.swp
|
| 23 |
+
global-exclude *.swo
|
requirements-dev.txt
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Development dependencies
|
| 2 |
+
# Install with: pip install -r requirements-dev.txt
|
| 3 |
+
|
| 4 |
+
# Include base requirements
|
| 5 |
+
-r requirements.txt
|
| 6 |
+
|
| 7 |
+
# Testing
|
| 8 |
+
pytest>=7.0.0
|
| 9 |
+
pytest-cov>=4.0.0
|
| 10 |
+
pytest-asyncio>=0.21.0
|
| 11 |
+
|
| 12 |
+
# Code Quality
|
| 13 |
+
black>=23.0.0
|
| 14 |
+
flake8>=6.0.0
|
| 15 |
+
isort>=5.12.0
|
| 16 |
+
mypy>=1.0.0
|
| 17 |
+
|
| 18 |
+
# Documentation
|
| 19 |
+
sphinx>=6.0.0
|
| 20 |
+
sphinx-rtd-theme>=1.2.0
|
requirements.txt
CHANGED
|
@@ -1,23 +1,77 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Core Web Framework
|
| 2 |
+
fastapi==0.128.0
|
| 3 |
+
uvicorn==0.40.0
|
| 4 |
+
python-multipart==0.0.21
|
| 5 |
+
jinja2==3.1.6
|
| 6 |
+
|
| 7 |
+
# Haystack AI Framework
|
| 8 |
+
haystack-ai==2.22.0
|
| 9 |
+
haystack-experimental==0.16.0
|
| 10 |
+
|
| 11 |
+
# Vector Database - Pinecone
|
| 12 |
+
pinecone==8.0.0
|
| 13 |
+
pinecone-plugin-assistant==3.0.1
|
| 14 |
+
pinecone-plugin-interface==0.0.7
|
| 15 |
+
pinecone-haystack==6.0.0
|
| 16 |
+
|
| 17 |
+
# LLM Integration - Google Gemini
|
| 18 |
+
google-ai-haystack==5.4.0.post1
|
| 19 |
+
google-generativeai==0.8.6
|
| 20 |
+
google-ai-generativelanguage==0.6.15
|
| 21 |
+
google-api-core==2.29.0
|
| 22 |
+
google-api-python-client==2.188.0
|
| 23 |
+
google-auth==2.47.0
|
| 24 |
+
google-auth-httplib2==0.3.0
|
| 25 |
+
|
| 26 |
+
# Embeddings & ML
|
| 27 |
+
sentence-transformers==5.2.0
|
| 28 |
+
transformers==4.57.6
|
| 29 |
+
torch==2.9.1
|
| 30 |
+
tokenizers==0.22.2
|
| 31 |
+
safetensors==0.7.0
|
| 32 |
+
huggingface-hub==0.36.0
|
| 33 |
+
|
| 34 |
+
# NLP & Text Processing
|
| 35 |
+
nltk==3.9.2
|
| 36 |
+
|
| 37 |
+
# Document Processing
|
| 38 |
+
pypdf==6.6.0
|
| 39 |
+
python-docx==1.2.0
|
| 40 |
+
pandoc==2.4
|
| 41 |
+
openpyxl==3.1.5
|
| 42 |
+
lxml==6.0.2
|
| 43 |
+
markdown==3.10
|
| 44 |
+
|
| 45 |
+
# Data Processing
|
| 46 |
+
pandas==2.3.3
|
| 47 |
+
numpy==2.4.1
|
| 48 |
+
|
| 49 |
+
# Scientific Computing
|
| 50 |
+
scipy==1.17.0
|
| 51 |
+
scikit-learn==1.8.0
|
| 52 |
+
|
| 53 |
+
# Utilities
|
| 54 |
+
python-dotenv==1.2.1
|
| 55 |
+
requests==2.32.5
|
| 56 |
+
tqdm==4.67.1
|
| 57 |
+
psutil==7.2.1
|
| 58 |
+
pydantic==2.12.5
|
| 59 |
+
pydantic-core==2.41.5
|
| 60 |
+
|
| 61 |
+
# Optional: OpenAI (for future use)
|
| 62 |
+
openai==2.15.0
|
| 63 |
+
|
| 64 |
+
# HTTP & Async
|
| 65 |
+
httpx==0.28.1
|
| 66 |
+
httpcore==1.0.9
|
| 67 |
+
aiohttp==3.13.3
|
| 68 |
+
aiohttp-retry==2.9.1
|
| 69 |
+
|
| 70 |
+
# Other Dependencies
|
| 71 |
+
click==8.3.1
|
| 72 |
+
rich==14.2.0
|
| 73 |
+
PyYAML==6.0.3
|
| 74 |
+
jsonschema==4.26.0
|
| 75 |
+
backoff==2.2.1
|
| 76 |
+
tenacity==9.1.2
|
| 77 |
+
posthog==7.5.1
|
setup.py
CHANGED
|
@@ -1,10 +1,84 @@
|
|
| 1 |
from setuptools import find_packages, setup
|
| 2 |
|
|
|
|
|
|
|
|
|
|
| 3 |
setup(
|
| 4 |
-
name="
|
| 5 |
-
version="
|
| 6 |
-
author="
|
| 7 |
author_email="vikash17052005@gmail.com",
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
packages=find_packages(),
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
)
|
|
|
|
| 1 |
from setuptools import find_packages, setup
|
| 2 |
|
| 3 |
+
with open("README.md", "r", encoding="utf-8") as fh:
|
| 4 |
+
long_description = fh.read()
|
| 5 |
+
|
| 6 |
setup(
|
| 7 |
+
name="paperbot",
|
| 8 |
+
version="1.0.0",
|
| 9 |
+
author="Vikash",
|
| 10 |
author_email="vikash17052005@gmail.com",
|
| 11 |
+
description="AI-Powered Research Paper Assistant with RAG using Haystack, Pinecone, and Google Gemini",
|
| 12 |
+
long_description=long_description,
|
| 13 |
+
long_description_content_type="text/markdown",
|
| 14 |
+
url="https://github.com/vikash-48413/PaperBOT",
|
| 15 |
packages=find_packages(),
|
| 16 |
+
classifiers=[
|
| 17 |
+
"Development Status :: 4 - Beta",
|
| 18 |
+
"Intended Audience :: Science/Research",
|
| 19 |
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
| 20 |
+
"License :: OSI Approved :: MIT License",
|
| 21 |
+
"Programming Language :: Python :: 3",
|
| 22 |
+
"Programming Language :: Python :: 3.8",
|
| 23 |
+
"Programming Language :: Python :: 3.9",
|
| 24 |
+
"Programming Language :: Python :: 3.10",
|
| 25 |
+
"Programming Language :: Python :: 3.11",
|
| 26 |
+
"Programming Language :: Python :: 3.12",
|
| 27 |
+
],
|
| 28 |
+
python_requires=">=3.8",
|
| 29 |
+
install_requires=[
|
| 30 |
+
# Core Web Framework
|
| 31 |
+
"fastapi>=0.128.0",
|
| 32 |
+
"uvicorn>=0.40.0",
|
| 33 |
+
"python-multipart>=0.0.21",
|
| 34 |
+
"jinja2>=3.1.6",
|
| 35 |
+
|
| 36 |
+
# Haystack AI Framework
|
| 37 |
+
"haystack-ai>=2.22.0",
|
| 38 |
+
|
| 39 |
+
# Vector Database - Pinecone
|
| 40 |
+
"pinecone>=8.0.0",
|
| 41 |
+
"pinecone-haystack>=6.0.0",
|
| 42 |
+
|
| 43 |
+
# LLM Integration - Google Gemini
|
| 44 |
+
"google-ai-haystack>=5.4.0",
|
| 45 |
+
"google-generativeai>=0.8.6",
|
| 46 |
+
|
| 47 |
+
# Embeddings & ML
|
| 48 |
+
"sentence-transformers>=5.2.0",
|
| 49 |
+
"transformers>=4.57.0",
|
| 50 |
+
"torch>=2.0.0",
|
| 51 |
+
|
| 52 |
+
# NLP & Text Processing
|
| 53 |
+
"nltk>=3.9.0",
|
| 54 |
+
|
| 55 |
+
# Document Processing
|
| 56 |
+
"pypdf>=6.6.0",
|
| 57 |
+
"python-docx>=1.2.0",
|
| 58 |
+
"openpyxl>=3.1.5",
|
| 59 |
+
"markdown>=3.10",
|
| 60 |
+
|
| 61 |
+
# Data Processing
|
| 62 |
+
"pandas>=2.3.0",
|
| 63 |
+
"numpy>=2.0.0",
|
| 64 |
+
|
| 65 |
+
# Utilities
|
| 66 |
+
"python-dotenv>=1.2.0",
|
| 67 |
+
"requests>=2.32.0",
|
| 68 |
+
"tqdm>=4.67.0",
|
| 69 |
+
"psutil>=7.2.0",
|
| 70 |
+
"pydantic>=2.12.0",
|
| 71 |
+
],
|
| 72 |
+
extras_require={
|
| 73 |
+
"dev": [
|
| 74 |
+
"pytest>=7.0.0",
|
| 75 |
+
"black>=23.0.0",
|
| 76 |
+
"flake8>=6.0.0",
|
| 77 |
+
],
|
| 78 |
+
},
|
| 79 |
+
entry_points={
|
| 80 |
+
"console_scripts": [
|
| 81 |
+
"paperbot=app:main",
|
| 82 |
+
],
|
| 83 |
+
},
|
| 84 |
)
|