Zensols Utilities

Command line, configuration and persistence utilities generally used for any
more than basic application.  This general purpose library is small, has few
dependencies, and helpful across many applications.  Some features include:

  • A [Java Spring] like application level support for [configuration] than
    [configparser].
  • Construct objects using configuration files (both INI and YAML).
  • Parse primitives, dictionaries, file system objects, instances of classes.
  • A [command action library] using an action mnemonic to invocation of a
    handler that is integrated with a the configuration API.  This supports long
    and short GNU style options as provided by [optparse].
  • Streamline in memory and on disk persistence.
  • Multi-processing work with a persistence layer.

A secondary goal of the API is to make prototyping Python code quick and easy
using the REPL.  Examples include reloading modules in the configuration
factory.

Documentation

See the [full documentation].

Obtaining

The easiest way to install the command line program is via the pip installer:

pip3 install zensols.util

Template

The easiest to get started is to [template] out this project is to create your
own boilerplate project with the mkproj utility.  This requires a [Java
installation], and easy to create a Python boilerplate with the following
commands:

# clone the boilerplate repo
git clone https://github.com/plandes/template
# download the boilerplate tool
wget https://github.com/plandes/clj-mkproj/releases/download/v0.0.7/mkproj.jar
# create a python template and build it out
java -jar mkproj.jar config -s template/python
java -jar mkproj.jar

This creates a project customized with your organization's name, author, and
other details about the project.  In addition, it also creates a sample
configuration file and command line that is ready to be invoked by either a
Python REPL or from the command line via [GNU make].

If you don't want to bother installing this program, the following sections
have generated code as examples from which you can copy/paste.

GitHub - plandes/util: Command line, configuration and persistence utilities
Command line, configuration and persistence utilities - GitHub - plandes/util: Command line, configuration and persistence utilities