AniDB-mv
AniDB-mv, or amv for short, is a command line client for AniDB. It is
similar to the standard mv command in Unix, but in addition to moving
the files, it also tries to register them at AniDB. If a file isn't
found at AniDB, information about it is saved in a local database.
Run amv-db retry later to attempt to register those files again, or
pass -R/--retry-unregistered to amv to retry them as part of the
next move.
The project consists of two commands: amv and amv-db. amv is the command
for moving files (or for registering them without moving them), and amv-db
is the command used for handling the files that failed to get registered.
Prerequisites
Python 3.10+
Installing
Install it with pip:
python -m pip install anidb-mv
This installs the required pycryptodomex dependency for ED2K hashing.
For an isolated CLI install, use pipx:
pipx install anidb-mv
Or install the local checkout:
python -m pip install .
To build a wheel and install the built package locally:
python -m pip install build
python -m build
python -m pip install --user dist/anidb_mv-*.whl
Development
Set up a local development environment with:
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .[dev]
Run the test suite with:
pytest -q
Run ruff with:
ruff check
ruff format --check
Changelog
See CHANGELOG.md. Note that 1.0.0 contains breaking changes if you are coming from 0.1.
Examples of Usage
-
To move files and register them at AniDB:
amv file1.mkv file2.mkv /my/files/ -
To move a directory and register all files in it:
amv mydir /my/files -
To register a file without moving it:
amv -n file.mkv -
To list files that failed to get registered:
amv-db list -
To clear files that failed to get registered:
amv-db clear -
To retry registering files saved in the database:
amv-db retry -
To retry registering during a move:
amv -R file1.mkv /my/files/ -
To replace a file with a better release while keeping the original watch date and flags:
amv -r /downloads/new.mkv /anime/old.mkv. The arguments are inmv's order: the new file first, then the one it replaces. The new file is registered, the old one is dropped from MyList (or from the database, if it never got registered), and the new file is moved into the old one's place.
Metadata
Release files for anidb-mv 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| anidb_mv-1.0.0.tar.gz | 36.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| anidb_mv-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.9 kB
Release files / anidb_mv-1.0.0.tar.gz
| Download URL | anidb_mv-1.0.0.tar.gz |
|---|---|
| Size | 36.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
974b8a5e21df7af3023963d7a9ac97d025aab13e6278998a71058cc5482abe23
|
|
BLAKE2b-256 checksum How to use checksums |
28397d3bef54dff36c13b860f4a9c8a842f5f6e0a04b7fb072247e1ad7f01a5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / anidb_mv-1.0.0-py3-none-any.whl
| Download URL | anidb_mv-1.0.0-py3-none-any.whl |
|---|---|
| Size | 26.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3200b5d0798b2746f64423d0b20087fdfac04329780ae45dd2982cc0bd96ffa
|
|
BLAKE2b-256 checksum How to use checksums |
218f6e7412456ff01841ebe368f5b30d094ea7e08628a2a11733ac4cee960559
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency log