contextpilot commited on
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

Files changed (5) hide show
  1. LICENSE +21 -0
  2. MANIFEST.in +23 -0
  3. requirements-dev.txt +20 -0
  4. requirements.txt +77 -23
  5. 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
- pinecone-haystack>=2.0.0
2
- haystack-ai
3
- google-ai-haystack
4
- fastapi
5
- uvicorn
6
- python-dotenv
7
- pathlib
8
- requests
9
- pypdf
10
- sentence-transformers
11
- nltk
12
- openai>=1.0.0
13
- python-docx
14
- pandoc
15
- markdown
16
- openpyxl
17
- pandas
18
- jinja2
19
- psutil
20
- tqdm
21
- python-multipart
22
-
23
- -e .
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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="QAsystem with haystack",
5
- version="0.0.1",
6
- author="vikash",
7
  author_email="vikash17052005@gmail.com",
 
 
 
 
8
  packages=find_packages(),
9
- install_requires=["pinecone-haystack","haystack-ai","fastapi","uvicorn","python-dotenv","pathlib"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
  )