All Projects → ryukinix → Mal

ryukinix / Mal

Licence: other
MAL: A MyAnimeList Command Line Interface [BROKEN: BLAME MyAnimeList]

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mal

Search Engine Parser
Lightweight package to query popular search engines and scrape for result titles, links and descriptions
Stars: ✭ 216 (+107.69%)
Mutual labels:  cli, anime, pypi
Asus Fan Control
🌀 Fan control for ASUS devices running Linux.
Stars: ✭ 120 (+15.38%)
Mutual labels:  cli, archlinux, aur
Shukofukurou
Native AniList, Kitsu, and MyAnimeList Tracker for macOS written in Objective-C
Stars: ✭ 39 (-62.5%)
Mutual labels:  anime, myanimelist
Nls
Missing inspector for npm packages.
Stars: ✭ 44 (-57.69%)
Mutual labels:  cli, list
Anyme
Unofficial Android Anime App for MyAnimeList
Stars: ✭ 1,038 (+898.08%)
Mutual labels:  anime, myanimelist
Github Trending Cli
A Python package which lists trending repositories and developers from Github
Stars: ✭ 15 (-85.58%)
Mutual labels:  cli, pypi
Horrible Downloader
horriblesubs.info python API and CLI
Stars: ✭ 28 (-73.08%)
Mutual labels:  cli, anime
Lexicon
Manipulate DNS records on various DNS providers in a standardized way.
Stars: ✭ 1,028 (+888.46%)
Mutual labels:  cli, pypi
Git Repo
Git-Repo: CLI utility to manage git services from your workspace
Stars: ✭ 818 (+686.54%)
Mutual labels:  cli, pypi
Pypistats
Command-line interface to PyPI Stats API to get download stats for Python packages
Stars: ✭ 86 (-17.31%)
Mutual labels:  cli, pypi
Pidtree
🚸 Cross platform children list of a PID.
Stars: ✭ 76 (-26.92%)
Mutual labels:  cli, list
Aurdroid
Android AUR [Arch Linux user Repository] packages browser
Stars: ✭ 88 (-15.38%)
Mutual labels:  archlinux, aur
Railgun
An extension of the MyAnimeList API.
Stars: ✭ 8 (-92.31%)
Mutual labels:  anime, myanimelist
Quickmyanimelist
[Abandoned] The dream Chrome Extension for you with a MyAnimeList account.
Stars: ✭ 6 (-94.23%)
Mutual labels:  anime, myanimelist
Aur Out Of Date
Determines out-of-date AUR packages w.r.t. upstream version
Stars: ✭ 33 (-68.27%)
Mutual labels:  archlinux, aur
Pacaur
[unmaintained] An AUR helper that minimizes user interaction
Stars: ✭ 818 (+686.54%)
Mutual labels:  archlinux, aur
Moelist
Another unofficial Android MAL client
Stars: ✭ 45 (-56.73%)
Mutual labels:  anime, myanimelist
Awesome Git Addons
😎 A curated list of add-ons that extend/enhance the git CLI.
Stars: ✭ 1,313 (+1162.5%)
Mutual labels:  cli, list
Trizen
Lightweight AUR Package Manager
Stars: ✭ 696 (+569.23%)
Mutual labels:  archlinux, aur
Yay
Yet another Yogurt - An AUR Helper written in Go
Stars: ✭ 7,100 (+6726.92%)
Mutual labels:  archlinux, aur

mal - MyAnimeList Command Line Interface

Build Status codecov PyPi version Requirements Status PyPi License PyPI pyversions PyPI status HitCount

Description

mal is a command-line client for MyAnimeList, via the official API.

One of the major design goals of this project is to avoid the use of web-scraping, which means it should work indefinitely. Other projects that scrape the website tend to break whenever MyAnimeList has an update, rarely ever recovering from the needed maintenance as a result.

Development is currently in alpha. New ideas are welcome! But please check CONTRIBUTING.md before you submit that pull request.

This project is an unofficial fork of pushrax/mal, which seems to have fallen out of maintenance.

Features

  • Search your anime list.
  • Fetch your anime list.
  • List animes by their status (e.g. watching).
  • Increment or decrement episode watch count.
  • Add anime to your Plan To Watch list.
  • Edit anime metadata (currently tags, status and score) using your favorite text editor.
  • Print your MAL stats! Just like you do on MyAnimeList.

More features are currently being developed!

If you have a suggestion for a new feature, a bug to report or something else, you can submit an issue.

Please note that as this project is still in alpha development, pretty much everything is subject to change.

TL;DR | Demos

Main Usage

Listing Animes By Status

Requirements

See requirements.txt for detailed version information.

Installation

Preface

Ensure that you are using Python 3 before attempting to install.

It's common for systems to have both Python 2 and 3, so if necessary, use pip3 or python3 -m pip.

If your system has both python2 and python3, replace all instances of python and pip with python3 and pip3 (or python3 -m pip).

Install via pip

From the command line, run:

$ pip install --user mal

This will install the latest stable build of mal from the PyPi repository.

Manual Installation

If you want the absolute latest, bleeding-edge version, you'll have to install manually.

Clone this project and run pip:

$ git clone https://github.com/ryukinix/mal
$ cd mal
$ sudo pip install --user .

Note: If installing in a virtualenv, the sudo is not necessary.

It's also possible to install with the makefile (sudo make install) and the setup script (sudo python3 ./setup.py install), but we strongly recommend pip, as it tracks dependencies, and can uninstall. It is a package manager, after all.

Finally, if you want to update after having already installed, you can do this:

$ git pull origin master
$ sudo pip install --user .

On Arch Linux

This project has been packaged and uploaded to the AUR as python-mal-git in case you're using Arch Linux or a similar distro (like Manjaro).

Troubleshooting

If you just can't get mal to run because it's crashing upon startup, make sure that everything is using python3

$ head -1 $(which mal)
#!/usr/bin/python
$ sudo ed $(which mal) <<< $'1s/python$/python3\nwq'
28
#!/usr/bin/python3
29
$ head -1 $(which mal)
#!/usr/bin/python3

You might have to go through a few files to get it to work, but usually, editing the launcher is enough. Failing that, delete the launcher, re-clone the repo, and try again in a virtualenv. If it works there, be careful to follow the above steps and make sure you're using python3 for everything.

Usage

Authenticating

For some reason, the MAL API requires a username and password for most actions... including searching the main database. Thus, mal needs your MAL login to be useful. To prevent this from being a headache, mal stores your credentials in your OS's default config path (e.g. ~/.config/mal/myanimelist.ini for Linux). Your username and password are stored unencrypted in plain text in that file. If you haven't already authenticated (mal login), the program will ask for your credentials when needed.

Currently, there is an open issue hoping to resolve the whole "plain text password" kerfuffle.

The format of myanimelist.ini is as follows:

[mal]
username = your_username
password = your_password

Using The Interface

When mal is executed without any arguments, a help message is displayed:

$ mal
usage: mal [-h] [-v]
           {search,filter,increase,inc,decrease,dec,login,list,config,drop,stats,add,edit}
           ...

MyAnimeList command line client.

positional arguments:
  {search,filter,increase,inc,decrease,dec,login,list,config,drop,stats,add,edit}
                        commands
    search              search an anime
    filter              find anime in users list
    increase (inc)      increase anime's watched episodes by one
    decrease (dec)      decrease anime's watched episodes by one
    login               save login credentials
    list                list animes
    config              Print current config file and its path
    drop                Put a selected anime on drop list
    stats               Show anime watch stats
    add                 add an anime to the list
    edit                edit entry

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show the version of mal

You can also use the -h or --help options with mal or any of its subcommands to see specific help messages.

$ mal list -h
usage: mal list [-h] [--extend] [--user USER] [section]

positional arguments:
  section      section to display, can be one of: [all, watching, completed,
               on hold, dropped, plan to watch, rewatching] (default: all)

optional arguments:
  -h, --help   show this help message and exit
  --extend     display extra info such as start/finish dates and tags
  --user USER  choose which users list to show

Contributing

See CONTRIBUTING.md

License

GPLv3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].