Metadata-Version: 2.1
Name: zensols.util
Version: 1.3.3
Summary: Command line, configuration and persistence utilites generally used for any more than basic application.
Home-page: https://github.com/plandes/util
Author: Paul Landes
Author-email: landes@mailc.net
License: UNKNOWN
Download-URL: https://github.com/plandes/util/releases/download/v1.3.3/zensols.util-1.3.3-py3-none-any.whl
Description: # Zensols Utilities
        
        [![PyPI][pypi-badge]][pypi-link]
        [![Python 3.7][python37-badge]][python37-link]
        [![Python 3.8][python38-badge]][python38-link]
        [![Python 3.9][python39-badge]][python39-link]
        [![Build Status][build-badge]][build-link]
        
        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](doc/persist.md).
        * Multi-processing work with a [persistence layer](doc/persist.md).
        
        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](doc/config.md).
        
        
        ## Documentation
        
        See the [full documentation].
        
        
        ## Obtaining
        
        The easiest way to install the command line program is via the `pip` installer:
        ```bash
        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:
        
        ```bash
        # 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.
        
        
        ## Changelog
        
        An extensive changelog is available [here](CHANGELOG.md).
        
        
        ## License
        
        [MIT License](LICENSE.md)
        
        Copyright (c) 2020 Paul Landes
        
        
        <!-- links -->
        [pypi]: https://pypi.org/project/zensols.util/
        [pypi-link]: https://pypi.python.org/pypi/zensols.util
        [pypi-badge]: https://img.shields.io/pypi/v/zensols.util.svg
        [python37-badge]: https://img.shields.io/badge/python-3.7-blue.svg
        [python37-link]: https://www.python.org/downloads/release/python-370
        [python38-badge]: https://img.shields.io/badge/python-3.8-blue.svg
        [python38-link]: https://www.python.org/downloads/release/python-380
        [python39-badge]: https://img.shields.io/badge/python-3.9-blue.svg
        [python39-link]: https://www.python.org/downloads/release/python-390
        [build-badge]: https://github.com/plandes/util/workflows/CI/badge.svg
        [build-link]: https://github.com/plandes/util/actions
        
        [Java Spring]: https://spring.io
        [Java installation]: https://java.com/en/download/
        
        [full documentation]: https://plandes.github.io/util/
        [template]: https://github.com/plandes/template
        [GNU make]: https://www.gnu.org/software/make/
        [configparser]: https://docs.python.org/3/library/configparser.html
        [optparse]: https://docs.python.org/3/library/optparse.html
        
        [command action library]: doc/command-line.md
        [configuration]: doc/config.md
        
Keywords: tooling
Platform: UNKNOWN
Description-Content-Type: text/markdown
