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

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.3
File Size Uploaded
deepfreeze_core-2.0.3.tar.gz 94.0 kB Details

Built distribution (wheel)

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

Total release size: 203.2 kB

Release files / deepfreeze_core-2.0.3.tar.gz

Download URL deepfreeze_core-2.0.3.tar.gz
Size 94.0 kB
Tags Source
SHA-256 checksum
How to use checksums
07e29210cd2b9631a801e7e7994057b03f3bbb4d7d9ba8c2c61e6eaba1184af0
BLAKE2b-256 checksum
How to use checksums
30ebce6240729b50a769af201e893fd3c0f6f859fdb4744df36ee130a2e420ed
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.3-py3-none-any.whl

Download URL deepfreeze_core-2.0.3-py3-none-any.whl
Size 109.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
256061cb195e56ea720a0c8b711c2f229646bea432d3e4379d434cedafdfb183
BLAKE2b-256 checksum
How to use checksums
4c437676c0158bfbc3ceb6c237baeecf8dc5c9e9d9210ea97ee35a1326bda17d
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

This release

2.0.3 This release

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