mfd-base-tool


Namemfd-base-tool JSON
Version 2.7.0 PyPI version JSON
download
home_pageNone
SummaryModule that contains abstraction of tool in Modular Framework Design (MFD).
upload_time2025-07-09 11:17:30
maintainerNone
docs_urlNone
authorNone
requires_python<3.14,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements mfd-typing mfd-common-libs
Travis-CI No Travis.
coveralls test coverage No coveralls.
            > [!IMPORTANT]  
> This project is under development. All source code and features on the main branch are for the purpose of testing or evaluation and not production ready.

# MFD Base Tool
Module for abstraction of tool (wrappers).

ToolTemplate has got 3 main methods:

* `_get_tool_exec_factory(self) -> str` - responsible to return correct tool execute name according to e.g. OS. Should use `tool_executable_name` structure as store for names.
* `check_if_available(self) -> None` - responsible for checking, if tool is available and executable in system. Should raise exception if not
* `get_version(self) -> str` - responsible for getting version of tool.

All methods and `tool_executable_name` variable in class must be implemented in developed tool.
Arguments in public methods must be forced as named arguments:
`__init__(self, *, arg1, arg2)` etc.

## Usage
Example implementation using ToolTemplate:

```python
from mfd_base_tool import ToolTemplate


class MyTool(ToolTemplate):
    tool_executable_name = "my tool name"
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def _get_tool_exec_factory(self) -> str:
        return self.tool_executable_name

    def check_if_available(self) -> None:
        if not "if statement for check":
            raise MyToolNotAvailable()

    def get_version(self) -> str:
        return "my read tool version"
    
    def my_tool_method(self):
        pass
```
## OS supported:
* LNX
* WINDOWS
* ESXI
* FREEBSD
* EFI shell support

## Issue reporting

If you encounter any bugs or have suggestions for improvements, you're welcome to contribute directly or open an issue [here](https://github.com/intel/mfd-base-tool/issues).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mfd-base-tool",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": null,
    "download_url": null,
    "platform": null,
    "description": "> [!IMPORTANT]  \n> This project is under development. All source code and features on the main branch are for the purpose of testing or evaluation and not production ready.\n\n# MFD Base Tool\nModule for abstraction of tool (wrappers).\n\nToolTemplate has got 3 main methods:\n\n* `_get_tool_exec_factory(self) -> str` - responsible to return correct tool execute name according to e.g. OS. Should use `tool_executable_name` structure as store for names.\n* `check_if_available(self) -> None` - responsible for checking, if tool is available and executable in system. Should raise exception if not\n* `get_version(self) -> str` - responsible for getting version of tool.\n\nAll methods and `tool_executable_name` variable in class must be implemented in developed tool.\nArguments in public methods must be forced as named arguments:\n`__init__(self, *, arg1, arg2)` etc.\n\n## Usage\nExample implementation using ToolTemplate:\n\n```python\nfrom mfd_base_tool import ToolTemplate\n\n\nclass MyTool(ToolTemplate):\n    tool_executable_name = \"my tool name\"\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n\n    def _get_tool_exec_factory(self) -> str:\n        return self.tool_executable_name\n\n    def check_if_available(self) -> None:\n        if not \"if statement for check\":\n            raise MyToolNotAvailable()\n\n    def get_version(self) -> str:\n        return \"my read tool version\"\n    \n    def my_tool_method(self):\n        pass\n```\n## OS supported:\n* LNX\n* WINDOWS\n* ESXI\n* FREEBSD\n* EFI shell support\n\n## Issue reporting\n\nIf you encounter any bugs or have suggestions for improvements, you're welcome to contribute directly or open an issue [here](https://github.com/intel/mfd-base-tool/issues).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Module that contains abstraction of tool in Modular Framework Design (MFD).",
    "version": "2.7.0",
    "project_urls": {
        "Changelog": "https://github.com/intel/mfd-tool/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/intel/mfd",
        "Issues": "https://github.com/intel/mfd-tool/issues",
        "Repository": "https://github.com/intel/mfd-tool"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d469b0a397c332a6e77d437a0fb16f5794c9c0fe2b21dae711f1c6029a4dc759",
                "md5": "a353f897dc60b6dc6cb465412dda4837",
                "sha256": "e8694d2cbaeae2c015da51ff2f5df64736e8a5e9db313149ba3702f962acdf80"
            },
            "downloads": -1,
            "filename": "mfd_base_tool-2.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a353f897dc60b6dc6cb465412dda4837",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.10",
            "size": 5420,
            "upload_time": "2025-07-09T11:17:30",
            "upload_time_iso_8601": "2025-07-09T11:17:30.801269Z",
            "url": "https://files.pythonhosted.org/packages/d4/69/b0a397c332a6e77d437a0fb16f5794c9c0fe2b21dae711f1c6029a4dc759/mfd_base_tool-2.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 11:17:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "intel",
    "github_project": "mfd-tool",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "mfd-typing",
            "specs": [
                [
                    "<",
                    "2"
                ],
                [
                    ">=",
                    "1.23.0"
                ]
            ]
        },
        {
            "name": "mfd-common-libs",
            "specs": [
                [
                    "<",
                    "2"
                ],
                [
                    ">=",
                    "1.11.0"
                ]
            ]
        }
    ],
    "lcname": "mfd-base-tool"
}
        
Elapsed time: 0.78722s