This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!
Project Description

## About

Horde is a torrent-based file distribution system, forked from [Herd]( and based on [Murder]( It allows for quick and easy transfer of small and large files. You can probably use it for other things too.

Horde requires no extra modules on Python and includes everything needed for destinations including its own (lightly modified) copy of BitTornado.

## Differences from Herd

[Herd]( is a command line python client interface that uses eventlet and has to be ran from the command line. This project also has limitations around large file transfers, peer seeding and python integration.

## Differences from Murder

[Murder]( was Twitter’s original BitTorrent-based file distribution system. It’s pretty dependent on Capistrano and requires that a separate tracker process is started before you run the deploy task.

Horde spawns its own tracker in the background which makes it really trivial to integrate into whatever deployment system you like.

## Requirements

Horde needs Python > 2.5 and argparse. If your using python 2.7+ nothing else is needed as argparse was added to the standard library.

Argparse(if needed) can be installed with easy_install or pip:

pip install argparse easy_install argparse

Horde also currently requires that key based passwordless authentication is enabled on all of your target destinations.

## Install

git clone cd Horde && sudo python install


sudo pip install horde

## Usage

With a hosts file that includes a list of the hosts you want to copy to:

horde myfile.tar.gz /path/to/destination.tar.gz hosts_file

Using a hosts list that is a single string comma separated:

horde myfile.tar.gz /path/to/destination.tar.gz –hostlist “host1,host2,host3”

More options:

horde –help

## Python Integration

Horde can also be imported as a python module. This makes integration into existing projects much more bueno. One would simply need to:

import horde.horde as horde horde.run_with_opts(‘localfile’, ‘remotefile’, hostlist=’server1,server2’)

## Credits

Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting