**Changes:**
- all modules:
- updated docstrings with new exceptions, language and cross
references; changed variable names from explicit
inline :code: to default role
- updated linting directives to short form
- updated type hints and corrected mypy errors
- changed various parameter names to be more descriptive
- tests:
- added test for all functions in:
- test_stdUtils.py (except verbosePrint and doNothing)
- test_normalizers.py
- removed malfunctioning tests in test_pointUtils.py
- corrected change error assertion type in test_toNumber in
test_converters.py
- scripts:
- refactored code with new helpers and normalizers
- implemented stdUtils.verbosePrint() and revised messages for
consistency.
- revised progress bar implementation for clarity and consistency
- changed addHelp setting to reflect new default
- new commonParser `description` based on program summary line
in docstring of program function
- calculateEngravingDefaults.py
- added ability to override 'textFontFamily'
- added new table of default settings to
calculateEngravingdefaluts() docstring
- readme.rst:
- updated to reflect changes to getting_started.rst
- smufolib.cfg:
- added color values to [color.marks] and [color.anchors]
- changed comment prefix from ';' to ''
- dev/generate_options_table.py
- added docstring
- moved logic to main function
- added script excecution guard
- corrected relative path to table file
- converters.py:
- created toIntIfWhole() general purpose equivalent
to calculateEngravingDefaults._normalizeMeasurement() function
- cli.py
- changed commonParser `addHelp` default to True
- added createHelpFormatter() function to combine argparse help
formatters
- deleted formatter from help_formatter in commonParser
- implemented the option to add boolean arguments as on/off
flags without default values in commonParser()
- added customHelpers functionality to commonParser()
- refactored commonParser() code with new nested helper functions
- error.py:
- new module for streamlined exception handling
- updated and added new exceptions and normalizers to all
modules and scripts and documented extensively
- moved URLWarning from request.py to error.py
- engravingDefaults.py
- added override of BaseObject function raiseNotImplementedError
to EngravingDefaults
- replaced _normalizeMeasurement() with converters.toIntIfWhole()
- pointUtils.py
- revised to return iterator instead of tuple and take any
font-related object
- fixed concatenation error in getCompositePoints function
- stdUtils.py
- added doNothing function
- added verbosePrint function
- added getSummary() function to get summary lines from
docstrings and implemented in all scripts
- smufl.py:
- added override of BaseObject function raiseNotImplementedError
to Smufl
- fixed errors in 'suffix' property
- renamed 'componentGlyphs' poperty to 'componentNames'
- added new 'componentGlyphs' property to get ligature
components as Glyph objects
- docs:
- changed smufolib.cfg examples in configuration.rst to
litteralinclude directives
- added exclusion of raiseNotImplementedError to objects.rst
- updatd language in request.rst
- updated language and examples in getting_started.rst
- updated conf.py settings
**Full Changelog**: https://github.com/knutnergaard/smufolib/compare/v0.1.5...v0.2.0