Changelog

[0.0.3] - October 12, 2024

  • GitLab Ready: Directory structure simplified:

    • src folder removed

    • masterpiece/base folder renamed to masterpiece/core

    • plugins folder moved outside the project, will be implemented as a separate project (one project - one repository principle)

    • Minor additions and improvements to Docstrings.

[0.0.2] - October 10, 2024

  • GitLab Ready: Revised documentation tone slightly to reflect a more professional and serious nature. Removed excessive humor that may have detracted from the perceived professionalism of the toolkit.

-[0.0.1] - August 4, 2024

Pip release with Python pip package uploaded.

New Features and Improvements

  • Trademark Cool (not?) slogan: Masterpiece - Quite a piece of work

  • Plugin API: Enhanced the plugin API with two classes: ‘Plugin’ and ‘PlugMaster’ with compatibility with Python versions 3.8 and later. The most recent version tested is 3.12.

  • Meta-Class Automation: Per-class bureaucracy automated using Python’s meta-class concept.

  • Folder Structure: Redesigned for future expansion. There is now separate root folders for core and plugin modules.

  • Base Class: Added new base class for MasterPiece applications in base/application.py.

  • Example Application: Added examples/myhome.py to demonstrate the general structure of MasterPiece aapplications.

  • Startup Argument Parsing: Added API for parsing startup arguments.

  • Serialization API: Fully featured serialization with backward compatibility support implemented.

  • Documentation: Added comprehensive docstrings to numerous classes, aiming for fully documented professional Python code.

  • Type Annotations: Added type annotations to numerous previously non-typed method arguments, moving towards a fully typed Python code.

  • Sphinx conf.py: Created default Sphinx ‘conf.py’ file in masterpiece/sphinx folder.

  • Bug fixes and improvements:

    • Added encoding=”utf-8” to open() calls

    • Added exclude __pycache__ to MANIFEST.in, to avoid including the folders with the setup.

[0.0.0] - May 31, 2024

Initial, private release (minimal set of classes unified from the RTE and JUHAM Python applications)

  • Base Class Draft: Initial version of the MasterPiece and Composite classes.

  • Python Packaging: Python package infrastructure setup using pyproject.toml, installable via pip.

  • Documentation:

    • Added LICENSE, README, and other standard files in .rst format.

    • Developer documentation autogenerated with Sphinx toolset. Support for Doxygen dropped.

  • Project Name: Named the project ‘MasterPiece™’, with a note that ‘M’ currently stands for mission rather than masterpiece.

  • Miscellaneous: Some unconventional use of the Python programming language.