Tuatara is a text-mode music player.
Project description
tuatara
tuatara is a text-mode music player, written in Python.
Description
tuatara plays local music files. It can play single files, or play an entire music library.
Features
- Simple keyboard controls
- Shuffle mode
- Basic playlist support via .m3u files
- Integrated cover art display
- Dynamic background color
- Visualization support
tuatara is not intended for interactive browsing of your library; tell it what to play, and it plays it.
Screenshot
Usage
To start with tuatara, just pass a file, directory of music files, or a URL on the commandline.
Example:
tuatara /path/to/my/music/library /path/to/some/other/files
You can pass multiple files or directories to play on the command line.
Controls
tuatara is controlled by the keyboard. Basic keys are:
- Space bar: toggle Play/Pause
- 'p', PageUp: Previous track
- 'n', PageDown: Next track
- 'm': Toggle mute
- 'h', '?': Show full keybindings
- 'q': Quit
Controls are not case-sensitive.
For more comprehensive documentation on features, usage, controls, and configuration, see the manual.
Requirements and installation
System requirements:
- Python >= 3.11
- GStreamer (with appropriate plugins)
- GObject-introspection
Python requirements:
- PyGObject
- Pillow
- urllib3
- m3u8
- blessed
tuatara can be installed from PyPI, or from the Releases page on GitHub.
To install from Pypi, run:
pip install tuatara
tuatara is only tested on Linux. macOS or Windows may theoretically work.
Development
When submitting changes:
- Please add tests in tests/ if it is a testable change
- Ensure code passes both lint and formatting with
ruff(https://docs.astral.sh/ruff/)
License & Credits
tuatara is licensed under the GPL, version 3.0 or later.
Python ASCII art implementation inspired and cribbed from ascii-wizard and artem.
Why 'tuatara'?
The tuatara is a reptile, native to New Zealand. It is the sole surviving member of the Rhynchocephalia order; its lineage split from modern snakes and lizards well over 200 million years ago.
Hence, despite existing to this day, it appears to be a relic of a far bygone era. Much like this software.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tuatara-0.6.2.tar.gz.
File metadata
- Download URL: tuatara-0.6.2.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1da191b7ccb429915bb2889528045ea45c640b8c7fe4a0b501c4bf97ce5ae8a6
|
|
| MD5 |
cd2635fc83ae2501589e776841948c36
|
|
| BLAKE2b-256 |
6db6aac8d8b97f5e953018ac424f560d7785f1938e3f47ee50e0003491e7ac77
|
Provenance
The following attestation bundles were made for tuatara-0.6.2.tar.gz:
Publisher:
release.yml on wenottingham/tuatara
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tuatara-0.6.2.tar.gz -
Subject digest:
1da191b7ccb429915bb2889528045ea45c640b8c7fe4a0b501c4bf97ce5ae8a6 - Sigstore transparency entry: 742527969
- Sigstore integration time:
-
Permalink:
wenottingham/tuatara@c2380c0956caebc97db545ef6013dc4af261620d -
Branch / Tag:
refs/tags/v0.6.2 - Owner: https://github.com/wenottingham
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c2380c0956caebc97db545ef6013dc4af261620d -
Trigger Event:
push
-
Statement type:
File details
Details for the file tuatara-0.6.2-py3-none-any.whl.
File metadata
- Download URL: tuatara-0.6.2-py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e695bac7cbe9c4cd8a840996ce603d8303e7b4e25d093c55502bb5e97bae638c
|
|
| MD5 |
a71d9edccb7c36d54324451aeec05b9c
|
|
| BLAKE2b-256 |
58d4c7ec7c445c34d81951fc87b64d7a127be13c36a158339703c739cda427ae
|
Provenance
The following attestation bundles were made for tuatara-0.6.2-py3-none-any.whl:
Publisher:
release.yml on wenottingham/tuatara
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tuatara-0.6.2-py3-none-any.whl -
Subject digest:
e695bac7cbe9c4cd8a840996ce603d8303e7b4e25d093c55502bb5e97bae638c - Sigstore transparency entry: 742527971
- Sigstore integration time:
-
Permalink:
wenottingham/tuatara@c2380c0956caebc97db545ef6013dc4af261620d -
Branch / Tag:
refs/tags/v0.6.2 - Owner: https://github.com/wenottingham
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c2380c0956caebc97db545ef6013dc4af261620d -
Trigger Event:
push
-
Statement type: