mirror of
https://github.com/beshu-tech/deltaglider.git
synced 2026-04-30 20:24:35 +02:00
feat: Add metadata namespace and fix stats calculation
This is a major release with breaking changes to metadata format. BREAKING CHANGES: - All metadata keys now use 'dg-' namespace prefix (becomes 'x-amz-meta-dg-*' in S3) - Old metadata format is not supported - all files must be re-uploaded - Stats behavior changed: quick mode no longer shows misleading warnings Features: - Metadata now uses real package version (dg-tool: deltaglider/VERSION) - All metadata keys properly namespaced with 'dg-' prefix - Clean stats output in quick mode (no per-file warning spam) - Fixed nonsensical negative compression ratios in quick mode Fixes: - Stats now correctly handles delta files without metadata - Space saved shows 0 instead of negative numbers when metadata unavailable - Removed misleading warnings in quick mode (metadata not fetched is expected) - Fixed metadata keys to use hyphens instead of underscores Documentation: - Added comprehensive metadata documentation - Added stats calculation behavior guide - Added real version tracking documentation Tests: - Updated all tests to use new dg- prefixed metadata keys - All 73 unit tests passing - All quality checks passing (ruff, mypy) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ from collections.abc import Callable
|
||||
from pathlib import Path
|
||||
from typing import Any, cast
|
||||
|
||||
from . import __version__
|
||||
from .adapters.storage_s3 import S3StorageAdapter
|
||||
from .client_delete_helpers import delete_with_delta_suffix
|
||||
from .client_models import (
|
||||
@@ -1325,8 +1326,8 @@ def create_client(
|
||||
logger = StdLoggerAdapter(level=log_level)
|
||||
metrics = NoopMetricsAdapter()
|
||||
|
||||
# Get default values
|
||||
tool_version = kwargs.pop("tool_version", "deltaglider/5.0.0")
|
||||
# Get default values (use real package version)
|
||||
tool_version = kwargs.pop("tool_version", f"deltaglider/{__version__}")
|
||||
max_ratio = kwargs.pop("max_ratio", 0.5)
|
||||
|
||||
# Create service
|
||||
|
||||
Reference in New Issue
Block a user