Skip to main content

Shared core for provider-agnostic LLM support and configuration mapping for qdrant-loader ecosystem

Project description

QDrant Loader Core

PyPI Python License: GPL v3

Shared core library for the QDrant Loader ecosystem. It provides a provider‑agnostic LLM layer (embeddings and chat), configuration mapping, safe logging, and normalized error handling used by the CLI and MCP Server packages.

For provider, configuration, and architecture details, use the documentation links below.

🎯 What It Provides

  • Provider-agnostic LLM facade for OpenAI, Azure OpenAI, OpenAI-compatible endpoints, and Ollama
  • Unified async APIs for embeddings and chat clients
  • Typed settings and mapping: LLMSettings.from_global_config(...) supports the new global.llm schema and maps legacy fields with deprecation warnings
  • Structured logging with redaction: LoggingConfig.setup(...) masks secrets and reduces noisy logs
  • Normalized errors: consistent exceptions across providers (TimeoutError, RateLimitedError, InvalidRequestError, AuthError, ServerError)
  • Optional dependencies via extras: openai, ollama

📦 Installation

pip install qdrant-loader-core

With extras:

pip install "qdrant-loader-core[openai]"
pip install "qdrant-loader-core[ollama]"

📄 Logging

Use built-in structured logging:

from qdrant_loader_core.logging import LoggingConfig

LoggingConfig.setup(level="INFO", format="console", file=None)
logger = LoggingConfig.get_logger(__name__)
logger.info("LLM ready", provider=settings.provider)

📝 Notes

  • Secrets (keys/tokens) are masked in both stdlib and structlog output
  • Noisy third‑party logs are toned down; Qdrant version checks are filtered
  • For MCP integration, set MCP_DISABLE_CONSOLE_LOGGING=true to disable console output

❗ Error Handling

Catch provider-normalized exceptions from qdrant_loader_core.llm.errors:

  • TimeoutError — request timed out
  • RateLimitedError — rate limit exceeded
  • InvalidRequestError — bad parameters or unsupported operation
  • AuthError — authentication/authorization failed
  • ServerError — transport/server failures

📚 Documentation

🆘 Support

🤝 Contributing

See CONTRIBUTING - Contribution guidelines, development standards, and pull request process.

📄 License

This project is licensed under the GNU GPLv3 - see the LICENSE file for details.


Ready to get started? Check out our Quick Start Guide or browse the complete documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qdrant_loader_core-1.0.1.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qdrant_loader_core-1.0.1-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file qdrant_loader_core-1.0.1.tar.gz.

File metadata

  • Download URL: qdrant_loader_core-1.0.1.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qdrant_loader_core-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d9736b8c0c854a7c1bd1887057ae1d5c445a9f4f66b65b508989035d6e25d361
MD5 e26a7ddde865184bd9e9a63b54b3400a
BLAKE2b-256 a5964edeec61ed157e0b1446d28239c9019b6b006ca3fbfdeab0a334b1df1328

See more details on using hashes here.

Provenance

The following attestation bundles were made for qdrant_loader_core-1.0.1.tar.gz:

Publisher: publish.yml on martin-papy/qdrant-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qdrant_loader_core-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for qdrant_loader_core-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 045070960f0c01428c8001c4bae95349753ce4bfd3cfdcf355e6b093f2cd2c91
MD5 ea36eeb66f15a76997e5977779952ac8
BLAKE2b-256 fe4d4a4d676ceacde2d441fe038a7b62ae3e01b5d10fb35539fbdcf34a021287

See more details on using hashes here.

Provenance

The following attestation bundles were made for qdrant_loader_core-1.0.1-py3-none-any.whl:

Publisher: publish.yml on martin-papy/qdrant-loader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page