Skip to main content

Deepfreeze Core

Core library for Elasticsearch cloud storage archival operations.

Overview

This package provides the shared functionality for deepfreeze operations, used by:

  • deepfreeze-cli: Standalone CLI tool
  • deepfreeze-server: Persistent daemon with REST API and Web UI

Supported Cloud Providers

Provider Storage Type Archive Tier Package
AWS S3 Glacier, Deep Archive boto3 (included)
Azure Blob Storage Archive tier azure-storage-blob (optional)
GCP Cloud Storage Archive class google-cloud-storage (optional)

Installation

# Base installation (AWS support only)
pip install deepfreeze-core

# With Azure support
pip install deepfreeze-core[azure]

# With GCP support
pip install deepfreeze-core[gcp]

# With all providers
pip install deepfreeze-core[azure,gcp]

Usage

This package is typically used as a dependency by other packages. For direct usage:

from deepfreeze_core import (
    Setup, Status, Rotate, Thaw, Refreeze, Cleanup, RepairMetadata,
    s3_client_factory, create_es_client, get_storage_credentials
)

# Create ES client
client = create_es_client(
    hosts=["https://localhost:9200"],
    username="elastic",
    password="changeme"
)

# Create storage client (AWS)
s3 = s3_client_factory("aws", region="us-east-1")

# Create storage client (Azure)
s3 = s3_client_factory("azure", connection_string="...")

# Create storage client (GCP)
s3 = s3_client_factory("gcp", project="my-project")

# Or load credentials from config file
creds = get_storage_credentials("/path/to/config.yaml", "azure")
s3 = s3_client_factory("azure", **creds)

# Create and run an action
status = Status(client=client)
status.do_action()

Components

Actions

  • Setup - Initialize deepfreeze environment
  • Status - Display status of repositories and thaw requests
  • Rotate - Create new repository, archive old ones
  • Thaw - Restore data from archive storage
  • Refreeze - Return thawed data to archive storage
  • Cleanup - Remove expired repositories and requests
  • RepairMetadata - Fix metadata discrepancies

Storage Clients

  • s3_client_factory(provider, **kwargs) - Create storage client for any provider
  • AwsS3Client - AWS S3 implementation
  • AzureBlobClient - Azure Blob Storage implementation
  • GcpStorageClient - Google Cloud Storage implementation

Utilities

  • create_es_client - Create Elasticsearch client
  • get_storage_credentials - Load storage credentials from config file
  • load_storage_config - Load all storage configuration from config file
  • Repository and Settings management functions

Configuration

Storage credentials can be provided via:

  1. Constructor arguments (highest priority)
  2. Config file (storage section)
  3. Environment variables (fallback)

Config File Format

storage:
  aws:
    region: us-east-1
    profile: my-profile  # or access_key_id + secret_access_key

  azure:
    connection_string: "DefaultEndpointsProtocol=https;..."
    # or account_name + account_key

  gcp:
    project: my-project
    credentials_file: /path/to/service-account.json

Environment Variables

AWS: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_PROFILE

Azure: AZURE_STORAGE_CONNECTION_STRING or AZURE_STORAGE_ACCOUNT + AZURE_STORAGE_KEY

GCP: GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_CLOUD_PROJECT

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black deepfreeze_core/
ruff check deepfreeze_core/

Metadata

Release files for deepfreeze-core 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deepfreeze-core 2.0.2
File Size Uploaded
deepfreeze_core-2.0.2.tar.gz 94.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deepfreeze-core 2.0.2
File Interpreter ABI Platform
deepfreeze_core-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 203.2 kB

Release files / deepfreeze_core-2.0.2.tar.gz

Download URL deepfreeze_core-2.0.2.tar.gz
Size 94.0 kB
Tags Source
SHA-256 checksum
How to use checksums
430373774797c4bd0585d6512baca022257d44ef01d11b38b52fc3889101dd1c
BLAKE2b-256 checksum
How to use checksums
e46fd2420dfcf4764e41d43505dcbba850e0b97b7d0da208c2aa8392250dc131
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

Release files / deepfreeze_core-2.0.2-py3-none-any.whl

Download URL deepfreeze_core-2.0.2-py3-none-any.whl
Size 109.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28aaf509d0a038fcb2d90a97d91633b968db1747be9bdf7452eb8ef06f911ec4
BLAKE2b-256 checksum
How to use checksums
bdf64da12ddfcf455c0ad0dcd2b73e07278a6cfe077ac5812d3ccc1a96359702
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.0

2 release files

2.0.3

2 release files

This release

2.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page