Skip to main content

Read, write, and manipulate GP3, GP4 and GP5 files.

Project description

PyPI Package latest release

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.

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

pyguitarpro-0.11.tar.gz (105.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyguitarpro-0.11-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

Details for the file pyguitarpro-0.11.tar.gz.

File metadata

  • Download URL: pyguitarpro-0.11.tar.gz
  • Upload date:
  • Size: 105.4 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for pyguitarpro-0.11.tar.gz
Algorithm Hash digest
SHA256 d8692f9510a80a7c22b43b1c40fcd5ff32ae861241ef95a51cc607c3610f9f01
MD5 3b2c2b71a9337670d2b7cb3d92f1fe87
BLAKE2b-256 0f7924754b4088a0647dc6dbc641534991fc5cb25acb8bdd65654bef42c3da81

See more details on using hashes here.

File details

Details for the file pyguitarpro-0.11-py3-none-any.whl.

File metadata

  • Download URL: pyguitarpro-0.11-py3-none-any.whl
  • Upload date:
  • Size: 45.6 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for pyguitarpro-0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 747d01b580b147a0b726a8f7fafa9e5b0947030c886622831580ef1b6fa99a94
MD5 f19d287a85a67d9b16ae9e6e9c666673
BLAKE2b-256 625e58c0b0a61636316a77c1a5106a0a82198bba15f415cc8205fa334d561da9

See more details on using hashes here.

Supported by

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