-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathpyproject.toml
More file actions
137 lines (112 loc) · 3.07 KB
/
pyproject.toml
File metadata and controls
137 lines (112 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
include = ["rankify*"]
[tool.poetry.scripts]
rankify-index = "rankify.cli.cli:main"
[tool.setuptools.package-data]
"rankify.utils.retrievers.colbert.colbert.indexing.codecs" = ["*.cpp", "*.cu", "*.h"]
[project]
name = "rankify"
version = "0.1.4"
description = "A Comprehensive Python Toolkit for Retrieval, Re-Ranking, and Retrieval-Augmented Generation"
readme = "README-PyPI.md"
requires-python = ">=3.10"
license = {file = "LICENSE"}
keywords = ["retrieval", "re-ranking", "RAG", "nlp", "search"]
authors = [
]
maintainers = [
]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
]
# Core dependencies - minimal and compatible
dependencies = [
# Data handling & utilities
"pandas==2.2.3",
"prettytable==3.11.0",
"tqdm==4.66.5",
"requests==2.32.3",
"httpx==0.27.2",
"dacite==1.8.1",
"ftfy==6.3.1",
# ML Core
"transformers==4.45.2",
"datasets==3.2.0",
"sentence_transformers==3.3.0",
"onnxruntime==1.19.2",
# Basic NLP
"sentencepiece==0.2.0",
]
[project.optional-dependencies]
reranking = [
# LLM serving - made optional and more flexible
"vllm==0.7.0",
"ninja==1.11.1.3",
# Specialized rerankers - fixed versions
"llm-blender==0.0.2",
"peft==0.14.0",
"llama-cpp-python==0.2.76",
"together==1.3.3",
# API clients
"cohere==5.14.0",
]
retriever = [
# Sparse retrieval (BM25)
"pyserini==0.43.0",
# Dense retrieval
"faiss-cpu==1.9.0.post1",
"h5py==3.12.1",
"omegaconf==2.3.0",
"py7zr==0.22.0",
"ujson==5.10.0",
"gitpython==3.1.44",
# Web retrieval & tools - made more flexible
"langchain>=0.3.19",
"fasttext-wheel>=0.9.2",
"wikipedia-api>=0.8.1",
"pillow>=10.4.0",
"loguru==0.7.3",
"beautifulsoup4",
"html2text==2025.4.15",
# Optional web tools - may not be available on all systems
"Crawl4AI>=0.6.3", # Not always available on Windows
]
# RAG and generation - simplified
rag = [
# API providers
"openai==1.68.2",
"litellm>=1.61.20",
"anthropic==0.37.1",
]
all = [
"rankify[reranking]",
"rankify[retriever]",
"rankify[rag]"
]
dev = [
"build>=0.10.0", # Added build dependency
"twine>=4.0.0", # Added twine for publishing
"pytest>=7.0.0",
"ruff>=0.1.0",
"isort>=5.0.0",
"ipython>=8.0.0",
]
[project.scripts]
rankify-index = "rankify.cli.cli:main"
[project.urls]
"Homepage" = "https://github.com/DataScienceUIBK/rankify"
"Documentation" = "http://rankify.readthedocs.io/"
"Issues" = "https://github.com/DataScienceUIBK/rankify/issues"
"Source Code" = "https://github.com/DataScienceUIBK/rankify"
"Hugging Face Dataset" = "https://huggingface.co/datasets/abdoelsayed/reranking-datasets"
"PyPI" = "https://pypi.org/project/rankify/"