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.1.0

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.1.0
File Size Uploaded
deepfreeze_core-2.1.0.tar.gz 95.5 kB Details

Built distribution (wheel)

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

Total release size: 206.5 kB

Release files / deepfreeze_core-2.1.0.tar.gz

Download URL deepfreeze_core-2.1.0.tar.gz
Size 95.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0ea06ad972d96e9a703c89e04bc5098ef544fe1fd6d4e869265d7b08de0c0c76
BLAKE2b-256 checksum
How to use checksums
050c559d3667b6f5e2224a9160d68b768082eb5a7c37633ca8da78190d1c1572
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.1.0-py3-none-any.whl

Download URL deepfreeze_core-2.1.0-py3-none-any.whl
Size 111.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
271dcd1602db9686d221c90195e4683cae29b54be3ce04e0846a126152f42ae5
BLAKE2b-256 checksum
How to use checksums
5525e0d88349d2495be4f5247a33776bca669eb501ee15a644f77480b353e50b
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

This release

2.1.0 This release

2 release files

2.0.3

2 release files

2.0.2

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