Masterpiece framework
Project description
Welcome to MasterPiece - A Piece of Work
MasterPiece is a compact and unified set of general purpose classes for writing plugin aware, feature oriented applications.
Project Status and Current State
The framework is in its early development phase.
Here's what is currently available:
- Package Infrastructure: The basic Python package setup is in place, configured with 'pyproject.toml'.
- Early Drafts: Initial yet fully working versions of the essential core classes implemented.
- Example application 'examples/myhome.py', which prints out its instance structure when run.
- A plugin package named 'masterpiece_plugin' plugging in 'Hello World' greeting to 'myhome.py', demonstrating minimal yet complete and fully functional plugi.
Tn this current state, you might call the project merely a mission, rather than masterpiece, but I'm working hard to turn it into a masterpiece!
Goals
To have fun with learning Python.
The key objectives of this framework include:
- Robusness: Minimal yet robust API providing the developer with 100% control.
- First-Time Excellence: The aim is to build a robust and reliable framework that is correct and efficient from the start, eliminating the need for disruptive changes or backward compatibility issues in future releases.
- Abstraction: Provide a layer of abstraction to shield the API from the impacts of external code, including third-party libraries and APIs.
Design
The design patterns employed to achieve the goals include:
- Object-Oriented Paradigm
- Factory Method Pattern
- Layered Design Pattern
- Plugin API
- TODO: ( more later, too busy now)
If you appreciate these design concepts, you've come to the right place!
About the project name
Just as all creatures on Earth share a common ancestor, all components in this framework trace their lineage back to this foundational anchestor named "masterpiece" ... (okay, perhaps a bit too dramatic).
The name 'MasterPiece' was chosen to reflect commitment to fine-grained modular design ("pieces"), with a touch of Humour. Masterpiece is just an object, a piece of data, designed to master something, like ones home automation.
The slogan 'Some a piece of work' ... the result of one minute brainstorming and too many cups of coffee...
Install
-
To install the masterpiece:
pip install masterpiece. -
To install the demo-plugin:
pip install masterpiece_plugin
-
To run: ::
cd masterpiece/examples python myapp.py
The minimum Python version known to work is 3.8.
Developer Documentation
Will reguire a few more hours (okay, days) of effort to produce something really usable.
Special Thanks
My ability to translate my architecture ideas into this Python framework is greatly due to the generous support of one extraordinary gentleman: Mahi.fi and ChatGPT. Their support and encouragement have been invaluable in bringing this project to life. Thank you both!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file masterpiece-0.0.1.tar.gz.
File metadata
- Download URL: masterpiece-0.0.1.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88e1e77e3963e83cbe4cd154fade549864bbfdfc76ebb4836d4751c824e6eb45
|
|
| MD5 |
9a0f576b00f7087d4c92230a3d512441
|
|
| BLAKE2b-256 |
3dcea35b4d4dd50c3c57ab2f84a03c84ca0d147d6c467a0e2e2dc4eddb413225
|
File details
Details for the file masterpiece-0.0.1-py3-none-any.whl.
File metadata
- Download URL: masterpiece-0.0.1-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
182cdd19e1b75a63be5db3aa402714488ed4a14c77849b47381fa7c0da87350d
|
|
| MD5 |
3e67f5fa567cfeec011d21644e354022
|
|
| BLAKE2b-256 |
0ebf60c55e093305e2ea464705068ba86076319e0176d73d1402b41513e4c820
|