[mus]escore [d]own[l]oader, ported from TypeScript
Project description
musdl
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 ([mus]score [d]own[l]oader) is a Python script that I wrote to make downloading scores from Musescore easy.
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?
musdl was inspired by musescore-downloader, which is written in TypeScript. But, what if you wanted to run it without a web browser? That's why I made a Python equivalent.
cough cough takedown request something something cough cough
Take a look at this issue in the same repo.
Requirements
requests
- Downloader.beautifulsoup4
- Powerful HTML parser.
For downloading PDFs:
reportlab
- Make PDFs.svglib
- Convert SVGs into Reportlab drawings.
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 need to install the pdf
extra:
(python3 -m) pip install musdl[pdf]
License
MIT.
Changelog
2.2.1
Made PDF downloading a extra feature (because svglib
and reportlab
dependencies are not pure-Python).
2.2.0
Fixed PDF support for Windows. Now musdl uses svglib
as the backend for adding SVGs to PDFs.
2.1.1-2.1.2
Added PDF support.
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
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
File details
Details for the file musdl-2.2.1.tar.gz
.
File metadata
- Download URL: musdl-2.2.1.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.24.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e31c99e0efebfbab710074d98492c6ef2bc85c50fabdf592ee546fd748024634 |
|
MD5 | 812d128ea7ca7ddbd70b7d8cbb143271 |
|
BLAKE2b-256 | 4d4faf10cb686df98d0557e0b185f1851aaafb86e9555c775429d4a844e75c75 |
File details
Details for the file musdl-2.2.1-py3-none-any.whl
.
File metadata
- Download URL: musdl-2.2.1-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.24.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b01786b1e42d4f3751ab9417ae26ecb8366285cebee4ed41ff1609700d1f326 |
|
MD5 | 275806a37801e2698e721273c1423b11 |
|
BLAKE2b-256 | 35192a4a0c9ecee6460b5c98bc4ccc600119345b112a06319e4d8346625269c1 |