id = "animdl"
name = "animdl"
homepage = "https://github.com/justfoolingaround/animdl"
description = "Anime downloader and streamer for the terminal."
executables = ["animdl"]
[dotfiles]
paths = ["[configHome]/animdl/config.yml"]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Download anime"
description = "Download episodes of an anime found by query. Logging options and Internet Download Manager are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["download"]
label = "Download episodes"
[[commands.subcommand.source]]
id = "source"
kind = "help"
url = "https://github.com/justfoolingaround/animdl/blob/master/animdl/core/cli/helpers/decorators.py"
revision = "2026-10-27"
evidence = """
@click.command(name="download", help="Download your favorite anime by query.")
range_args=("-r", "--range"),
quality_args=("-q", "--quality"),
special_args=("-s", "--special"),
help="Select ranges of anime.",
help="Special range selection.",
help="Use quality strings.",
index_args=("--index",),
help="Index for the auto flag.",
download_dir_args=("-d", "--download-dir"),
help="Download directory for downloads.",
"""
[[commands.subcommand.field]]
id = "query"
label = "Anime name"
type = "string"
position = 0
min = 1
sources = ["source"]
[[commands.subcommand.field]]
id = "range"
label = "Episode range"
description = "Select ranges of anime, for example 1:5."
type = "string"
option = ["--range", "-r"]
sources = ["source"]
[[commands.subcommand.field]]
id = "quality"
label = "Quality"
description = "Use quality strings."
type = "string"
option = ["--quality", "-q"]
sources = ["source"]
[[commands.subcommand.field]]
id = "special"
label = "Special range"
description = "Special range selection."
type = "string"
option = ["--special", "-s"]
sources = ["source"]
[[commands.subcommand.field]]
id = "index"
label = "Auto-pick result index"
description = "Index for the auto flag."
type = "integer"
option = ["--index"]
sources = ["source"]
[[commands.subcommand.field]]
id = "download_dir"
label = "Download directory"
type = "path"
path = { kind = "directory", role = "output" }
option = ["--download-dir", "-d"]
sources = ["source"]
[[commands.subcommand.task]]
id = "download"
label = "Download an anime"
fields = ["query", "range", "quality", "download_dir"]
required = ["query"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["query", "range", "quality", "download_dir"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["special", "index"]