Skip to main content
______________________  _____ _____________                     1  2  3
  ________/ ___/___/ /_  __(_)___/ __/__/ /______ ________   R  │  │  │
    _____/___ \ __/ __ \ ___ ___/ /_ _/  __/_  _ \__/ ___/   └──┼──┼──┤
      ______/ / _/ / / /_/ / _/  __/  / /_  /  __/_/ /          │  │  │
        /____/  /_/ /_/ /_/   /_/     \__/  \___/ /_/           4  5  6

shifter is a Python library for controlling transmission and uses the version number of the newest version of transmission that it was written to support (it will likely work for newer versions, but there is no guarantee). shifter has been written in 2.x syntax and will work for both Python2.x and Python3.x starting with Python2.5.

To install:

$ pip install shifter

or

$ easy_install shifter

For versions of Python3.x shifter is converted using 2to3. When installing with pip or using distribute, shifter will automatically be converted to 3.x syntax. Otherwise you can run the 2to3 tool manually with the following command:

$ 2to3 -f future -f reduce -f urllib -w shifter.py

shifter was designed to be a more lightweight and consistent transmission RPC library than what was currently available for Python. Instead of simply using the keys/fields that transmission-rpc specifies which have a mix of dashed separated words and mixed case words, shifter tries to convert all keys to a more python oriented: underscore separated words. This conversion is done so that it is still possible to specify the fields/argument specified in transmission-rpc, but if you do so your mileage may vary (probably want to avoid it).

shifter is designed to work with all versions of transmission, but for renamed fields before and after the transmission version 1.60 (RPC v5) you must specify the correct argument names (no automatic renames)

To use shifter to control a default transmission-daemon on localhost:

>>> client = shifter.Client()
>>> client.list()

which produces a list of dictionaries with the torrent information (keys are the fields: client.list_fields), and is synonymous to calling

>>> client.torrent.get(client.list_fields)

To use different connection information:

  • complete path

    >>> client = shifter.Client(address="https://host:port/path")
    
  • default URL, but port change to 8080

    >>> client = shifter.Client(port=8080)
    
  • default URL, but different host

    >>> client = shifter.Client(host="github.com")
    
  • default URL, but use a username and password

    >>> client = shifter.Client(username='username', password='password')
    

shifter’s RPC methods are namespaced into four sections:

Client:
  • port_test – return if transmission port is open.

  • blocklist_update – update block list and return block list size.

  • list (torrent.get helper) – list basic torrent info for all torrents

Client.queue:
  • move_bottom – move torrent to bottom of the queue

  • move_down – move torrent down in the queue

  • move_top – move torrent to the top of the queue

  • move_up – move torrent up in the queue

Client.session:
  • close – shutdown the transmission daemon

  • get – get session properties

  • set – set session properties

  • stats – get session statistics

Client.torrent:
  • add – add a new torrent

  • get – get torrent properties

  • files (torrent.get helper) – get file information for one or more torrents

  • percent_done (torrent.get helper) – get torrent percent done for one or more torrents

  • remove – remove a torrent from transmission and optionally delete the data

  • set – set torrent properties

  • set_location – set/move torrent location

Release files for shifter 2.75

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shifter 2.75
File Size Uploaded
shifter-2.75.tar.gz 11.5 kB Details

Release files / shifter-2.75.tar.gz

Download URL shifter-2.75.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
866ed910d4c3f9caad36ceeb64ac3119e7bd8c0f84cbee1036e89dc822666743
BLAKE2b-256 checksum
How to use checksums
db5e8c6f0d1dfedda8051ca726016924e09eb81a967c3075533491b36a78e4ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.75 This release

1 release file

2.40

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page