songbook and songsheet management for songsheets in ukedown format
Project description
udn-songbook
What'cha talkin' about, Willis?
udn-songbook
is a class-based abstraction of a songbook, using the ukedown rendering engine.
Long-term it is intended to replace most of the code from the ukebook-md
tools.
In the end, you should be able to take the code from here and create (and render) songbooks with it, producing PDFs and/or HTML
(and possibly other formats, if I add them).
Requirements
Python packages
- ukedown (markdown extensions)
- weasyprint (PDF generation)
- pychord (chord management)
development requirements - for future project enhancements
- python-fretboard (chord generation)
The TL;DR
How to use the current functionality
(it only does basic things at the moment)
from udn_songbook import Song
s = song('/path/to/filename')
And to generate a songbook, use the SongBook class, with a directory of UDN-format songsheets
from udn_songbook import SongBook
mybook = SongBook(inputs=['directory1', 'directory2', 'someotherfile.udn'])
Songbooks have an index auto-generated, and do not support mutiple songs with the same ID (which is essentially "Title - Artist"). If your inputs include multiple songs in this way, the last one imported will be used. So name them carefully.
A Songbook in this context is a collection of song objects with additional metadata, such as an index.
what you need to use this:
- a directory full of UDN-format files.
- templates:
- index.html.j2
- song.html.j2
- stylesheets (up to you, you can pass their names and location to the methods)
- pdf.css
- ukedown.css
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
Hashes for udn_songbook-1.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c1505260b221da229b1870782940e161fbd4805a4134d8f4a8bc12e48848e08 |
|
MD5 | 91a1dc421f674ba4ebe40a02e6f9836b |
|
BLAKE2b-256 | 733434267afdf96617cb30ad26cc80dd0c4a4e089ffd7e23e6a026f4f70bea2b |