Skip to content

Conversation

@amycbtw
Copy link
Collaborator

@amycbtw amycbtw commented Nov 26, 2025

Pull Request

Summary

Fixed missing prometheus-client dependency by adding "prometheus-client>=0.19.0" to the main dependencies section in pyproject.toml, as this is a runtime requirement, not a development-only dependency.

Type of change

  • Feature
  • Bug fix
  • Docs update
  • Chore

Docs Impact (required for any code or docs changes)

  • Does this change require docs updates? If yes, list pages: No docs updates needed - internal implementation fix
  • Have you updated or added pages under docs/?
  • Did you build the site and run the link checker? (python website/build.py + python website/check_links.py)
  • Did you avoid banned placeholders? (no "TBD/coming soon")

Testing

Test steps:

  1. Create a fresh virtual environment.
  2. Install qdrant-loader:
    pip install qdrant-loader
  3. Run any command, for example:
    qdrant-loader --help

Test Results:

No ModuleNotFoundError: No module named 'prometheus_client' occurred.

Checklist

  • Tests pass (pytest -v)
  • Linting passes (make lint / make format)
  • Documentation updated (if applicable)

Summary by CodeRabbit

  • Chores
    • Added metrics collection library to project dependencies.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Nov 26, 2025

Walkthrough

Added a single dependency, prometheus-client>=0.19.0, to the dependencies list in the qdrant-loader project configuration file. This addresses a missing runtime dependency for the qdrant-loader package.

Changes

Cohort / File(s) Summary
Dependency addition
packages/qdrant-loader/pyproject.toml
Added prometheus-client>=0.19.0 to the project dependencies list in the [project] section.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

  • Simple one-line addition to project configuration file with no logic changes
  • Straightforward dependency version constraint that requires minimal validation

Possibly related issues

Poem

🐰 A client for metrics bright,
Prometheus now in sight!
One line added, clean and neat,
Monitoring loops complete! 📊

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly summarizes the main change: adding the prometheus-client dependency to fix issue #60.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bugfix/60

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/qdrant-loader/pyproject.toml (1)

67-67: Consider adding an upper bound version constraint.

The version constraint >=0.19.0 is permissive and allows any future major version, which could introduce breaking changes. For production dependencies, consider specifying an upper bound.

Apply this diff to add an upper bound (verify the appropriate upper bound based on your compatibility testing):

-    "prometheus-client>=0.19.0"
+    "prometheus-client>=0.19.0,<2.0.0"

Alternatively, if you want to be more conservative and match the current major version:

-    "prometheus-client>=0.19.0"
+    "prometheus-client>=0.19.0,<1.0.0"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between daf39b8 and 50b5fc5.

📒 Files selected for processing (1)
  • packages/qdrant-loader/pyproject.toml (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: martin-papy
Repo: martin-papy/qdrant-loader PR: 43
File: docs/developers/testing/README.md:36-40
Timestamp: 2025-08-12T09:02:25.128Z
Learning: Both packages/qdrant-loader and packages/qdrant-loader-mcp-server directories contain pyproject.toml files at their root level, making them installable with pip install -e for editable development installations.
📚 Learning: 2025-08-12T09:02:25.128Z
Learnt from: martin-papy
Repo: martin-papy/qdrant-loader PR: 43
File: docs/developers/testing/README.md:36-40
Timestamp: 2025-08-12T09:02:25.128Z
Learning: Both packages/qdrant-loader and packages/qdrant-loader-mcp-server directories contain pyproject.toml files at their root level, making them installable with pip install -e for editable development installations.

Applied to files:

  • packages/qdrant-loader/pyproject.toml
🔇 Additional comments (1)
packages/qdrant-loader/pyproject.toml (1)

67-67: Based on my verification, I can now provide the rewritten review comment:


prometheus-client dependency addition is verified and appropriate.

The addition of "prometheus-client>=0.19.0" to runtime dependencies is correct. Verification confirms prometheus_client is actively imported and used at runtime:

  • Direct import in packages/qdrant-loader/src/qdrant_loader/core/monitoring/prometheus_metrics.py (Counter, Gauge, Histogram, start_http_server)
  • Used across multiple runtime workers: upsert_worker.py, embedding_worker.py, chunking_worker.py, and async_ingestion_pipeline.py
  • Not limited to tests or optional features

The version constraint >=0.19.0 is permissive but acceptable for a stable library. The dependency move from dev-only to runtime resolves the reported ModuleNotFoundError appropriately.

@amycbtw amycbtw changed the title fix: update prometheus-client ddependency Fix #60 fix: update prometheus-client dependency Fix #60 Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants