Abjad / abjad

Abjad is a Python API for building LilyPond files. Use Abjad to make PDFs of music notation.
https://abjad.github.io
GNU General Public License v3.0
234 stars 41 forks source link

Clean up context initializers #1521

Closed trevorbaca closed 1 year ago

trevorbaca commented 1 year ago

Forces keyword parameters to be keyword-only.

OLD:

abjad.Score(
    components=None,
    lilypond_type: str = "Score",
    simultaneous: bool = True,
    name: str | None = None,
    tag: _tag.Tag | None = None,
    *,
    language: str = "english",
)

abjad.Staff(
    components=None,
    lilypond_type: str = "Staff",
    simultaneous: bool = False,
    name: str | None = None,
    tag: _tag.Tag | None = None,
    *,
    language: str = "english",
)

abjad.StaffGroup(
    components=None,
    lilypond_type: str = "StaffGroup",
    simultaneous: bool = True,
    name: str | None = None,
    tag: _tag.Tag | None = None,
    *,
    language: str = "english",
)

abjad.Voice(
    components=None,
    lilypond_type: str = "Voice",
    simultaneous: bool = False,
    name: str | None = None,
    tag: _tag.Tag | None = None,
    *,
    language: str = "english",
)

NEW:

abjad.Score(
    components=None,
    *,
    language: str = "english",
    lilypond_type: str = "Score",
    name: str | None = None,
    simultaneous: bool = True,
    tag: _tag.Tag | None = None,
)

abjad.Staff(
    components=None,
    *,
    language: str = "english",
    lilypond_type: str = "Staff",
    name: str | None = None,
    simultaneous: bool = False,
    tag: _tag.Tag | None = None,
)

abjad.StaffGroup(
    components=None,
    *,
    language: str = "english",
    lilypond_type: str = "StaffGroup",
    name: str | None = None,
    simultaneous: bool = True,
    tag: _tag.Tag | None = None,
)

abjad.Voice(
    components=None,
    *,
    language: str = "english",
    lilypond_type: str = "Voice",
    name: str | None = None,
    simultaneous: bool = False,
    tag: _tag.Tag | None = None,
)