Skip to main content

DWLOAD server implemented in Python

Project description


DWLOAD server implemented in Python (OpenSource, GPL v3 or above).

It’s in unuseable, experimental state and currently nothing more then some tests scripts.

current state

Tested DWEEBS:

DWEEB example Description
DLOAD DLOAD Load AUTOLOAD.DWL (Used on Dragon startup)

Implemented DriveWire Transactions:

hex dez DW name Description
$01 1 OP_NAMEOBJ_MOUNT Mount a file to a virtual drive number
$d2 210 OP_READEX Send 256 bytes sector from the DWLOAD server to the client
$57 87 OP_WRITE Write 256 bytes sector of data from the client into a file on the server


  • support SAVE
  • compare checksum



The is a virtualenv bootstrap file, created with bootstrap_env, for easy installation.

Get the bootstrap file:

/home/FooBar$ wget

There are tree types of installation:

option desciption
pypi use Python Package Index (for all normal user!)
git_readonly use git to get the sourcecode (for developer without write access)
dev use git with write access


/home/FooBar$ python3 ~/dwload_server_env --install_type git_readonly

This creates a virtualenv in ``~/dwload_server_env`` and used git to checkout the needed repositories.

In this case (using –install_type=**git_readonly**) the git repository are in: …/dwload_server_env/src/ So you can easy update them e.g.:

/home/FooBar$ cd ~/dwload_server_env/src/dwload-server
/home/FooBar/dwload_server_env/src/dwload-server$ git pull


There are several ways to install the project under windows.

The following is hopeful the easiest one:

  • Install Python 3, e.g.:
  • Download the DWLOAD Server git snapshot from Github:
  • Extract the Archive somewhere
  • Maybe, adjust paths in boot_dwload_server.cmd
  • Run boot_dwload_server.cmd

The default boot_dwload_server.cmd will install via Python Package Index (PyPi) into %APPDATA%\dwload_server_env


Setup server root directory. This is the directory for the files that are interchange with the client.

/home/FooBar$ cd ~/dwload_server_env/
/home/FooBar/dwload_server_env$ mkdir root

You have to put the DWEEB files into the root dir. e.g. dwload-demo-files from:

To start the server:

/home/FooBar$ cd ~/dwload_server_env/
/home/FooBar/dwload_server_env$ ./bin/python -m dwload_server.dwload_server --port /dev/ttyUSB0 --root_dir ./root

If you would like to see more debug output:

/home/FooBar/dwload_server_env$ ./bin/python -m dwload_server.dwload_server --port /dev/ttyUSB0 --root_dir ./root --log_level 10

Display CLI help:

/home/FooBar/dwload_server_env$ ./bin/python -m dwload_server.dwload_server --help

Maybe it’s nice to have a shell script to startup? Take a copy of existing file and change it for your needs, e.g.:

/home/FooBar$ cd ~/dwload_server_env/
/home/FooBar/dwload_server_env$ wget

# Just call (after edit)
/home/FooBar/dwload_server_env$ ./


  • 14.11.2014 - v0.1.0 - Create bootstrap file that work under linux and windows.
  • 12.11.2014 - v0.0.1 - send a file works rudimentary
  • 30.09.2014 - Idea was born: Forum post 11893

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dwload_server, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size dwload_server-0.1.1.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page