m9lib


Namem9lib JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
Summarym9 utility library
upload_time2025-07-20 17:49:29
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*)
- [sync-files](https://github.com/MarcusNyne/sync-files): 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 | uStringFormat | [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/49/b2/a33eab81a1d83e71e3729bd99ace9edcd871d5165c629a2b45d73a1f9953/m9lib-1.0.1.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- [sync-files](https://github.com/MarcusNyne/sync-files): 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 | uStringFormat | [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.1",
    "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": "c46927bd39c3047693db03f5d703dbe6b667d08692f5116ee022ac435a4f0351",
                "md5": "16ccdfc1ac96b8a9277dea31ace86ac6",
                "sha256": "87626ee1799a12de2df2f600d91cfd5d51de3150394e86b1937e9bd51ed7423a"
            },
            "downloads": -1,
            "filename": "m9lib-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "16ccdfc1ac96b8a9277dea31ace86ac6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10.6",
            "size": 41292,
            "upload_time": "2025-07-20T17:49:28",
            "upload_time_iso_8601": "2025-07-20T17:49:28.170837Z",
            "url": "https://files.pythonhosted.org/packages/c4/69/27bd39c3047693db03f5d703dbe6b667d08692f5116ee022ac435a4f0351/m9lib-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "49b2a33eab81a1d83e71e3729bd99ace9edcd871d5165c629a2b45d73a1f9953",
                "md5": "6866eceb15ef5ee7ece12a304206ba78",
                "sha256": "ccd16eb372f1253dda81a036aeb47b6663f3d1a0bc4f6ee1e91e5799ead4fd12"
            },
            "downloads": -1,
            "filename": "m9lib-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6866eceb15ef5ee7ece12a304206ba78",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10.6",
            "size": 82455,
            "upload_time": "2025-07-20T17:49:29",
            "upload_time_iso_8601": "2025-07-20T17:49:29.539621Z",
            "url": "https://files.pythonhosted.org/packages/49/b2/a33eab81a1d83e71e3729bd99ace9edcd871d5165c629a2b45d73a1f9953/m9lib-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-20 17:49:29",
    "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: 2.15722s