Shipped 3 packages yesterday/today. Here's the technical breakdown.
ragleap-rag v0.12.10
Stack trace:
ModuleNotFoundError: No module named 'lxml.html.clean'
Root cause: lxml moved clean to lxml_html_clean==0.4.0.
Fix in pyproject.toml:
[project.optional-dependencies]
web = ["trafilatura>=2.2.0", "lxml_html_clean>=0.4.0"]
formats = ["pandas>=2.2.2", "pyarrow>=14.0.0", "xlwt>=1.3.0"]
all = ["ragleap-rag[web,formats,qdrant,weaviate,pinecone,milvus]"]
Problem 2: _extract_parquet calls Table.to_pandas() — needs pandas, but wasn't in extras.
Now raises proper ValueError with install hint if missing.
CI Fix: Before → pip install.[test] only → 63 tests skipped.
Now → pip install.[formats][web][qdrant][weaviate][pinecone][milvus][test] → 308 passed.
Guard test:
def test_all_extras_installed_in_ci():
if os.getenv("CI") == "true":
import qdrant_client, weaviate, pinecone, milvus
ragleap-observability v0.4.0
Helm values:
alertmanager:
receivers:
slack:
enabled: true
api_url_file: /etc/alertmanager/secrets/slack_api_url
email:
enabled: true
smtp_auth_password_file: /etc/alertmanager/secrets/email_password
Secret mount is read-only. Tested with prom/alertmanager:v0.27.0 image + amtool check-config.
ragleap-tools v0.3.0
Zero-dep GitHub search:
class GitHubSearchConfig(BaseModel):
token: Optional[str] = None
num_results: int = 10 # clamped 1-20
def make_github_search_tool(config: GitHubSearchConfig):
# uses urllib.request, sets User-Agent: ragleap-tools/0.3.0
# handles 422 gracefully -> success=False
Live test without token:
GET https://api.github.com/search/repositories?q=rag
Rate limit: search=10, core=60 (docstring fix pending)
Install all 3:
pip install ragleap-rag==0.12.10 ragleap-observability==0.4.0 ragleap-tools==0.3.0
Repo: github.com/antonyrag/ragleap-core — star if useful ⭐
Top comments (0)