abjad.configuration

abjad.configuration.list_all_classes([...])

Lists all public classes defined in path.

abjad.configuration.list_all_functions([modules])

Lists all public functions defined in modules.

abjad.configuration.yield_all_modules([...])

Yields all submodules in the package named package_name.

abjad.configuration.Configuration()

Configuration.

abjad.configuration.list_all_classes(modules='abjad', ignored_classes=None)[source]

Lists all public classes defined in path.

>>> for class_ in abjad.list_all_classes(modules="abjad"):
...     class_
... 
<class 'abjad.configuration.Configuration'>
<class 'abjad.contextmanagers.ContextManager'>
<class 'abjad.contextmanagers.FilesystemState'>
<class 'abjad.contextmanagers.ForbidUpdate'>
<class 'abjad.contextmanagers.NullContextManager'>
<class 'abjad.contextmanagers.ProgressIndicator'>
<class 'abjad.contextmanagers.RedirectedStreams'>
<class 'abjad.contextmanagers.TemporaryDirectory'>
<class 'abjad.contextmanagers.TemporaryDirectoryChange'>
<class 'abjad.contextmanagers.Timer'>
<class 'abjad.contributions.ContributionsBySite'>
<class 'abjad.cyclictuple.CyclicTuple'>
<class 'abjad.duration.Duration'>
<class 'abjad.duration.Offset'>
<class 'abjad.duration.Ratio'>
<class 'abjad.exceptions.AssignabilityError'>
<class 'abjad.exceptions.ImpreciseMetronomeMarkError'>
<class 'abjad.exceptions.LilyPondParserError'>
<class 'abjad.exceptions.MissingContextError'>
<class 'abjad.exceptions.MissingMetronomeMarkError'>
<class 'abjad.exceptions.ParentageError'>
<class 'abjad.exceptions.PersistentIndicatorError'>
<class 'abjad.exceptions.SchemeParserFinishedError'>
<class 'abjad.exceptions.UnboundedTimeIntervalError'>
<class 'abjad.exceptions.WellformednessError'>
<class 'abjad.get.Lineage'>
<class 'abjad.indicators.Arpeggio'>
<class 'abjad.indicators.Articulation'>
<class 'abjad.indicators.BarLine'>
<class 'abjad.indicators.BeamCount'>
<class 'abjad.indicators.BendAfter'>
<class 'abjad.indicators.BreathMark'>
<class 'abjad.indicators.Clef'>
<class 'abjad.indicators.ColorFingering'>
<class 'abjad.indicators.Dynamic'>
<class 'abjad.indicators.Fermata'>
<class 'abjad.indicators.Glissando'>
<class 'abjad.indicators.InstrumentName'>
<class 'abjad.indicators.KeyCluster'>
<class 'abjad.indicators.KeySignature'>
<class 'abjad.indicators.LaissezVibrer'>
<class 'abjad.indicators.LilyPondLiteral'>
<class 'abjad.indicators.Markup'>
<class 'abjad.indicators.MetronomeMark'>
<class 'abjad.indicators.Mode'>
<class 'abjad.indicators.Ottava'>
<class 'abjad.indicators.RehearsalMark'>
<class 'abjad.indicators.Repeat'>
<class 'abjad.indicators.RepeatTie'>
<class 'abjad.indicators.ShortInstrumentName'>
<class 'abjad.indicators.StaffChange'>
<class 'abjad.indicators.StartBeam'>
<class 'abjad.indicators.StartGroup'>
<class 'abjad.indicators.StartHairpin'>
<class 'abjad.indicators.StartPhrasingSlur'>
<class 'abjad.indicators.StartPianoPedal'>
<class 'abjad.indicators.StartSlur'>
<class 'abjad.indicators.StartTextSpan'>
<class 'abjad.indicators.StartTrillSpan'>
<class 'abjad.indicators.StemTremolo'>
<class 'abjad.indicators.StopBeam'>
<class 'abjad.indicators.StopGroup'>
<class 'abjad.indicators.StopHairpin'>
<class 'abjad.indicators.StopPhrasingSlur'>
<class 'abjad.indicators.StopPianoPedal'>
<class 'abjad.indicators.StopSlur'>
<class 'abjad.indicators.StopTextSpan'>
<class 'abjad.indicators.StopTrillSpan'>
<class 'abjad.indicators.TextMark'>
<class 'abjad.indicators.Tie'>
<class 'abjad.indicators.TimeSignature'>
<class 'abjad.indicators.VoiceNumber'>
<class 'abjad.instruments.Accordion'>
<class 'abjad.instruments.AltoFlute'>
<class 'abjad.instruments.AltoSaxophone'>
<class 'abjad.instruments.AltoTrombone'>
<class 'abjad.instruments.AltoVoice'>
<class 'abjad.instruments.BaritoneSaxophone'>
<class 'abjad.instruments.BaritoneVoice'>
<class 'abjad.instruments.BassClarinet'>
<class 'abjad.instruments.BassFlute'>
<class 'abjad.instruments.BassSaxophone'>
<class 'abjad.instruments.BassTrombone'>
<class 'abjad.instruments.BassVoice'>
<class 'abjad.instruments.Bassoon'>
<class 'abjad.instruments.Cello'>
<class 'abjad.instruments.ClarinetInA'>
<class 'abjad.instruments.ClarinetInBFlat'>
<class 'abjad.instruments.ClarinetInEFlat'>
<class 'abjad.instruments.Contrabass'>
<class 'abjad.instruments.ContrabassClarinet'>
<class 'abjad.instruments.ContrabassFlute'>
<class 'abjad.instruments.ContrabassSaxophone'>
<class 'abjad.instruments.Contrabassoon'>
<class 'abjad.instruments.EnglishHorn'>
<class 'abjad.instruments.Flute'>
<class 'abjad.instruments.FrenchHorn'>
<class 'abjad.instruments.Glockenspiel'>
<class 'abjad.instruments.Guitar'>
<class 'abjad.instruments.Harp'>
<class 'abjad.instruments.Harpsichord'>
<class 'abjad.instruments.Instrument'>
<class 'abjad.instruments.Marimba'>
<class 'abjad.instruments.MezzoSopranoVoice'>
<class 'abjad.instruments.Oboe'>
<class 'abjad.instruments.Percussion'>
<class 'abjad.instruments.Piano'>
<class 'abjad.instruments.Piccolo'>
<class 'abjad.instruments.SopraninoSaxophone'>
<class 'abjad.instruments.SopranoSaxophone'>
<class 'abjad.instruments.SopranoVoice'>
<class 'abjad.instruments.StringNumber'>
<class 'abjad.instruments.TenorSaxophone'>
<class 'abjad.instruments.TenorTrombone'>
<class 'abjad.instruments.TenorVoice'>
<class 'abjad.instruments.Trumpet'>
<class 'abjad.instruments.Tuba'>
<class 'abjad.instruments.Tuning'>
<class 'abjad.instruments.Vibraphone'>
<class 'abjad.instruments.Viola'>
<class 'abjad.instruments.Violin'>
<class 'abjad.instruments.Xylophone'>
<class 'abjad.label.ColorMap'>
<class 'abjad.lilypondfile.Block'>
<class 'abjad.lilypondfile.LilyPondFile'>
<class 'abjad.lyproxy.LilyPondContext'>
<class 'abjad.lyproxy.LilyPondEngraver'>
<class 'abjad.lyproxy.LilyPondGrob'>
<class 'abjad.lyproxy.LilyPondGrobInterface'>
<class 'abjad.math.Infinity'>
<class 'abjad.math.NegativeInfinity'>
<class 'abjad.meter.Meter'>
<class 'abjad.meter.MetricAccentKernel'>
<class 'abjad.metricmodulation.MetricModulation'>
<class 'abjad.obgc.OnBeatGraceContainer'>
<class 'abjad.overrides.Interface'>
<class 'abjad.overrides.LilyPondOverride'>
<class 'abjad.overrides.LilyPondSetting'>
<class 'abjad.overrides.OverrideInterface'>
<class 'abjad.overrides.SettingInterface'>
<class 'abjad.parentage.Parentage'>
<class 'abjad.parsers.base.Parser'>
<class 'abjad.pattern.Pattern'>
<class 'abjad.pattern.PatternTuple'>
<class 'abjad.pcollections.PitchClassSegment'>
<class 'abjad.pcollections.PitchClassSet'>
<class 'abjad.pcollections.PitchRange'>
<class 'abjad.pcollections.PitchSegment'>
<class 'abjad.pcollections.PitchSet'>
<class 'abjad.pcollections.TwelveToneRow'>
<class 'abjad.pitch.Accidental'>
<class 'abjad.pitch.Interval'>
<class 'abjad.pitch.IntervalClass'>
<class 'abjad.pitch.NamedInterval'>
<class 'abjad.pitch.NamedIntervalClass'>
<class 'abjad.pitch.NamedInversionEquivalentIntervalClass'>
<class 'abjad.pitch.NamedPitch'>
<class 'abjad.pitch.NamedPitchClass'>
<class 'abjad.pitch.NumberedInterval'>
<class 'abjad.pitch.NumberedIntervalClass'>
<class 'abjad.pitch.NumberedInversionEquivalentIntervalClass'>
<class 'abjad.pitch.NumberedPitch'>
<class 'abjad.pitch.NumberedPitchClass'>
<class 'abjad.pitch.Octave'>
<class 'abjad.pitch.Pitch'>
<class 'abjad.pitch.PitchClass'>
<class 'abjad.pitch.StaffPosition'>
<class 'abjad.rhythmtrees.RhythmTreeContainer'>
<class 'abjad.rhythmtrees.RhythmTreeLeaf'>
<class 'abjad.rhythmtrees.RhythmTreeNode'>
<class 'abjad.rhythmtrees.RhythmTreeParser'>
<class 'abjad.score.AfterGraceContainer'>
<class 'abjad.score.BeforeGraceContainer'>
<class 'abjad.score.Chord'>
<class 'abjad.score.Cluster'>
<class 'abjad.score.Component'>
<class 'abjad.score.Container'>
<class 'abjad.score.Context'>
<class 'abjad.score.DrumNoteHead'>
<class 'abjad.score.IndependentAfterGraceContainer'>
<class 'abjad.score.Leaf'>
<class 'abjad.score.MultimeasureRest'>
<class 'abjad.score.Note'>
<class 'abjad.score.NoteHead'>
<class 'abjad.score.NoteHeadList'>
<class 'abjad.score.Rest'>
<class 'abjad.score.Score'>
<class 'abjad.score.Skip'>
<class 'abjad.score.Staff'>
<class 'abjad.score.StaffGroup'>
<class 'abjad.score.TremoloContainer'>
<class 'abjad.score.Tuplet'>
<class 'abjad.score.Voice'>
<class 'abjad.select.LogicalTie'>
<class 'abjad.setclass.SetClass'>
<class 'abjad.tag.Tag'>
<class 'abjad.timespan.OffsetCounter'>
<class 'abjad.timespan.Timespan'>
<class 'abjad.timespan.TimespanList'>
<class 'abjad.tweaks.Bundle'>
<class 'abjad.tweaks.Tweak'>
<class 'abjad.verticalmoment.VerticalMoment'>
<class 'abjad.wrapper.Wrapper'>
abjad.configuration.list_all_functions(modules='abjad')[source]

Lists all public functions defined in modules.

>>> functions = abjad.list_all_functions(modules="abjad")
>>> names = [_.__name__ for _ in functions]
>>> # for name in sorted(names): name
abjad.configuration.yield_all_modules(package_name: str = 'abjad') Iterator[ModuleType][source]

Yields all submodules in the package named package_name.

class abjad.configuration.Configuration[source]

Configuration.

Behavior at instantiation:

  • Looks for $HOME/.abjad/.

  • Creates $HOME/.abjad/ if directory does not exist.

  • Looks for $HOME/.abjad/abjad.cfg.

  • Creates $HOME/.abjad/abjad.cfg if file does not exist.

  • Parses $HOME/.abjad/abjad.cfg.

  • Provides default key-value pairs for pairs which fail validation.

  • Writes configuration changes to disk.

  • Creates Abjad output directory if directory does not exist.

Supports mutable mapping dictionary interface.

abjad_directory

Gets Abjad directory.

abjad_output_directory

Gets Abjad output directory.

boilerplate_directory

Gets Abjad boilerplate directory.

configuration_directory

Gets configuration directory.

configuration_file_path

Gets configuration file path.

get(*arguments, **keywords)

Gets a key.

get_lilypond_version_string()

Gets LilyPond version string.

home_directory

Gets home directory.

lilypond_log_file_path

Gets LilyPond log file path.

abjad_directory

Gets Abjad directory.

abjad_output_directory

Gets Abjad output directory.

boilerplate_directory

Gets Abjad boilerplate directory.

configuration_directory

Gets configuration directory.

>>> configuration = abjad.Configuration()
>>> configuration.configuration_directory
PosixPath('/Users/trevor/.abjad')

Defaults to $HOME/{directory_name}.

Returns $TEMP/{directory_name} if $HOME is read-only or $HOME/{directory_name} is read-only.

Also caches the initial result to reduce filesystem interaction.

configuration_file_path

Gets configuration file path.

>>> configuration = abjad.Configuration()
>>> configuration.configuration_file_path
PosixPath('/Users/trevor/.abjad/abjad.cfg')
get(*arguments, **keywords)[source]

Gets a key.

get_lilypond_version_string() str[source]

Gets LilyPond version string.

>>> configuration = abjad.Configuration()
>>> configuration.get_lilypond_version_string()  
'2.25.26'
home_directory

Gets home directory.

>>> configuration = abjad.Configuration()
>>> configuration.home_directory
PosixPath('/Users/trevor')
lilypond_log_file_path

Gets LilyPond log file path.