Transport abstraction layer split out from Breezy
Project description
Dromedary
Dromedary is a transport layer abstraction for version control systems, extracted from the Breezy version control system.
Overview
Dromedary provides a uniform interface for accessing files and directories across different protocols and storage backends. It supports:
- Local filesystem access
- HTTP/HTTPS for web-based repositories
- SFTP for secure remote access
- Memory-based transport for testing
- Various transport decorators for additional functionality
Features
- Protocol abstraction layer
- Support for multiple transport protocols (file, http, https, sftp, memory)
- Transport decorators for logging, readonly access, etc.
- Comprehensive test coverage
- Well-documented API
Installation
pip install dromedary
Usage
from dromedary import get_transport
# Get a transport for a local directory
transport = get_transport('/path/to/directory')
# Get a transport for an HTTP URL
transport = get_transport('http://example.com/repo')
# Use the transport
files = transport.list_dir('.')
content = transport.get('filename').read()
Requirements
- Python 3.8+
Optional dependencies:
- paramiko (for SFTP support)
- pygobject (for GIO transport support)
License
GNU General Public License v2 or later (GPLv2+)
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
dromedary-0.1.0.tar.gz
(261.3 kB
view details)
File details
Details for the file dromedary-0.1.0.tar.gz.
File metadata
- Download URL: dromedary-0.1.0.tar.gz
- Upload date:
- Size: 261.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4e8283e851dd9f8bfb580a7d6b736ca621591a92c72896911012adddfb48a18
|
|
| MD5 |
b3992de94b7adee4841d1259794446a0
|
|
| BLAKE2b-256 |
06f8f46c8efd36f6f3cb59cccc3c2ce48fe6c373fd24833c9dd6cacd3715961d
|