Skip to main content

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


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)

Uploaded Source

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

Hashes for dromedary-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d4e8283e851dd9f8bfb580a7d6b736ca621591a92c72896911012adddfb48a18
MD5 b3992de94b7adee4841d1259794446a0
BLAKE2b-256 06f8f46c8efd36f6f3cb59cccc3c2ce48fe6c373fd24833c9dd6cacd3715961d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page