Skip to main content

A collection of core functions for tool script writing

Project description

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 to read the documentation.

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


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:

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


Revision history

  • 2.4 241105 - Twilio support in snd_notif, resource_lock trace/debug features, check_path_exists exception fix
  • 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

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

cjnfuncs-2.4.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

cjnfuncs-2.4-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file cjnfuncs-2.4.tar.gz.

File metadata

  • Download URL: cjnfuncs-2.4.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for cjnfuncs-2.4.tar.gz
Algorithm Hash digest
SHA256 8f2a19b98286c12737062ee714c3ae8999dc9f605fc28194c6b6797a4a8857b8
MD5 e5c82f4c0e64d26b38889bd22c024195
BLAKE2b-256 0ccd9ef49da039a8ba5b64420030d3c7a26fc27de0eb3a01e8c07e7bb69e1fa8

See more details on using hashes here.

File details

Details for the file cjnfuncs-2.4-py3-none-any.whl.

File metadata

  • Download URL: cjnfuncs-2.4-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for cjnfuncs-2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f51f882f61608a58baf1bbeb4e8af6d61a0297ccab50d37a758c4fe223e0330a
MD5 9aac5450e89a22720824371cc8df117d
BLAKE2b-256 c1dbfb9863a13d66d8c4e8f5215dee790f06fb66be254d264523c63c98b84dec

See more details on using hashes here.

Supported by

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