cjnfuncs


Namecjnfuncs JSON
Version 2.3 PyPI version JSON
download
home_pageNone
SummaryA collection of core functions for tool script writing
upload_time2024-08-23 03:00:23
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseMIT License Copyright (c) 2019 Chris Nelson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cjnfuncs - A framework and collection of utility functions for script writing

## cjnfuncs is comprised of several modules (follow links to respective documentation)

NOTE:  Since relative links to other .md files do not work on PyPI, please go to the [cjnfuncs GitHub repo](https://github.com/cjnaz/cjnfuncs) to read the documentation. 

module | Description/Purpose
--|--
[core](core.md)               | Set up the base environment
[configman](configman.md)     | Feature-rich configuration file toolset
[timevalue](timevalue.md)     | Handle time values with units, such as '5m' (5 minutes)
[mungePath](mungePath.md)     | Ease-of-use pathlib extension for constructing and manipulating file paths
[deployfiles](deployfiles.md) | Push bundled setup files within a package to the proper user/system locations
[resourcelock](resourcelock.md) | Inter-process resource lock mechanism
[SMTP](SMTP.md)               | Send notification and email messages

Developed and tested on Python 3.6.8, and supported on all higher Python versions.
Developed on Linux.  Not supported on Windows (posix-ipc module dependency).

In this documentation, "tool script" refers to a Python project that imports and uses cjnfuncs. Some may be simple scripts, and others may themselves be installed packages.

<br/>

## Installation and usage

```
pip install cjnfuncs
```

A package template using cjnfuncs is available at https://github.com/cjnaz/tool_template, which 
is the basis of PyPI posted tools such as:
  - [lanmonitor](https://pypi.org/project/lanmonitor/)
  - [wanstatus](https://pypi.org/project/wanstatus/)
  - [routermonitor](https://pypi.org/project/routermonitor/)

Project repo:  https://github.com/cjnaz/cjnfuncs

<br/>

## Revision history
- 2.3 240821 - Added mungePath ./ support.
  Resolved check_path_exists() memory leak.
  Added `same_process_ok` to resourcelock.getlock()
  Added prereload_callback to config_item.loadconfig()
- 2.2 240119 - Added SMTP DKIM support.  Set SMTP server connect timeout to EmailRetryWait.
- 2.1 240104 - Partitioned to separate modules.
  Added modify_configfile. 
  Added native support for float, list, tuple, and dict in loadconfig(). 
  Added getcfg() type checking. 
  Documentation touch for logging formats in config file. 
  Improved snd_notif failure logging. 
  Added email/notif send retries.
  Added resourcelock module.
- 2.0.1 230222 - deploy_files() fix for files from package
- 2.0 230208 - Refactored and converted to installed package.  Renamed funcs3 to cjnfuncs.
- ...
- 0.1 180524 - New.  First github posting

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cjnfuncs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Chris Nelson <github@cjnaz.com>",
    "download_url": "https://files.pythonhosted.org/packages/c3/2b/eedf8dec2aee5af3ecd5ce9b8cf774f670956ef5e46b14f8ef8b22adb390/cjnfuncs-2.3.tar.gz",
    "platform": null,
    "description": "# cjnfuncs - A framework and collection of utility functions for script writing\n\n## cjnfuncs is comprised of several modules (follow links to respective documentation)\n\nNOTE:  Since relative links to other .md files do not work on PyPI, please go to the [cjnfuncs GitHub repo](https://github.com/cjnaz/cjnfuncs) to read the documentation. \n\nmodule | Description/Purpose\n--|--\n[core](core.md)               | Set up the base environment\n[configman](configman.md)     | Feature-rich configuration file toolset\n[timevalue](timevalue.md)     | Handle time values with units, such as '5m' (5 minutes)\n[mungePath](mungePath.md)     | Ease-of-use pathlib extension for constructing and manipulating file paths\n[deployfiles](deployfiles.md) | Push bundled setup files within a package to the proper user/system locations\n[resourcelock](resourcelock.md) | Inter-process resource lock mechanism\n[SMTP](SMTP.md)               | Send notification and email messages\n\nDeveloped and tested on Python 3.6.8, and supported on all higher Python versions.\nDeveloped on Linux.  Not supported on Windows (posix-ipc module dependency).\n\nIn this documentation, \"tool script\" refers to a Python project that imports and uses cjnfuncs. Some may be simple scripts, and others may themselves be installed packages.\n\n<br/>\n\n## Installation and usage\n\n```\npip install cjnfuncs\n```\n\nA package template using cjnfuncs is available at https://github.com/cjnaz/tool_template, which \nis the basis of PyPI posted tools such as:\n  - [lanmonitor](https://pypi.org/project/lanmonitor/)\n  - [wanstatus](https://pypi.org/project/wanstatus/)\n  - [routermonitor](https://pypi.org/project/routermonitor/)\n\nProject repo:  https://github.com/cjnaz/cjnfuncs\n\n<br/>\n\n## Revision history\n- 2.3 240821 - Added mungePath ./ support.\n  Resolved check_path_exists() memory leak.\n  Added `same_process_ok` to resourcelock.getlock()\n  Added prereload_callback to config_item.loadconfig()\n- 2.2 240119 - Added SMTP DKIM support.  Set SMTP server connect timeout to EmailRetryWait.\n- 2.1 240104 - Partitioned to separate modules.\n  Added modify_configfile. \n  Added native support for float, list, tuple, and dict in loadconfig(). \n  Added getcfg() type checking. \n  Documentation touch for logging formats in config file. \n  Improved snd_notif failure logging. \n  Added email/notif send retries.\n  Added resourcelock module.\n- 2.0.1 230222 - deploy_files() fix for files from package\n- 2.0 230208 - Refactored and converted to installed package.  Renamed funcs3 to cjnfuncs.\n- ...\n- 0.1 180524 - New.  First github posting\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2019 Chris Nelson  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "A collection of core functions for tool script writing",
    "version": "2.3",
    "project_urls": {
        "repository": "https://github.com/cjnaz/cjnfuncs"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8429025e2f65d816f756b93d2fee4690644d5e368472d2e46a0a82b3cb9ad0c3",
                "md5": "579b916bbb188861972ffff5e7163acb",
                "sha256": "e3fac4f90118e8e8ae7bca9bb4281c9634f073ad47fae48412b6e16a231e23c6"
            },
            "downloads": -1,
            "filename": "cjnfuncs-2.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "579b916bbb188861972ffff5e7163acb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 33501,
            "upload_time": "2024-08-23T03:00:22",
            "upload_time_iso_8601": "2024-08-23T03:00:22.362681Z",
            "url": "https://files.pythonhosted.org/packages/84/29/025e2f65d816f756b93d2fee4690644d5e368472d2e46a0a82b3cb9ad0c3/cjnfuncs-2.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c32beedf8dec2aee5af3ecd5ce9b8cf774f670956ef5e46b14f8ef8b22adb390",
                "md5": "d039af8b526c80d23b76e3a6bd3147de",
                "sha256": "50d51be027286f004bf9f906a279e36ad548aa661283098b67f3ecdaf3e40631"
            },
            "downloads": -1,
            "filename": "cjnfuncs-2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "d039af8b526c80d23b76e3a6bd3147de",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 31513,
            "upload_time": "2024-08-23T03:00:23",
            "upload_time_iso_8601": "2024-08-23T03:00:23.779430Z",
            "url": "https://files.pythonhosted.org/packages/c3/2b/eedf8dec2aee5af3ecd5ce9b8cf774f670956ef5e46b14f8ef8b22adb390/cjnfuncs-2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-23 03:00:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cjnaz",
    "github_project": "cjnfuncs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "cjnfuncs"
}
        
Elapsed time: 0.62580s