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.1.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

cjnfuncs-2.4.1-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cjnfuncs-2.4.1.tar.gz
  • Upload date:
  • Size: 34.8 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.1.tar.gz
Algorithm Hash digest
SHA256 e957d3363b8603c6b8c4acc9e48b48b4e77be65ec2199e46f5ce4921b701a96a
MD5 27d77327d59f15391b8ba7137f36322e
BLAKE2b-256 603f41dc2e683df5b6cdc52c00edf5252ab3ffaa99f6191c1678199bd20a7827

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cjnfuncs-2.4.1-py3-none-any.whl
  • Upload date:
  • Size: 36.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be5b6e1129bde4efbdf62ad303aee3e400e4edf8157f14b6201d19cbf44624e0
MD5 dbb1680e15d58833008cf112e3a1cc24
BLAKE2b-256 184293b267366fb63489f84c93cd5266172e0a545d0d37847e5080386fe8a03a

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