Skip to main content

Arranges a set of songs in groups with similar total play time.

Project description

arrangio

Arranges a set of songs in groups with similar total play time.

Synopsis

This tool will try to arrange a set of songs into subsets of songs (groups) whose total play time will be the most sililar possible.

Prerequisites

Python, version 3.8 or above, needs to be installed on your local computer.

Python 3.x

Python version 3.8 or above is required for the tool to work. Python setup can be found here.

Installation

The simplest way to install this tool is using pip:

pip3 install arrangio

Usage

A simple example of how to use this tool:

arrangio --groups 2 --song song01:3m24s --song song02:4m01s  --song song03:1m47s

List of all the options:

usage: arrangio [-h] [-g [NUM]] [-q] -s LABEL:HHhMMmSSs [LABEL:HHhMMmSSs ...] [-v]

options:
  -h, --help            show this help message and exit
  -g [NUM], --groups [NUM]
                        number of groups to create (default: 2)
  -q, --quiet           quiet mode (default: False)
  -s LABEL:HHhMMmSSs [LABEL:HHhMMmSSs ...], --song LABEL:HHhMMmSSs [LABEL:HHhMMmSSs ...]
                        song information (e.g.: song01:00h03m27s) (default: None)
  -v, --version         show program's version number and exit

Build (from source)

just is used to automate several steps of the development process.

All of the commands described bellow are to be executed on the root folder of this project.

A development environment can be created using the following command:

just init

To build a Python package for this library use the following command:

just build

After this you should have a wheel file (*.whl) inside a folder called dist.

The library can be install using the wheel file and pip3:

pip3 --quiet install dist/arrangio-*.whl

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Please read the CONTRIBUTING.md file for more details on how to contribute to this project.

Versioning

This project uses SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Frederico Martins - fscm

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arrangio-0.5.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

arrangio-0.5.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file arrangio-0.5.1.tar.gz.

File metadata

  • Download URL: arrangio-0.5.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for arrangio-0.5.1.tar.gz
Algorithm Hash digest
SHA256 742ef681832873ce456d1698017535cae07696171cac9bb65a17b6d4afff4456
MD5 d9ddb3c4e0e0e9b0e84571f7bef3fc98
BLAKE2b-256 ba078a58f43b61a9de2c04b1d5b7be642a23b673a5de0a15b677154ae7158720

See more details on using hashes here.

File details

Details for the file arrangio-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: arrangio-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for arrangio-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 57110130edcf8f8bc2d62dd49820cd2ebb052a1f5bf045fff17b9ab600e18803
MD5 493838cf70f722b1ef9585c6acc7e664
BLAKE2b-256 f4426878a4e2d50bdfb3d2bc376db124447f0db78f45611665d4f14e7fdebc3b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page