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.