configuration

digraph InheritanceGraph { graph [bgcolor=transparent, color=lightsteelblue2, fontname=Arial, fontsize=10, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, splines=spline, style="dashed, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=10, height=0, penwidth=2, shape=box, style="filled, rounded", width=0]; edge [color=lightslategrey, penwidth=1]; subgraph "cluster_abjad.configuration" { graph [label="abjad.configuration"]; node [color=1]; "abjad.configuration.Configuration" [URL="../api/abjad/configuration.html#abjad.configuration.Configuration", color=black, fontcolor=white, label=Configuration, target=_top]; } subgraph cluster_builtins { graph [label=builtins]; node [color=2]; "builtins.object" [URL="https://docs.python.org/3.10/library/functions.html#object", label=object, target=_top]; } "builtins.object" -> "abjad.configuration.Configuration"; }


Functions

list_all_classes

Lists all public classes defined in path.

list_all_functions

Lists all public functions defined in modules.

yield_all_modules

Yields all modules encountered in path.

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.bind.Wrapper'>
<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.dynamic.Dynamic'>
<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.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.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.RhythmTreeMixin'>
<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.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'>
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(paths=None)[source]

Yields all modules encountered in path.

Returns generator.


System configuration

Configuration

Configuration.

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.


Attributes Summary

__delitem__

Deletes item i from configuration.

__eq__

Returns true when argument is configuratioin with same settings.

__getitem__

Gets item or slice identified by argument.

__iter__

Iterates configuration settings.

__setitem__

Sets configuration item i to argument.

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

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.


Special methods

__delitem__(i)[source]

Deletes item i from configuration.

Return type:

None

overridden __eq__(argument)[source]

Returns true when argument is configuratioin with same settings.

__getitem__(argument)[source]

Gets item or slice identified by argument.

Return type:

Any

__iter__()[source]

Iterates configuration settings.

Return type:

Iterator[str]

__setitem__(i, argument)[source]

Sets configuration item i to argument.

Return type:

None


Methods

get(*arguments, **keywords)[source]

Gets a key.

get_lilypond_version_string()[source]

Gets LilyPond version string.

>>> configuration = abjad.Configuration()
>>> configuration.get_lilypond_version_string()  
'2.25.7'
Return type:

str


Read-only properties

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')
home_directory

Gets home directory.

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

Gets LilyPond log file path.