Client

class transmission_rpc.client.Client(address='localhost', port=9091, user=None, password=None, http_handler=None, timeout=None)[source]

Client is the class handling the Transmission JSON-RPC client protocol.

add_torrent(torrent, timeout=None, **kwargs)[source]

Add torrent to transfers list. Takes a uri to a torrent or base64 encoded torrent data in torrent. Additional arguments are:

Argument RPC Replaced by Description
bandwidthPriority 8 -   Priority for this transfer.
cookies 13 -   One or more HTTP cookie(s).
download_dir 1 -   The directory where the downloaded contents will be saved in.
files_unwanted 1 -   A list of file id’s that shouldn’t be downloaded.
files_wanted 1 -   A list of file id’s that should be downloaded.
paused 1 -   If True, does not start the transfer when added.
peer_limit 1 -   Maximum number of peers allowed.
priority_high 1 -   A list of file id’s that should have high priority.
priority_low 1 -   A list of file id’s that should have low priority.
priority_normal 1 -   A list of file id’s that should have normal priority.

Returns a Torrent object with the fields.

blocklist_update(timeout=None)[source]

Update block list. Returns the size of the block list.

change_torrent(ids, timeout=None, **kwargs)[source]

Change torrent parameters for the torrent(s) with the supplied id’s. The parameters are:

Argument RPC Replaced by Description
bandwidthPriority 5 -   Priority for this transfer.
downloadLimit 5 -   Set the speed limit for download in Kib/s.
downloadLimited 5 -   Enable download speed limiter.
files_unwanted 1 -   A list of file id’s that shouldn’t be downloaded.
files_wanted 1 -   A list of file id’s that should be downloaded.
honorsSessionLimits 5 -  
Enables or disables the transfer
to honour the upload limit set in the session.
location 1 -   Local download location.
peer_limit 1 -   The peer limit for the torrents.
priority_high 1 -   A list of file id’s that should have high priority.
priority_low 1 -   A list of file id’s that should have normal priority.
priority_normal 1 -   A list of file id’s that should have low priority.
queuePosition 14 -   Position of this transfer in its queue.
seedIdleLimit 10 -   Seed inactivity limit in minutes.
seedIdleMode 10 -  
Seed inactivity mode. 0 = Use session limit,
1 = Use transfer limit, 2 = Disable limit.
seedRatioLimit 5 -   Seeding ratio.
seedRatioMode 5 -  
Which ratio to use. 0 = Use session limit,
1 = Use transfer limit, 2 = Disable limit.
speed_limit_down 1 - 5 downloadLimit Set the speed limit for download in Kib/s.
speed_limit_down_enabled 1 - 5 downloadLimited Enable download speed limiter.
speed_limit_up 1 - 5 uploadLimit Set the speed limit for upload in Kib/s.
speed_limit_up_enabled 1 - 5 uploadLimited Enable upload speed limiter.
trackerAdd 10 -   Array of string with announce URLs to add.
trackerRemove 10 -   Array of ids of trackers to remove.
trackerReplace 10 -  
Array of (id, url) tuples
where the announce URL should be replaced.
uploadLimit 5 -   Set the speed limit for upload in Kib/s.
uploadLimited 5 -   Enable upload speed limiter.

Note

transmission_rpc will try to automatically fix argument errors.

free_space(path, timeout=None)[source]

Get the amount of free space (in bytes) at the provided location.

get_files(ids=None, timeout=None)[source]

Get list of files for provided torrent id(s). If ids is empty, information for all torrents are fetched. This function returns a dictionary for each requested torrent id holding the information about the files.

{
        <torrent id>: {
                <file id>: {
                        'name': <file name>,
                        'size': <file size in bytes>,
                        'completed': <bytes completed>,
                        'priority': <priority ('high'|'normal'|'low')>,
                        'selected': <selected for download (True|False)>
                }

                ...
        }

        ...
}
get_session(timeout=None)[source]

Get session parameters. See the Session class for more information.

get_torrent(torrent_id, arguments=None, timeout=None)[source]

Get information for torrent with provided id. arguments contains a list of field names to be returned, when None all fields are requested. See the Torrent class for more information.

Returns a Torrent object with the requested fields.

get_torrents(ids=None, arguments=None, timeout=None)[source]

Get information for torrents with provided ids. For more information see get_torrent.

Returns a list of Torrent object. :type ids: Union[int, str] :rtype : list[Torrent]

locate_torrent_data(ids, location, timeout=None)[source]

Locate torrent data at the provided location.

move_torrent_data(ids, location, timeout=None)[source]

Move torrent data to the new location.

port_test(timeout=None)[source]

Tests to see if your incoming peer port is accessible from the outside world.

queue_bottom(ids, timeout=None)[source]

Move transfer to the bottom of the queue.

queue_down(ids, timeout=None)[source]

Move transfer down in the queue.

queue_top(ids, timeout=None)[source]

Move transfer to the top of the queue.

queue_up(ids, timeout=None)[source]

Move transfer up in the queue.

reannounce_torrent(ids, timeout=None)[source]

Reannounce torrent(s) with provided id(s)

remove_torrent(ids, delete_data=False, timeout=None)[source]

remove torrent(s) with provided id(s). Local data is removed if delete_data is True, otherwise not.

rename_torrent_path(torrent_id, location, name, timeout=None)[source]

Rename directory and/or files for torrent. Remember to use get_torrent or get_torrents to update your file information.

rpc_version

Get the Transmission RPC version. Trying to deduct if the server don’t have a version value.

session_stats(timeout=None)[source]

Get session statistics

set_files(items, timeout=None)[source]

Set file properties. Takes a dictionary with similar contents as the result of get_files.

{
        <torrent id>: {
                <file id>: {
                        'priority': <priority ('high'|'normal'|'low')>,
                        'selected': <selected for download (True|False)>
                }

                ...
        }

        ...
}
set_session(timeout=None, **kwargs)[source]

Set session parameters. The parameters are:

Note

transmission_rpc will try to automatically fix argument errors.

start_all(bypass_queue=False, timeout=None)[source]

Start all torrents respecting the queue order

start_torrent(ids, bypass_queue=False, timeout=None)[source]

Start torrent(s) with provided id(s)

stop_torrent(ids, timeout=None)[source]

stop torrent(s) with provided id(s)

timeout

HTTP query timeout.

verify_torrent(ids, timeout=None)[source]

verify torrent(s) with provided id(s)

transmission_rpc.client.debug_httperror(error)[source]

Log the Transmission RPC HTTP error.

transmission_rpc.client.parse_torrent_id(arg)[source]

Parse an torrent id or torrent hashString.

transmission_rpc.client.parse_torrent_ids(args)[source]

Take things and make them valid torrent identifiers