Skip to main content

Masterpiece framework

Project description

Welcome to MasterPiece - A Piece of Work

A compact and unified set of general purpose Python classes for writing plugin aware, object 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 plugin.

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

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
  • [ 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 an object, a piece of work, actually a piece of data, designed to master something, like ones home automation.

Install

  1. To install the masterpiece:

    pip install masterpiece.

  2. To install the demo-plugin:

pip install masterpiece_plugin

  1. To run: ::

    cd masterpiece/examples python myapp.py

The minimum Python version known to work is 3.8.

Developer Documentation

Getting better, but 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 an extraordinary gentleman: Mahi.fi.

Anything else?

Can't think of ..

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

masterpiece-0.0.4.tar.gz (71.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

masterpiece-0.0.4-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file masterpiece-0.0.4.tar.gz.

File metadata

  • Download URL: masterpiece-0.0.4.tar.gz
  • Upload date:
  • Size: 71.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for masterpiece-0.0.4.tar.gz
Algorithm Hash digest
SHA256 896c468d3ff872441dfcf83d559e610423caf091c3e4f05a58e58f3fb7cce1f1
MD5 518486b912106a115ec441a030b457d2
BLAKE2b-256 4cc18f05c11bd1d5d655f9a130ab50da3881856cb8a3151005f4b4e938a42aca

See more details on using hashes here.

File details

Details for the file masterpiece-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: masterpiece-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for masterpiece-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d033975607296abbc2be380280d0b3e0dc5e3c439c24c17284bb1d149efb7e61
MD5 1bee6f5d512892511a7da297440a27e2
BLAKE2b-256 403c7e2865b755399539d4f9ee12699b42ecc0496285aed1d835c6850a697d8f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page