Introduction
PyGuitarPro is a package to read, write and manipulate GP3, GP4 and GP5 files. Initially PyGuitarPro is a Python port of AlphaTab which originally was a Haxe port of TuxGuitar.
This package helps you achieve several goals you might find yourself yearning to do in a day-to-day tabber life:
Transpose a track without messing the fingering
Add the first string to the track without messing the fingering
Map percussion notes to different values
Reading .gp* files is as easy as:
import guitarpro
curl = guitarpro.parse('Mastodon - Curl of the Burl.gp5')
Writing .gp* files isn’t that hard either:
guitarpro.write(curl, 'Mastodon - Curl of the Burl 2.gp5')
All objects representing GP entities are hashable and comparable. This gives a great opportunity to apply the diff algorithm to tabs, or even the diff3 algorithm to merge tablatures.
For those looking to create the best guitar tablature editor in Python, this package is a good place to start.
Examples
Several usage examples are included in the /examples folder. Feel free to add your own examples or improve existing ones. Then, submit them via pull request.
To run one of the examples in your local environment, simply:
cd PyGuitarPro
uv run examples/transpose.py --help
Installation
Install PyGuitarPro from PyPI:
pip install PyGuitarPro
Documentation
Package documentation is located at Read the Docs.
Development
Install the development version of PyGuitarPro with uv:
git clone https://github.com/Perlence/PyGuitarPro.git
cd PyGuitarPro
uv sync
Run the tests:
uv run pytest
Install the pre-commit hook:
uv run pre-commit install
Licensing
Please see the file called LICENSE.
Metadata
Release files for PyGuitarPro 0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyguitarpro-0.11.tar.gz | 105.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyguitarpro-0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 151.1 kB
Release files / pyguitarpro-0.11.tar.gz
| Download URL | pyguitarpro-0.11.tar.gz |
|---|---|
| Size | 105.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8692f9510a80a7c22b43b1c40fcd5ff32ae861241ef95a51cc607c3610f9f01
|
|
BLAKE2b-256 checksum How to use checksums |
0f7924754b4088a0647dc6dbc641534991fc5cb25acb8bdd65654bef42c3da81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pyguitarpro-0.11-py3-none-any.whl
| Download URL | pyguitarpro-0.11-py3-none-any.whl |
|---|---|
| Size | 45.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
747d01b580b147a0b726a8f7fafa9e5b0947030c886622831580ef1b6fa99a94
|
|
BLAKE2b-256 checksum How to use checksums |
625e58c0b0a61636316a77c1a5106a0a82198bba15f415cc8205fa334d561da9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|