Backup and restore utilities for LlamaAI data and configurations.
Project description
llama-backup
Llama Backup (llama-backup) is a utility within the LlamaSearch AI ecosystem designed for creating and managing backups. It likely handles backing up data to various storage backends with considerations for security like encryption.
Key Features
- Backup Management: Core logic for creating, restoring, and managing backups (
core.py,main.py). - Storage Backends: Interfaces with different storage solutions (e.g., local disk, cloud storage) (
storage.py). - Security Features: Includes mechanisms for encryption and secure handling of backup data (
security.py). - Command-Line Interface: Provides CLI tools for initiating and managing backups (
cli.py). - Configurable: Allows specifying backup sources, destinations, schedules (potentially via integration), encryption keys, etc. (
config.py).
Installation
pip install llama-backup
# Or install directly from GitHub for the latest version:
# pip install git+https://github.com/llamasearchai/llama-backup.git
Usage
Command-Line Interface (CLI)
(CLI usage examples for creating, listing, and restoring backups will be added here.)
llama-backup create --source /path/to/data --destination s3://my-bucket/backups --encrypt
llama-backup list
llama-backup restore --backup-id <backup_id> --target /path/to/restore
Python Client / Embedding
(Python usage examples for programmatically managing backups will be added here.)
# Placeholder for Python client usage
# from llama_backup import BackupManager, BackupConfig
# config = BackupConfig.load("config.yaml")
# manager = BackupManager(config)
# # Create a backup
# backup_job = manager.create_backup(
# source_path="/important/data",
# options={'encryption_key': 'supersecret'}
# )
# print(f"Backup started: {backup_job.id}")
# # List backups
# backups = manager.list_backups()
# for b in backups:
# print(f"ID: {b.id}, Timestamp: {b.timestamp}, Status: {b.status}")
Architecture Overview
graph TD
A[User / CLI (cli.py)] --> B{Core Backup Manager (core.py, main.py)};
B -- Backup/Restore Request --> C{Storage Interface (storage.py)};
C -- Read/Write --> D[(Storage Backend (Local, S3, etc.))];
B -- Encryption/Decryption --> E{Security Module (security.py)};
E -- Uses Keys --> F[(Key Store / Secrets Manager)];
G[Configuration (config.py)] -- Configures --> B;
G -- Configures --> C;
G -- Configures --> E;
style B fill:#f9f,stroke:#333,stroke-width:2px
style D fill:#ccf,stroke:#333,stroke-width:1px
style F fill:#ccf,stroke:#333,stroke-width:1px
- Interface: Users interact via the CLI or potentially a programmatic API.
- Core Manager: Orchestrates the backup or restore process based on configuration.
- Storage Interface: Handles communication with the chosen storage backend (local, cloud, etc.).
- Security Module: Manages encryption/decryption of backup data, potentially using external key management.
- Configuration: Defines source data, destination storage, encryption settings, etc.
Configuration
(Details on configuring backup sources, storage destinations (S3 buckets, local paths), encryption methods, keys, potential scheduling options, etc., will be added here.)
Development
Setup
# Clone the repository
git clone https://github.com/llamasearchai/llama-backup.git
cd llama-backup
# Install in editable mode with development dependencies
pip install -e ".[dev]"
Testing
pytest tests/
Contributing
Contributions are welcome! Please refer to CONTRIBUTING.md and submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llama_backup-0.1.0.tar.gz.
File metadata
- Download URL: llama_backup-0.1.0.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03f1260c859b314e7c6274afdb10d6901618812b0d776cb9d84b2afdeee57c81
|
|
| MD5 |
c79fc81678ad901bdb5859b2a0962046
|
|
| BLAKE2b-256 |
e17587fde8aadfd01909131fd785b96cdb47353786127070ccbcc87ae78d3ce9
|
File details
Details for the file llama_backup-0.1.0-py3-none-any.whl.
File metadata
- Download URL: llama_backup-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd482e70f5288aaec947c5d0c8508ff0a5f72dde97403750ddd02eab29423672
|
|
| MD5 |
1ebdc4f426478c44e1148bbb3f6fc04f
|
|
| BLAKE2b-256 |
ad2821f71a382c07612e1baf5fc291be6ed42c5419d1b3edfa7f6ceef1ba5cfc
|