Skip to main content

musdl: Pure Python score downloader for

Project description

musdl

logo

NOTE:

The author of musdl does NOT condone piracy in any way, and is not responsible for anything that happens as a result of piracy arising from the use of musdl.

musdl (Musescore Downloader) is a Python script that I wrote to make it easier to download scores from Musescore. It is meant to be used as a command-line tool, but can also be imported and used as a module:

from musdl import Score

my_score = Score(...)  # the Musescore url goes here
data = my_score.download("mp3")  # download as mp3, returns as bytes

Why?

See the original Javascript version for more infomation.

takedown request something something

Take a look at this issue in the (same) Javascript downloader repo.

Requirements

  • requests - Downloader.
  • beautifulsoup4 - Powerful HTML parser.
  • fpdf - Create pdfs

Hacking

All my python projects now use flit to build and publish. So you need to python3 -m pip install flit first.

git clone https://github.com/onyxware/musdl
cd musdl
flit build

Install

(python3 -m) pip install musdl

If you want to download PDFs, you have to install inkscape first to convert the svg files into pngs (that can be added by fpdf). On Linux, you can just install using your package manager:

(package manager) install/add inkscape

On Windows, go here to install inkscape first (although I have not tested Windows support yet).

License

MIT.

Changelog

2.1.0

Added PDF support. Tested on Linux (but not on Windows yet), requires Inkscape to work.

2.0.0

Added -O option to use the score's title as the output filename (y'know, like curl -O). Refactored code to be object-oriented, in the form of the Score class. This should make adding new features easier. (Plus, you can use musdl more programmatically!)

1.1.2

Version bump, use Flit to build instead of setup.py. Updated README too.

1.1.0

Added MusicXML download option, thanks to JPFrancoia for the update!

1.0.0

Initial version.

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

musdl-2.1.0.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

musdl-2.1.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file musdl-2.1.0.tar.gz.

File metadata

  • Download URL: musdl-2.1.0.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.24.0

File hashes

Hashes for musdl-2.1.0.tar.gz
Algorithm Hash digest
SHA256 9b17f46548b710e71001b4c3fd001982d072d49d167d43d27cc954ef9488f42c
MD5 153d5bfd33705d3f61b2a6815950f4ef
BLAKE2b-256 97cf730d08cf7f61e130c8bad261a9944ff3c6827bff6ddcd4095f5150484e02

See more details on using hashes here.

File details

Details for the file musdl-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: musdl-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.24.0

File hashes

Hashes for musdl-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 53ab6ab6ff29bc2256acc01567f626cd84d03379c863333339bef1b561f7dec1
MD5 1d22b01e43899d487c09a485cd1d4832
BLAKE2b-256 66d566ad625ee51daf33006fb2f24173dfa1cc2fdb76332b6655eca91cb091d1

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