-
Notifications
You must be signed in to change notification settings - Fork 0
Changelog
github-actions[bot] edited this page Mar 15, 2026
·
1 revision
See CHANGELOG.md for the full history.
-
SentenceTransformerEmbedder— thin wrapper oversentence-transformers(all-MiniLM-L6-v2default). Install viauv add 'dataenginex[ml]'. Implements theembed_fnprotocol forRAGPipeline. -
RAGPipeline.answer(question, llm, ...)— full retrieve → augment → generate loop in one call. Combinesbuild_contextwith anyLLMProvider.generate_with_context. -
GitHub Actions upgraded to Node.js 24 —
ci.yml,pypi-publish.yml,release-dataenginex.yml,security.ymlnow useactions/checkout@v6,actions/setup-python@v6,astral-sh/setup-uv@v7. -
examples/05_rag_demo.py— end-to-end RAG demo with--embed,--llm,--modelCLI flags; Ollama fallback to MockProvider; usesRAGPipeline.answer().
-
Routers removed —
api/routers/v1.pyandapi/routers/ml.pymoved to application packages (e.g.careerdex.api.routers).dataenginexno longer ships any route definitions — it provides only reusable API utilities (auth, health, errors, pagination, rate limiting). -
FastAPI is now optional — Core install (
pip install dataenginex) includes only lightweight deps:pydantic,pyyaml,loguru,httpx,python-dotenv,prometheus-client. API/middleware consumers must installpip install dataenginex[api]. -
Root
__init__.pyslimmed —from dataenginex import ...no longer re-exportsHealthChecker,HealthStatus,configure_logging,configure_tracing,get_logger. Usefrom dataenginex.api import ...orfrom dataenginex.middleware import ...directly. - Domain extraction — Removed all CareerDEX-specific schemas and validators from the framework. Domain models belong in application packages, not the core library.
-
RAG Vector DB adapter —
VectorStoreBackendABC withInMemoryBackendandChromaDBBackendimplementations;RAGPipelineorchestrator;DocumentandSearchResultdataclasses. -
LLM integration —
LLMProviderABC withOllamaProviderandMockProvider;generate_with_context()for RAG-style augmented generation;ChatMessage,LLMConfig,LLMResponsedataclasses. -
Injectable
QualityGate—QualityGate.__init__now acceptsscorer,required_fields, anduniqueness_keykeyword arguments. -
Real
LocalParquetStorage— Reads/writes actual Parquet files viapyarrow. -
BigQueryStoragestubbed — All methods raiseNotImplementedErroruntil implemented.
-
Pickle safety —
ml/training.pynow usesSafeUnpicklerrestricting deserialization to sklearn/numpy namespaces only; HMAC signature verification on model load. -
LLM error handling —
OllamaProvider.generate()/chat()raiseConnectionErroron HTTP failures instead of returning emptyLLMResponse. -
Pagination cursor —
decode_cursor()raisesValueErroron invalid input instead of silently returning 0. -
Storage backends —
S3Storage.exists()catchesNoSuchKeyspecifically;GCSStorage.exists()returnsblob.exists()with specific exception handling.
-
Storage abstraction —
list_objects(prefix)andexists(path)onStorageBackendABC; concrete implementations across all backends;get_storage(uri)factory function.
For earlier versions, see the full CHANGELOG.