Open multi-site list manager for Unix-like systems. (ex-wMAL)

Overview

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 mediatypes (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 dependency to run Trackma is:

  • Python 3.4/3.5
  • python3-pip (to install through pip) or python3-setuptools (to install through setup.py)

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 PyQt5 (python-pyqt5) or PyQt4 (python-qt4)
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. dbus-python
Win32 Recognition for Windows platforms. None

Additional optional dependencies:

  • PIL (python3-pil) - for showing preview images in the Qt/GTK interfaces.

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

Or download the source code and install:

# git clone --recursive https://github.com/z411/trackma.git
# cd trackma
# sudo python3 setup.py install

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

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

Trackma also has user-provided packages for several distributions.

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

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 in github:

http://github.com/z411/trackma

If you plan to make changes to the code, I suggest using the following method to install Trackma instead of the normal way, so the changes you make get reflected immediately:

# python3 setup.py develop

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

http://github.com/z411/trackma/issues

License

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

Authors

Trackma was originally written by z411 [email protected]. For other contributors see AUTHORS file. GTK icon designed by shuuichi.

Issues
  • Python3

    Python3

    I am porting Trackma to Python 3 (#120) and I came to point where I need guidance before I continue.

    What seems to work so far and passed superficial tests:

    • MAL
    • Curses
    • CLI
    • QT

    What hasn't been tested:

    • Anything but MAL

    Plus there's a controversy around GTK, which is the reason why I'm presenting this in early and unfinished form.

    Seemingly to use GTK in Py3 one needs to use PyGI, as PyGTK for Python 3 never happened. However, there are some rough edges around GTK2 support in PyGI:

    • Stocks seem to be unimplemented?
    • Gtk.Menu has no .popup method (but it has it in GTK3)
    • Gdk has no SELECTION_CLIPBOARD which makes us need to pass magic constants to Gtk.Clipboard.get()
    • Pretty sure more would show up if I persisted

    Those are pretty serious flaws. Now I'm not sure if we want to cater for GTK2 and start doing weird hacks, or just go along with GTK3.

    opened by rr- 38
  • Play and episode recognition?

    Play and episode recognition?

    Although the program is quite intuitive I feel like I've missed something important as I tried to use the "play" button beside the episode count in gtk gui and received a "Episode file not found." message. Is there a config I'm supposed to edit the location of my anime in, or set a media player? http://z411.github.com/wmal-python/ also talks about "Detection of running media player, updates list if necessary" but the program didn't react when I played the latest episode of Mangirl in mplayer.

    bug feature request ui:gtk 
    opened by IDex 38
  • AniList API v1 shutdown - Migration to v2

    AniList API v1 shutdown - Migration to v2

    AniList API v1 was given 6 months before it was meant to be shut down after API v2 went stable. I made a few announcements about this and sent out emails to developers who had registered API v1 clients.

    It looks like trackma is still using API v1, which was meant to be shut down on May 1st, due to some issues on AniList's part, API v1 is still running, though will likely only up for another 2 weeks or so, as the majority of applications have already migrated to v2.

    Super sorry if you didn't hear about all this, as this would be super short notice.

    Api v2 docs can be found here, if you check the migration folder theres a number of queries that aim to replicate v1's rest call data set, so hopefully they help with the possible migration.

    api:anilist 
    opened by joshstar 35
  • Timer still counts down even if paused + MPRIS

    Timer still counts down even if paused + MPRIS

    I started an episode earlier but two minutes in I had to go brb so I paused and didn't resume watching for several hours, yet it proceeded to update the episode as watched even though it had recognized (using tracker command) that it was paused.

    feature request tracker:mpris 
    opened by Soitora 30
  • Regex improvements

    Regex improvements

    (This is not meant as a request, more like a discussion about a possible improvement)

    The current regex search (engine._search_video and utils.regex_find_file) is quite limited. Recent improvements work around adjusting the regex for special cases, though this might be a never ending story.

    Additionally, this (the searchfile.replace stuff) only works in "one direction", i.e. when there are superfluous characters within the MAL episode name. Dealing with such things on the other side (the file names on your local disk) would require a transformation of each file name which might increase the search time.

    Another issue is the requirement of a perfect match (well, basically), where a greedy/partial approach might be better. But then you run into the issue: which partial match is the best one?

    Examples:

    | MAL name | File name | Issue | | --- | --- | --- | | M3: Sono Kuroki Hagane | M3 - Sono Kuroki Hagane | You can deal with the : but not with the additional - without transforming every file name | | Mangaka-san to Assistant-san to The Animation | Mangaka-san to Assistant-san to | A greedy/partial match would work | | Ryuugajou Nanana no Maizoukin (TV) | Ryuugajou Nanana no Maizoukin | Same as above |

    (I omitted file name suffixes)

    Which way to go? Further improving the regex and maybe applying some transformations for every file name found or < insert something better/new here >?

    feature request engine 
    opened by Argon- 28
  • Tracker doesn't update progress

    Tracker doesn't update progress

    Since the latest release (0.7), the tracker won't automatically update progress. This is especially strange since it worked fine in 0.6.2 and even shows a notification, "now playing episode 9, will update in 120 seconds", but then doesn't actually update it.

    bug 
    opened by clavinet 27
  • Hummingbird is now Kitsu

    Hummingbird is now Kitsu

    Kitsu

    It also brings along a new API following the JSON API spec with full manga support.

    I haven't yet find the API documentation, but Taiga seems to have begin the change: https://github.com/erengy/taiga/issues/341

    api 
    opened by Kcchouette 23
  • [Feature request] Anime relations

    [Feature request] Anime relations

    Sorry for the mess of a title

    Here's the issue:

    • Aikatsu Friends! finished at 50 episodes
    • Second season has a new name: Aikatsu Friends!: Kagayaki no Jewel
    • However, the show releases simply continues it as Aikatsu Friends! ep 51 ...
    • Tracker cannot find and play the episodes

    Taiga was able to handle this no problems, no clue how they handled it however. This is annoying because that means that the tracker cannot find the episode, thus cannot play it and has to be done manually, also to then have to update it manually, that or rewrite the episode's name every time which makes it super inconvenient

    Plus, this is far from the rare releases that does this. Lots of sequels, and especially from HorribleSubs IIRC, does this

    Meanwhile, any already existing features exists where I could get around this?

    Thanks!

    Edit: Otherwise good work, been using Trackma ever since I switched from Windows to Linux and haven't had any other issues. Thank you

    recognition 
    opened by coolboymew2 20
  • Tracma-gtk not opening

    Tracma-gtk not opening

    I have set up some settings for trackma-gtk and once I closed it I couldnt open it again. I get this: Engine: Can't auto-scan library: Operation not supported by current site or mediatype. /home/szarcsak/.local/lib/python3.5/site-packages/trackma/ui/gtkui.py:82: Warning: value "1427" of type 'gint' is invalid or out of range for property 'subvalue' of type 'gint' Gtk.main() /home/szarcsak/.local/lib/python3.5/site-packages/trackma/ui/gtkui.py:82: Warning: value "1014" of type 'gint' is invalid or out of range for property 'subvalue' of type 'gint' Gtk.main() Can somebody tell me how to fix this, I now know that some functions are net ready yet, so if I could just somehow restore the default setting, that will do!

    bug 
    opened by Szarcsak 17
  • Non-Linux systems?

    Non-Linux systems?

    There's no procfs on OSX and afaik not on Windows either. procfs is not even available on every UNIX system, deprecated on e.g. FreeBSD. What are they supposed to do?

    opened by Argon- 17
  • Better local file spotting / Set local files' folder manually

    Better local file spotting / Set local files' folder manually

    I've had some bad experience with the local file detection (for instance reading Eva 1.11 as Eva episodes 1, and Aria the Animation as Hamatora THE ANIMATION, CardCaptor Sakura Clear-Hen OP 2 as Movie 2, list goes on) It'd be great to either have more accurate library searching, being able to circumvent bad library searching via manually assigning a folder to a title, or both

    opened by Tvtossen 0
  • Qt: enable sorting after showlist update

    Qt: enable sorting after showlist update

    Fixes a bug where list syncing disables sorting.

    opened by molkoback 0
  • Anilist - Invalid HTTP Request

    Anilist - Invalid HTTP Request

    Tried Synchronising and Downloading my anilist today and recieved the below: Error: Invalid HTTP request: b'{"errors":[{"message":"Invalid token","status":400,"locations":[{"line":2,"column":3}]}],"data":{"MediaListCollection":null}}'

    Anime search doesn't work either. libanilist: Searching for Penguin Highway... Invalid HTTP request: b'{"errors":[{"message":"Invalid token","status":400,"locations":[{"line":1,"column":44}]}],"data":{"Page":null}}'

    Trackma GTK v0.8.4 Using Ubuntu 20.04

    opened by Baa14453 1
  • How to list filtered anime?

    How to list filtered anime?

    I'm trying to list anime that is under the plan to watch status but am not able to. I tryed using command like trackma ls plantowatch but after seeing that it doesn't support any more arguments I tried using this trackma filter plantowatch and then trackma ls but it printed me the anime under the watching status.

    So is there any way to list anime under certain category using cli?

    opened by cronyakatsuki 1
  • Readme installation of git version.

    Readme installation of git version.

    Just to make it more known you can also install the git version of trackma using command pip3 install -U git+https://github.com/z411/trackma.git if like me you need the development version but don't plan on doing any coding.

    You could also add this command so that other people can also see so that they don't have to manually download the git repo and install if they won't be doing any pull requests, while making it easy for them install the development version.

    opened by cronyakatsuki 0
  • [Request] Extra column with next episode estimated air date

    [Request] Extra column with next episode estimated air date

    On Anilist, for anime that are airing of course, it is displayed how many days, hours and minutes until the next episode airs / drops.

    image

    I think that having an extra column displaying this information would be very useful for seasonal anime watchers. (I particularly want it in the command line version, but this would be great across the board of course).

    | Index | Title | Progress | Score | Airing in |

    opened by RaitaroH 0
  • Jellyfin is not running

    Jellyfin is not running

    Trying to setup trackma to fetch from a remote jellyfin server and the app simply gives me a "Tracker (Jellyfin): Jellyfin is not running."

    all i noticed in the config is that i have this.

    "jellyfin_api_key": "", "jellyfin_apikey": "api_key", "jellyfin_host": "https://remoteserver/jellyfin", "jellyfin_port": "443", "jellyfin_user": "user",

    opened by NovaMoon 1
  • [Twitter API] Invalid consumer key/secret

    [Twitter API] Invalid consumer key/secret

    Twitter deleted trackma api creds.

    ps: I'm using creds from taiga for now :P

    opened by ahmubashshir 0
  • Invalid Score

    Invalid Score

    OS: Manjaro Linux xfce

    For anilist, it says Invalid Score when I try to update the score. Works rarely.

    image.png

    opened by cyclonejet 0
  • season folder problem

    season folder problem

    No one make different folder for different seasons of anime most of the time we make one anime folder and under it different season folder but trackma is unable to recognise it.

    opened by prinixos 0
Releases(v0.8.4)
  • v0.8.4(Nov 12, 2020)

  • v0.8.3(Nov 12, 2020)

    v0.8.3

    • New: Support for MyAnimeList's new API
    • New: Implemented Kodi tracker
    • New: Implemented Jellyfin tracker
    • Enhancement: anime-relations redirection file now gets synced periodically
    • Enhancement: (GTK) Several visual enhancements
    • Enhancement: (Qt) Several visual and behavior fixes
    • Enhancement: (Tracker) Added config to enable/disable the ignoring of episodes (tracker_ignore_not_next)
    • Enhancement: Added Open Folder support for macOS and Windows
    • Bugfix: (Shikimori) Implemented new OAuth authentication method
    • Bugfix: (Curses) Avoid crashing UI when given bad regular expression
    • Bugfix: (Anilist) Avoid crash when an entry's format or status is unknown
    • Bugfix: (Twitter hook) Bugfixes and implementing new API
    • Bugfix: (inotify Tracker) Handling crash when a process isn't found on scan
    • Bugfix: (Kitsu) Fixed score decimals
    • Bugfix: (MPRIS) Fixed issue when metadata changed but status wasn't reported
    • Bugfix: Several minor fixes and cleanups
    Source code(tar.gz)
    Source code(zip)
  • v0.8.2(May 14, 2019)

    • New: Implemented MPRIS tracker
    • New: Implemented support for Taiga-style anime-relations.txt file for proper detection of multiple seasons
    • Enhancement: Library now can scan statuses other than Watching
    • Enhancement: Now user set Alternate Titles take absolute priority over other titles
    • Enhancement: (Anilist) Support for Rewatching status
    • Enhancement: (Tracker) Implemented support for timer pausing for trackers that support it
    • Enhancement: (inotify Tracker) Tracker now detects if a player is already open when starting
    • Enhancement: (Plex tracker) Support for claimed servers
    • Enhancement: (Polling tracker) Disabled warnings
    • Enhancement: (GTK) Interface refactored and redone to utilize new GTK 3 features (WIP)
    • Enhancement: (Qt) Added options for Quick and Full library scan
    • Enhancement: (Qt) Only relevant buttons get disabled when the engine is busy
    • Bugfix: Fixed bug with search directories not getting home-expanded (~)
    • Bugfix: (Anilist) Show synonyms are now fetched (and used by the tracker) properly
    • Bugfix: (Anilist) Parsing unknown show formats and statuses
    • Bugfix: (CLI) Fixed crashes with some invalid commands
    • Bugfix: (Qt) Fixed Set Score button
    • Bugfix: (Qt) Fixed the saving of columns visibility and size
    • Bugfix: (Qt) Fixed aesthetic issues
    • Bugfix: (Qt/VNDB) Fixed Unknown status not working

    NOTE TO GIT USERS AND MAINTAINERS: Cloning Trackma now requires the --recursive flag.

    Source code(tar.gz)
    Source code(zip)
  • v0.8.1(Apr 14, 2019)

    • New: (Qt) In-line score and episode editing (Can be disabled)
    • Enhancement: (Qt) Using proper MVC, helps performance and usability of lists and filters.
    • Enhancement: (Qt) A few shortcuts (Middle-click on list to play next episode, Del key as shortcut for delete show, Double click on card view to view details)
    • Enhancement: (Anilist) Retrieving and showing studio information
    • Enhancement: (curses) Quit key now gets you out of detail view instead of closing the application
    • Bugfix: (Anilist/Qt/GTK) Fixed crash when adding a show with undefined total episodes
    • Bugfix: (VNDB) Votes without a corresponding status get added to the Unknown list
    • Bugfix: (Qt) Fixed a few crashes when adding new shows
    Source code(tar.gz)
    Source code(zip)
  • v0.8(Apr 8, 2019)

    • New: (Qt) Card view in search dialog
    • New: (Qt, Anilist) Search by season
    • New: (Anilist) Support for different score formats
    • New: Support for multiple media directories
    • New: (CLI) Non-interactive mode allowing to run single commands by command line or stdin
    • Improvement: Using XDG directory names
    • Improvement: (curses) vi-like keybindings
    • Improvement: monthly.moe hook updated for Anilist support
    • Improvement: Support for forcing the use of a specified tracker_type
    • Bugfix: (Anilist) Added Rewatching status
    • Bugfix: (Anilist) Fixed crash in Python 2.5
    • Bugfix: (Anilist) Fixed Completed list not loading when they are sent split by the server
    • Bugfix: (Qt) Fixed aesthetic bugs in add show dialog
    • Bugfix: (Qt) Fixed crash when using automatic add prompt
    • Bugfix: (Qt/GTK) Fixed crash when there's an alpha channel in thumbnails
    • Bugfix: (GTK) Fixed crash when PIL is unavailable
    • Bugfix: (Kitsu) Fixed start/end dates not being sent
    • Bugfix: Fixed tracking not getting cleaned up after account/mediatype change
    Source code(tar.gz)
    Source code(zip)
  • v0.7.6(Aug 22, 2018)

    Hotfix release

    • Bugfix: (Anilist+Qt/GTK) Fixed crash when the token was old
    • Bugfix: (Qt) Undefined dates now sort properly
    • Bugfix: (GTK) List information now shows properly in details dialog
    Source code(tar.gz)
    Source code(zip)
  • v0.7.5(Aug 21, 2018)

    • New: Switched to Anilist V2 API. You will need to re-authorize your account by editing it or re-creating it.
    • Improvement: Optional whole list scanning (Settings -> Scan through whole list)
    • Improvement: Added Open containing folder functionality
    • Improvement: Added optional full path scanning (ie. directory names are show names)
    • Improvement: (Qt) Interface now shows episode numbers on progress bar
    • Improvement: (Qt) Sorting is now remembered
    • Improvement: (curses/CLI) Default account is forgotten whenever a fatal crash occurs
    • Bugfix: Fixed crash when show had no image with Kitsu
    • Bugfix: (Tracker) Fixed crash with unrecognised shows
    • Bugfix: (Tracker) Fixed Plex crashes
    • Bugfix: (Qt) Fixed Add Dialog results sorting in
    • Bugfix: (GTK) Fixed crashes when syncing
    Source code(tar.gz)
    Source code(zip)
  • v0.7.4(Jul 2, 2017)

    • Improvement: (Flex) Added optional login functionality
    • Improvement: (curses) Added Play Random function
    • Improvement: (GTK) Added -d debug command line flag
    • Improvement: (GTK) Showing checkboxes in episode number list (Play episode)
    • Bugfix: (Qt) Fixed issue when closing with KDE 5/Qt 5
    • Bugfix: (Kitsu) Fixed issue where using e-mail instead of username wouldn't work
    • Bugfix: Fixed issue where Playing flag wasn't being cleared if show got ignored
    Source code(tar.gz)
    Source code(zip)
  • v0.7.3(Mar 27, 2017)

    • Improvement: (Qt/GTK) Resizing image to a reasonable size in show details dialog
    • Improvement: (Flex) Fixed Plex tracker to work with new Plex release (1.4.4.3495)
    • Bugfix: (PyPI) Adding missing suffix for Qt4 script
    • Bugfix: (Anilist) Fixed search issue that caused a 400 error
    Source code(tar.gz)
    Source code(zip)
  • v0.7.2(Mar 10, 2017)

    Bugfix release

    • Bugfix: (Tracker) Fixing issue when subsequent episode weren't being updated if there was an episode open before (ie. playlists)
    • Bugfix: (inotify) Fixing issue with inotify ignoring open events if an open one didn't close
    • Bugfix: (Qt) Fixing crash when attempting to create account select dialog
    Source code(tar.gz)
    Source code(zip)
  • v0.7.1(Feb 27, 2017)

    • New: (Plex tracker) Adding option to use regular custom interval instead of Plex timer
    • Improvement: Showing ? instead of 0 when total number of episodes isn't known
    • Improvement: (Kitsu) Retrieving start and end dates for shows, guessing airing status from that
    • Bugfix: (Tracker) inotify trackers were picking up file close events from unrelated programs in the system due to a mistake in procfs logic.
    • Bugfix: (Tracker) Stop attempts at updating invalid episode numbers (ie. less than 0 or more than the maximum)
    • Bugfix: (Qt) Fixed crash when trying to apply settings
    • Bugfix: (Qt) Fixed crash with Discard Queue dialog
    • Bugfix: (Qt) Fixed crash when opening the Switch Account dialog manually
    • Bugfix: (Qt) Fixing strange behavior when the total number of episodes isn't known
    • Bugfix: Fixed crash when the tracker can't update the episode
    Source code(tar.gz)
    Source code(zip)
  • v0.7(Jan 18, 2017)

    • New: Added Kitsu.io support (libkitsu, experimental!)
    • New: (Tracker) Prompt to add a show if it's not in the list
    • Improvement: (Tracker) Tracker status is now shown in a separate line in the status bar
    • Improvement: (Tracker) lsof dependency is now necessary only for the polling tracker (uses procfs for inotify)
    • Improvement: Autosend interval is now expressed in minutes rather than hours
    • Improvement: (CLI) Showing tracker status messages properly now
    • Improvement: (curses) Improved default keybinds
    • Improvement: (curses) Title bar now shows total shows in list
    • Removed: Hummingbird support (switch to Kitsu)
    • Removed: Melative support
    • Bugfix: (Tracker) Polling tracker only polls the search directory
    • Bugfix: (Tracker) Fixing "closed before update" message
    • Bugfix: (Qt) Fixed crash in some cases where thumbnail could not be downloaded
    • Bugfix: (Qt) Fixed not being able to edit tags on just added items
    • Bugfix: (curses) Fixed bug when trying to do operations on an empty list
    • Bugfix: (GTK) Fixed crash when tracker attempted to change the show status
    • Bugfix: Other minor bugfixes, cosmetic changes and code refactoring
    Source code(tar.gz)
    Source code(zip)
  • v0.6.2(Nov 1, 2016)

    • New: Play Next now uses the library instead of rescanning the directory every time
    • New: Library auto-rescanning at start
    • New: (CLI) command line options
    • New: (CLI) new altname command
    • New: (GTK) Open containing folder functionality
    • Improvement: Support for multiple hooks (~/.trackma/hooks/*.py). Please move your hook.py file into the hooks directory; you can now separate them into several files. See git's hooks directory for the modified hook files that reflect this change.
    • Improvement: Tracker now can auto add or removes files from library
    • Improvement: Now Trackma uses HTTPS wherever possible.
    • Bugfix: Using HTTPS with MAL; fixes 403 error.
    • Bugfix: Fixed gi package requirement.
    • Bugfix: Fixed search function in Anilist
    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Aug 6, 2016)

    • New: (curses) Configurable colors, multiple keybinds, hide help bar
    • Improvement: (CLI) search now works in any position of the title
    • Improvement: (CLI) search now shows correct index
    • Bugfix: (CLI) Fixed problem where commands weren't working properly
    • Bugfix: (curses) Help dialog now shows keybinds correctly
    Source code(tar.gz)
    Source code(zip)
  • v0.6(Aug 6, 2016)

  • v0.5(Jul 24, 2016)

    • New: Shikimori support
    • New: Qt5 support
    • New: User hooks (~/.trackma/hook.py)
    • Improvement: (Qt) Configurable list colors
    • Improvement: (Qt) Interface improvements
    • Improvement: (curses) Implemented sort reversal
    • Improvement: (CLI) Prompt and help overhaul
    • Bugfix: (Qt/GTK) Progress bar works for shows with no total episodes (assumes 1 cour = 26 eps)
    • Bugfix: (GTK) Fixed sensitivity of several menu items
    Source code(tar.gz)
    Source code(zip)
  • v0.4(Sep 12, 2015)

    • New: Anilist support
    • New: Plex tracker support
    • New: Implemented inotify-based tracker for instant recognition (Linux only)
    • New: Added OAuth authentication support in the engine
    • New: Added local library functionality
    • New: Added option to wait for the player to close and ask before updating
    • Improvement: (Qt/GTK) New more detailed progress bar showing available and aired episodes
    • Improvement: (Qt) Option to remember position, size and state
    • Improvement: (CLI) Added indexes to make specifying a show quicker
    • Improvement: (Qt/GTK) Added shortcuts
    • Bugfix: Fixed ocassional bug where the cache got corrupted
    • Bugfix: (Qt) Fixed problem with non-western characters in the search dialog
    • Bugfix: (MAL) Fixed situations where libmal had problems with non-gzipped responses
    • Bugfix: (MAL) Fixed an error when MAL returned an empty document
    • Bugfix: (MAL) Fixed handling of HTML entities
    • Bugfix: (Hummingbird) Working around issue with empty titles
    Source code(tar.gz)
    Source code(zip)
  • v0.3(Dec 23, 2014)

    • New: Qt interface
    • New: Hummingbird support
    • New: Using new code for media tracker (AIE)
    • New: Show details dialog
    • New: Track icon in Qt and GTK interfaces
    • New: Support for alternative titles for problematic show titles
    • Improvement: Right click context menu for GTK and alternate names
    • Improvement: Few GTK aesthetic changes
    • Improvement: CLI can now point to shows by index rather than title
    • Improvement: Decimal scores
    • Improvement: Various tracker and video search improvements
    • Improvement: Support for player arguments
    • Several minor improvements and bugfixes
    Source code(tar.gz)
    Source code(zip)
  • v0.2(Feb 14, 2014)

    First public release, there are still many things to fix and implement but it seems to be stable and usable enough.

    • New: Implemented account switching and account manager
    • New: Support for viewing show details
    • New: GTK Settings window
    • New: GTK Tray icon
    • New: Aliases and manual alternative titles
    • New: Timed autosend and autoretrieve
    • New: Basic Hummingbird support
    • Improvement: libmal now uses gzipped requests
    • Improvement: Now config files are stored in JSON
    • Improvement: Shows get colored when queued or playing
    • Improvement: Better curses interface memory management
    • Several bugfixes
    Source code(tar.gz)
    Source code(zip)
Read-only mirror of https://gitlab.gnome.org/GNOME/gparted

GPARTED ======= Gparted is the GNOME Partition Editor for creating, reorganizing, and deleting disk partitions. A hard disk is usually subdivided int

GNOME Github Mirror 179 Sep 24, 2021
Eventx

EventX What do you do when you have an event and all the event management applications available are too heavy but with little functionality to serve

Andela 20 Jun 29, 2019
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.

Über fast, backwards compatible (IE8+), tiny, and simple status page built with Hugo. Completely free with Netlify. Comes with Netlify CMS, read-only

cState 1.4k Sep 17, 2021
Open Source multi-language/multi-currency/multi-store E-commerce platform for Ruby on Rails with a modern UX, PWA frontend, REST API, GraphQL, several official extensions, and 3rd party integrations.

Spree Commerce Success Stories Documentation Integrations Spree is a complete open source e-commerce solution built with Ruby on Rails. It was started

Spree Commerce 11.4k Sep 20, 2021
Squash’s front-end and API host.

Squash: A squarish bug spray An open-source project from Square Squash is a collection of tools that help engineers find and kill bugs in their code b

null 968 Sep 9, 2021
Online genealogy

webtrees - online collaborative genealogy Contents License Coding styles and standards Introduction System requirements Internet browser compatibility

Greg Roach 582 Sep 15, 2021
retire your mouse.

keynav Control the mouse with the keyboard. Please see http://www.semicomplete.com/projects/keynav Compiling You may need some extra libraries to comp

Jordan Sissel 396 Sep 15, 2021
Workrave is a program that assists in the recovery and prevention of Repetitive Strain Injury (RSI). The program frequently alerts you to take micro-pauses, rest breaks and restricts you to your daily limit.

Workrave 1.10 Please visit https://workrave.org for more information. Install Windows: download from https://workrave.org/download Ubuntu: install wit

Rob Caelers 1k Sep 16, 2021
Make any web page a desktop application

Nativefier You want to make a native wrapper for WhatsApp Web (or any web page). nativefier 'web.whatsapp.com' You're done. Introduction Nativefier is

null 28.5k Sep 17, 2021
Mycroft Core, the Mycroft Artificial Intelligence platform.

Mycroft Mycroft is a hackable open source voice assistant. Table of Contents Getting Started Running Mycroft Using Mycroft Home Device and Account Man

Mycroft 5.3k Sep 24, 2021
Flash OS images to SD cards & USB drives, safely and easily.

Etcher Flash OS images to SD cards & USB drives, safely and easily. Etcher is a powerful OS image flasher built with web technologies to ensure flashi

balena 21.2k Sep 10, 2021
Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Windows / Mac / Linux ) A Butter-Project Fork

Popcorn Time A multi-platform, free software BitTorrent client that includes an integrated media player. Visit the project's website at popcorntime.ap

Popcorn Software 6.3k Sep 15, 2021
Display and control your Android device

scrcpy (v1.17) Read in another language This application provides display and control of Android devices connected on USB (or over TCP/IP). It does no

Genymobile 54.9k Sep 23, 2021
Self-hosted VirusTotal / MetaDefender wannabe with API, demo UI and Scanners running in Docker.

MalwareMultiScan Self-hosted VirusTotal / OPSWAT MetaDefender wannabe API for scanning URLs and files by multiple antivirus solutions. IMPORTANT: vers

Volodymyr Smirnov 237 Sep 14, 2021
Personal CRM. Remember everything about your friends, family and business relationships.

Personal Relationship Manager Monica is a great open source personal relationship management system. Introduction Purpose Features Who is it for? What

Monica 13.3k Sep 24, 2021
Mobile Shell

Mosh: the mobile shell Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local e

Mosh (mobile shell) 10.3k Sep 17, 2021
Create multiboot live Linux on a USB disk...

Only limited instructions are provided here. For detailed instruction please refer User guide What is multibootusb? MultiBootUSB is a cross platform*

multibootusb 1.1k Sep 17, 2021
Multi-platform app that allows your devices to communicate

KDE Connect - desktop app KDE Connect is a multi-platform app that allows your devices to communicate (eg: your phone and your computer). (Some) Featu

KDE GitHub Mirror 1.2k Sep 15, 2021
Skygear - an open source serverless platform for modern secure app development

Next is the V2 of Skygear that aim to follow Support multi tenant at core, make cloud deploy scalable at first day. Simplify deployment. Give back app

SkygearIO 390 Aug 26, 2021