Skip to main content

Open multi-site list manager

Project description

Trackma

Trackma aims to be a lightweight and simple but feature-rich program for Unix based systems for fetching, updating and using data from personal lists hosted in several media tracking websites.

Features

  • Manage local list and synchronize when necessary, useful when offline
  • Manage multiple accounts on different media tracking sites
  • Support for several media types (as supported by the site)
  • Multiple user interfaces (Qt, GTK, curses, command-line)
  • Detection of running media player, updates list if necessary
  • Ability to launch media player for a requested media in the list and update list if necessary
  • Highly scalable, easy to code new interfaces and support for other sites
  • Secure, uses HTTPS wherever possible.

Currently supported websites

Screenshots

Qt interface

Qt

GTK interface

GTK

Curses interface

Curses

CLI

CLI

Dependencies

The only required dependencies to run Trackma are:

  • Python 3.9+
  • For installation: python3-pip (to install through pip) or python3-poetry (to install through poetry)

But only basic features will work (only CLI interface and no tracker). Everything else is optional.

The following user interfaces are available and their requirements are as follows:

UI Dependencies
Qt PyQt6 (python-pyqt6)
GTK 3 PyGI (python3-gi and python3-cairo)
curses Urwid (python3-urwid)
CLI None

The following media recognition trackers are available and their requirements are as follows:

Tracker Description Dependencies
inotify Instant, but only supported in Linux. Uses it whenever possible. inotify or pyinotify
Polling Slow, but supported in every POSIX platform. Fallback. lsof
Plex Connects to Plex server. Enabled manually. None
Kodi Connects to Kodi server. Enabled manually. None
Jellyfin Connects to Jellyfin server. Enabled manually. None
MPRIS Connects to running MPRIS capable media players. python3-jeepney
Win32 Recognition for Windows platforms. None

Additional optional Python dependencies:

  • PIL (python3-pil) - for showing preview images in the Qt/GTK interfaces.
  • pypresence (???) - for announcing activity on Discord.
  • twitter (python3-twitter) - for announcing activity on Twitter.
  • anitopy (-) - for the anitopy title parser

Installation

Trackma has user-provided packages for several distributions.

A user from the community also is providing a Docker image:

Manual installation

Make sure you've installed the proper dependencies (listed above) according to the user interface you plan to use, and then run the following command:

$ pip3 install Trackma

You can also install the git (probably unstable, but newer) version like this:

$ pip3 install -U git+https://github.com/z411/trackma.git

Or download the source code and install:

$ git clone --recursive https://github.com/z411/trackma.git
$ cd trackma
$ poetry build
$ pip3 install dist/trackma-0.8.5-py3-none-any.whl

Extras (User Interfaces)

All user interfaces except for the default CLI mode require additional dependencies to function. You may specify these as "extras" to be installed by the Python package manager.

The following extras are available:

Extra Description
gtk The GTK interface.
qt The Qt interface.
curses The curses-based TUI.
ui All user interfaces.
trackers All tracker libraries.
discord_rpc Set your watching activity in Discord.
twitter Announce your watching activity on Twitter.

If you want to install any of the extras be sure to specify them during installation:

pip

# With pip
$ pip3 install Trackma[gtk,trackers,curses]
$ pip3 install Trackma[ui,twitter,discord_rpc]

Note that pip does not have a way to install all available extras, so you'll have to provide them all manually if desired.

Then you can run the program with the interface you like.

$ trackma
$ trackma-curses
$ trackma-gtk
$ trackma-qt

poetry

When using poetry on the cloned repository (see above), you can install your desired extras as follows:

$ poetry install -E gtk -E trackers -E curses
$ poetry install -E ui -E twitter -E discord_rpc
$ poetry install --all-extras

Then you can run the interface you like in your virtual environment managed by poetry:

$ poetry run trackma
$ poetry run trackma-curses
$ poetry run trackma-gtk
$ poetry run trackma-qt

Configuration

A configuration file will be created in ~/.config/trackma/config.json, make sure to fill in the directory where you store your video files and other settings. Details about what each option does can be done here:

https://github.com/z411/trackma/wiki/Configuration-File

Alternatively, the GTK and Qt interfaces provide a visual Settings panel.

Development

The code is hosted as a git repository on GitHub.

Clone the repo and create the virtual environment using poetry:

$ git clone --recursive https://github.com/z411/trackma.git
$ cd trackma
$ poetry install --all-extras
$ poetry shell

Use the above commands from the poetry section for how to run your desired interface.

If you encounter any problems or have anything to suggest, please don't hesitate to submit an issue in the GitHub issue tracker.

License

Trackma is licensed under the GPLv3 license, please see LICENSE for details.

Authors

Trackma was originally written by z411 z411@omaera.org. For other contributors see AUTHORS file. GTK icon designed by shuuichi.

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

trackma-0.10.3.tar.gz (239.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trackma-0.10.3-py3-none-any.whl (287.6 kB view details)

Uploaded Python 3

File details

Details for the file trackma-0.10.3.tar.gz.

File metadata

  • Download URL: trackma-0.10.3.tar.gz
  • Upload date:
  • Size: 239.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.2 Linux/6.18.5-arch1-1

File hashes

Hashes for trackma-0.10.3.tar.gz
Algorithm Hash digest
SHA256 905c806ce0ae09959b5add0bdf4e266fad07ba015b84ef1987728cf1f415690c
MD5 4e3238476704d526a9fb7c719a9272e9
BLAKE2b-256 aaf85d308e6d48caaceced8ff35f46bf3b6cc7f23fc9322f5f096d572e0f51dd

See more details on using hashes here.

File details

Details for the file trackma-0.10.3-py3-none-any.whl.

File metadata

  • Download URL: trackma-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 287.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.2 Linux/6.18.5-arch1-1

File hashes

Hashes for trackma-0.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6026745bb7ebd2b7459b550ec4e59baa48e3de8ca8ae0610b833708c993cb9ca
MD5 36ad0533d5f94a1adf07cc1c8fd61a02
BLAKE2b-256 682cd05518200a1d0aa0d518864c7678879e5f3017174fa4c0053dc2afdba9a3

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