Metadata-Version: 2.2
Name: lilyponddist
Version: 1.1.0
Summary: lilypond distribution as a python package
Author-email: Eduardo Moguillansky <eduardo.moguillansky@gmail.com>
License: GNU LilyPond is free software: you can redistribute it and/or modify
        it under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.
        
        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.
        
        You should have received a copy of the GNU General Public License
        along with this program.  If not, see <http://www.gnu.org/licenses/>.
        
        A copy of the license is contained in the file COPYING.
        
        The following exceptions apply:
        
          * It does not apply to the documentation files (contained in
            the directory tree Documentation/).  The documentation is
            covered in the file LICENSE.DOCUMENTATION.
        
          * It does not apply to ly/articulate.ly, which is only licensed
            under the GPL version 3 (not any later versions).
        
          * The files under mf/ form a font, and this font is dual-licensed
            under the GPL+Font exception and the SIL Open Font License (OFL).
            A copy of the OFL is in the file LICENSE.OFL.
        
            The font exception for the GPL stipulates the following exception:
        
              If you create a document which uses fonts included in LilyPond,
              and embed this font or unaltered portions of this font into the
              document, then this font does not by itself cause the resulting
              document to be covered by the GNU General Public License.  This
              exception does not however invalidate any other reasons why the
              document might be covered by the GNU General Public License.
              If you modify one or more of the fonts, you may extend this
              exception to your version of the fonts but you are not obliged
              to do so.  If you do not wish to do so, delete this exception
              statement from your version.
        
          * It does not apply to python/auxiliar/vendored/pygments.zip, which
            is a vendored dependency, itself licensed under the BSD 2-clause
            "simplified" license.
        
Project-URL: Homepage, https://github.com/gesellkammer/lilyponddist
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: appdirs
Requires-Dist: progressbar

lilyponddist
============

This package wraps the binary distribution of lilypond, allowing to install and use lilypond from python

Notice that this package installs lilypond from the releases provided by the lilypond team. It does not
conflict with any user-installed lilypond version, since it places lilypond at an ad-hoc place, without
modifying the PATH or any other part of the environment. 

At the moment these platforms are supported: linux-x86_64, windows-x86_64, darwin-x86_64 and darwin-arm64.
Support for macos (darwin) arm64 is only with an unstable version (2.25), but tests show that
this version works correctly with macos >= 13

The first time it is asked for the path of the lilypond binary, **lilyponddist** will download
the given version (or the latest version if no version is specified) and the user can call that
binary as if it was any regular installation of lilypond. Any subsequent call will use the already installed
version. 

**lilyponddist** follows the release process of lilypond closely and any new binary release is incorporated
to the registry of downloads. Updating lilyponddist through pip will make these updates available via 
the ``update`` function.  


Installation
------------

.. code:: bash

    pip install lilyponddist


Example
-------

.. code:: python

    import lilyponddist
    import subprocess

    subprocess.call([lilyponddist.lilypondbin(), '/path/to/score.ly', '--pdf', '-o', '/path/to/output'])


Documentation
-------------

### ``lilypondbin(version='')``



### ``update()``

Update the current lilypond installation if possible


### ``can_update()``

Checks if an update is available. This functions
will return the latest version to update to, or None if
there are no updates available 



	# The current version can be checked via ``lilypond_version``. This returns the version of the
	# lilypond distribution installed via ``lilyponddist``. There is never an attempt to interact with
	# a user installed lilypond
	lilyponddist.lilypond_version()

	# All available versions can be queried via
	lilyponddist.avaialable_versions()

	# Installed versions can be queried via
	lilyponddist.installed_versions()

	


