ani-l

Crates.ioani-l
lib.rsani-l
version0.3.5
created_at2025-12-31 13:27:40.569436+00
updated_at2026-01-02 09:10:50.998639+00
descriptionA terminal-based anime library and streamer.
homepagehttps://github.com/komposer-aml/ani-l
repositoryhttps://github.com/komposer-aml/ani-l
max_upload_size
id2014681
size270,912
Albert Medrano-Lopez (komposer-aml)

documentation

README

ani-l

GitHub Repo stars Crates.io Crates.io Total Downloads License: LGPL-2.1 Rust CI

ani-l is a terminal-based anime library and streamer inspired by viu-media/viu.

It allows you to browse, search, and stream anime directly from your terminal using a TUI (Text User Interface) or CLI commands.

Discord Server Invite

[!IMPORTANT] This project scrapes public-facing websites for its streaming / downloading capabilities and primarily acts as an anilist, jikan and many other media apis tui client. The developer(s) of this application have no affiliation with these content providers. This application hosts zero content and is intended for educational and personal use only. Use at your own risk.

Read the Full Disclaimer

✨ Features

  • 🖥️ TUI Interface: A clean, keyboard-driven interface built with ratatui.
  • 🔍 Search: Query the AniList API for anime metadata.
  • 📺 Streaming: Stream episodes directly from sources like AllAnime.
  • 💾 Library Management: Track your watch progress.

📦 Installation

🛠️ Prerequisites

Installing Rust

  • MacOS/Linux: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

  • Windows: Use rustup

Installing mpv

You must have mpv installed on your system. ani-l delegates video playback to it.

  • macOS: brew install mpv
  • Linux (Debian/Ubuntu): sudo apt install mpv
  • Windows: Download mpv and ensure it is in your System PATH.

Option A: Install from Crates.io (Recommended)

cargo install ani-l

Option B: Build from Source

Clone the repository:

git clone [https://github.com/komposer-aml/ani-l.git](https://github.com/komposer-aml/ani-l.git)
cd ani-l

Build and install:

cargo install --path .

🚀 Usage

TUI Mode (Default)

Simply run the command to enter the interactive interface:

ani-l

Keybindings

Key Action
/ Focus Search Bar
Enter Select / Search
j / Down Move Down
k / Up Move Up
J / PgDn Jump Down (10 items)
K / PgUp Jump Up (10 items)
Esc / Backspace Go Back / Cancel
q Quit (from Main Menu)

CLI Commands

You can also use ani-l directly from the command line without the TUI. Search for an Anime:

ani-l search query --text "Naruto"

View Trending Anime:

ani-l search trending --page 1

Play a specific URL:

ani-l play --url "[https://example.com/video.mp4](https://example.com/video.mp4)" --title "My Video"

Watch a specific episode (CLI Stream):

# Searches and attempts to stream Episode 1 automatically
ani-l watch --query "One Piece" --episode 1

⚙️ Configuration

ani-l stores configuration files in your system's standard config directory:

• Linux: ~/.config/ani-l/config.toml

• macOS: ~/Library/Application Support/com.sleepy-foundry.ani-l/config.toml

• Windows: C:\Users\You\AppData\Roaming\sleepy-foundry\ani-l\config.toml

Example config.toml:

[general]
provider = "allanime"

[stream]
player = "mpv"
quality = "1080"
translation_type = "sub"
episode_complete_at = 85

👾 Contribution Guide

Contributions are welcome!

  1. Fork the repository.
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/ani-l.git
  3. Create a new Branch: git checkout -b type/issue_id-short_description
  4. Commit your changes: git commit -m 'feat(scope): Added some amazing feature'
  5. Push to the branch: git push origin feat/123-amazing-feature
  6. Open a Pull Request.

Development Guidelines

  • Ensure your code is formatted: cargo fmt
  • Check for lints: cargo clippy
  • Run tests: cargo test

📄 License

This project is licensed under the LGPL-2.1 License.

Commit count: 0

cargo fmt