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.
Metadata
Release files for llama-backup 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_backup-0.1.0.tar.gz | 20.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llama_backup-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.3 kB
Release files / llama_backup-0.1.0.tar.gz
| Download URL | llama_backup-0.1.0.tar.gz |
|---|---|
| Size | 20.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03f1260c859b314e7c6274afdb10d6901618812b0d776cb9d84b2afdeee57c81
|
|
BLAKE2b-256 checksum How to use checksums |
e17587fde8aadfd01909131fd785b96cdb47353786127070ccbcc87ae78d3ce9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / llama_backup-0.1.0-py3-none-any.whl
| Download URL | llama_backup-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd482e70f5288aaec947c5d0c8508ff0a5f72dde97403750ddd02eab29423672
|
|
BLAKE2b-256 checksum How to use checksums |
ad2821f71a382c07612e1baf5fc291be6ed42c5419d1b3edfa7f6ceef1ba5cfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|