m9lib


Namem9lib JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
Summarym9 utility library
upload_time2025-07-11 22:11:46
maintainerNone
docs_urlNone
authorM. Fairbanks
requires_python>=3.10.6
licenseNone
keywords ini configuration config parse load batch etl logging color folder files rules csv
VCS
bugtrack_url
requirements m9ini urllib3 beautifulsoup4 soupsieve
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # m9lib Utility Library

m9lib is a python framework for batch processing.  This library also includes general-purpose helper classes for python applications.

The batch processing framework includes:
- A powerful and flexible **Configuration** file format (INI) that drives batch processing
- Support for user-implemented **Command** objects that represent a unit of work to be executed
- A **Control** mechanism for instantiating and executing **Command** objects via configuration
- Integrated **Logging** features, including console logging in color
- Rules-based folder scans using pattern matching, regex, and parent folder

## m9lib Project Creator

The easiest way to get started is with a simple empty project, using the [m9lib project creator](https://github.com/MarcusNyne/m9lib-project).
- Run this application to create an empty vscode project from a template.
- The application itself is a simple example of an m9lib project.

## Sample Projects

A working demonstration of **m9lib** is available from the sample projects below:
- [m9lib-project](https://github.com/MarcusNyne/m9lib-project): Create a simple **m9lib** project from a template. (*simple*)
- [unzip-files](https://github.com/MarcusNyne/unzip-files): Batch process for unziping files. (*simple*)
- [file-sync](https://github.com/MarcusNyne/file-sync): Rules-based folder synchronization process for backing up files. (*intermediate*)

## m9ini Configuration files

**m9lib** uses **m9ini** for reading configuration files.

Read about [m9ini on Github](https://github.com/MarcusNyne/m9ini).

## Basic utilities

| File | Classes | Feature |
| :--- | :--- | :--- |
| u_logger.py | uFileLogger | [Log to a file](docs/logger.md) |
| u_format.py | uFormat | [String formatting](docs/format.md) |
| u_folder.py | uFolder | [Folder utilities](docs/folder.md) |
| u_timer.py | uTimer | [Measure elapsed time](docs/timer.md) |
| u_dictionary.py | uDictionary | [Dictionary wrapper](docs/dictionary.md) |

## Application level

| File | Classes | Feature |
| :--- | :--- | :--- |
| u_args.py | uArgs | [Specify and interpret command line parameters](docs/args.md) |
| u_command.py | uCommand, uCommandResult<br>uCommandRegistry | [Command object representing a unit of work](docs/command.md) |
| u_control.py | uControl | [Command orchestration](docs/control.md) |

## Specialized features

| File | Classes | Feature |
| :--- | :--- | :--- |
| u_csv.py | uCSVFormat, uCSV | [CSV file utilities](docs/csv.md) |
| u_web.py | uWeb, uSoap | [Http helper methods](docs/web.md) |
| u_scan.py | uScanFiles, uScanFolders | [Rules for scanning folder structures](docs/scan.md) |
| u_color.py | uColor, uConsoleColor | [Print to console in color](docs/color.md) |

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "m9lib",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10.6",
    "maintainer_email": null,
    "keywords": "INI, configuration, config, parse, load, batch, etl, logging, color, folder, files, rules, csv",
    "author": "M. Fairbanks",
    "author_email": "marcusnyne@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a6/1d/1f3b7bfbdde3f3f74d26da4f79a59036bd96302e51e9c41eae7fc4db2c41/m9lib-1.0.0.tar.gz",
    "platform": null,
    "description": "# m9lib Utility Library\n\nm9lib is a python framework for batch processing.  This library also includes general-purpose helper classes for python applications.\n\nThe batch processing framework includes:\n- A powerful and flexible **Configuration** file format (INI) that drives batch processing\n- Support for user-implemented **Command** objects that represent a unit of work to be executed\n- A **Control** mechanism for instantiating and executing **Command** objects via configuration\n- Integrated **Logging** features, including console logging in color\n- Rules-based folder scans using pattern matching, regex, and parent folder\n\n## m9lib Project Creator\n\nThe easiest way to get started is with a simple empty project, using the [m9lib project creator](https://github.com/MarcusNyne/m9lib-project).\n- Run this application to create an empty vscode project from a template.\n- The application itself is a simple example of an m9lib project.\n\n## Sample Projects\n\nA working demonstration of **m9lib** is available from the sample projects below:\n- [m9lib-project](https://github.com/MarcusNyne/m9lib-project): Create a simple **m9lib** project from a template. (*simple*)\n- [unzip-files](https://github.com/MarcusNyne/unzip-files): Batch process for unziping files. (*simple*)\n- [file-sync](https://github.com/MarcusNyne/file-sync): Rules-based folder synchronization process for backing up files. (*intermediate*)\n\n## m9ini Configuration files\n\n**m9lib** uses **m9ini** for reading configuration files.\n\nRead about [m9ini on Github](https://github.com/MarcusNyne/m9ini).\n\n## Basic utilities\n\n| File | Classes | Feature |\n| :--- | :--- | :--- |\n| u_logger.py | uFileLogger | [Log to a file](docs/logger.md) |\n| u_format.py | uFormat | [String formatting](docs/format.md) |\n| u_folder.py | uFolder | [Folder utilities](docs/folder.md) |\n| u_timer.py | uTimer | [Measure elapsed time](docs/timer.md) |\n| u_dictionary.py | uDictionary | [Dictionary wrapper](docs/dictionary.md) |\n\n## Application level\n\n| File | Classes | Feature |\n| :--- | :--- | :--- |\n| u_args.py | uArgs | [Specify and interpret command line parameters](docs/args.md) |\n| u_command.py | uCommand, uCommandResult<br>uCommandRegistry | [Command object representing a unit of work](docs/command.md) |\n| u_control.py | uControl | [Command orchestration](docs/control.md) |\n\n## Specialized features\n\n| File | Classes | Feature |\n| :--- | :--- | :--- |\n| u_csv.py | uCSVFormat, uCSV | [CSV file utilities](docs/csv.md) |\n| u_web.py | uWeb, uSoap | [Http helper methods](docs/web.md) |\n| u_scan.py | uScanFiles, uScanFolders | [Rules for scanning folder structures](docs/scan.md) |\n| u_color.py | uColor, uConsoleColor | [Print to console in color](docs/color.md) |\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "m9 utility library",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/MarcusNyne/m9lib"
    },
    "split_keywords": [
        "ini",
        " configuration",
        " config",
        " parse",
        " load",
        " batch",
        " etl",
        " logging",
        " color",
        " folder",
        " files",
        " rules",
        " csv"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9c2eab0e5ea3966450b6e951d7d7649c2a2eb32594d8c3e51704b557f7ec8a2e",
                "md5": "89cac71f19055b73f4bc33cb35e54325",
                "sha256": "ba681b82026380dac35f421a11fb984a438fa453a7d3267a29961a47acf8ada9"
            },
            "downloads": -1,
            "filename": "m9lib-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "89cac71f19055b73f4bc33cb35e54325",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10.6",
            "size": 41049,
            "upload_time": "2025-07-11T22:11:45",
            "upload_time_iso_8601": "2025-07-11T22:11:45.582422Z",
            "url": "https://files.pythonhosted.org/packages/9c/2e/ab0e5ea3966450b6e951d7d7649c2a2eb32594d8c3e51704b557f7ec8a2e/m9lib-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a61d1f3b7bfbdde3f3f74d26da4f79a59036bd96302e51e9c41eae7fc4db2c41",
                "md5": "2ea5754f352491a8c32cff6ad71c7eb5",
                "sha256": "7557d6e901d2af47d1683df9234fa205a34a54703070e85d5ddb0368e21256fa"
            },
            "downloads": -1,
            "filename": "m9lib-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2ea5754f352491a8c32cff6ad71c7eb5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10.6",
            "size": 82146,
            "upload_time": "2025-07-11T22:11:46",
            "upload_time_iso_8601": "2025-07-11T22:11:46.814878Z",
            "url": "https://files.pythonhosted.org/packages/a6/1d/1f3b7bfbdde3f3f74d26da4f79a59036bd96302e51e9c41eae7fc4db2c41/m9lib-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 22:11:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MarcusNyne",
    "github_project": "m9lib",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "m9ini",
            "specs": []
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    "==",
                    "4.12.3"
                ]
            ]
        },
        {
            "name": "soupsieve",
            "specs": [
                [
                    "==",
                    "2.5"
                ]
            ]
        }
    ],
    "lcname": "m9lib"
}
        
Elapsed time: 1.20052s