Manage your music/audio collections.
Project description
Arkive
Manage your music/audio collections.
1. Installation
A package with the same name is available in pypi
$ pip install --user arkive
This package has been tested mainly on Windows 10 and Linux (Fedora 35), but it should work on all platforms since it only makes use of cross-platform libraries. You may need to use "pip3", "python3 -m pip" or "python -m" when running on other platforms, or different Python setups.
You can also use pipx to only make use of the cli app.
$ pipx install arkive
2. General usage
$ arkive -h
usage: arkive [-h] [-V] <command> ...
optional arguments:
-h, --help show this help message and exit
-V, --version show program's version number and exit
commands:
<command>
show display actions collection inside a given folder.
flat flatten actions files inside a given folder.
nest nesting actions files inside a given folder.
As explained above, you can use one of 3 commands: show, flat and nest, and finally a positional argument indicating a folder path.
show
It will traverse the folders inside the given path and display a table of all the existing (with compatible audio formats) files, showing artist, album and title.
$ arkive show ~/Music
flat
The application will traverse all the subfolders and move the music files up to the given folder while changing their name. The new name given to each file will be a concatenation of its artist, album and title.
e.g. .../folder/subfolder/myfile.mp3 -> .../folder/artist - album - title.mp3
Note: the new name will be sanitized to make sure the result is a valid filename.
$ arkive flat ~/Music
nest
The application will traverse all the subfolders and move the music files up to the given folder while renaming name organizing them in new subfolders. The names given to each file and folder structures will result from taking the artist and album names for the folders, and track title for its name.
e.g. .../folder/subfolder/myfile.mp3 -> .../folder/artist/album/title.mp3
Note: the new names for each file and folder will be sanitized to make sure the result is a valid file/directory.
$ arkive nest ~/Music
Destination folder
An optional argument "-o/-output" may be used to change the destination directory for the audio files.
3. Web storage support (Experimental)
Additionally, arkive includes support for web storage with the same commands shown above. As of now, only pcloud service is supported but other may be included in the future. To use a command with your pcloud account, pass the "--cloud" flag followed by the name if the services (e.g. pcloud), and then your user credentials.
$ arkive show "/My Music" --cloud pcloud --username <USERNAME> --password <PASSWORD>
4. Side-effects
This implementation includes a "cleanup" procedure which removes empty sub-folders from the origin directory. This is a personal decision due to its convenience, but it may be changed in the near future to remove them only under explicit indication.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file arkive-0.3.1.tar.gz
.
File metadata
- Download URL: arkive-0.3.1.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.16.18-200.fc35.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4909775b973102b2285350e4feb896b56dc069da8c7bc1f08e556cc4dc5ae304 |
|
MD5 | 220ea2514bf550988c1cdb9b98445dd9 |
|
BLAKE2b-256 | 341a9ef27ea3531462f8fe68ec8f5134194491e232b14c53412bea36ca9e1d5d |
File details
Details for the file arkive-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: arkive-0.3.1-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.16.18-200.fc35.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627f93801daaf59e91c84e7a5bab39f6e21a983106a2b7d716d2cd590fcab283 |
|
MD5 | 4fdf7c12908efe754ad03c0ac76df1b5 |
|
BLAKE2b-256 | e33f0983a24b8f446f973c466de6b9fb771cee2151ff9b762514d3b9133da975 |