Metadata-Version: 2.4
Name: ezconfig
Version: 1.9.2
Summary: useful extensions for configparser.ConfigParser
Author-email: Nathan Addy <nathan.addy@windfalltechnical.com>
License: MIT
License-File: LICENSE.txt
Requires-Python: >=3.9
Requires-Dist: python-dateutil
Provides-Extra: dev
Requires-Dist: build>=0.7.0; extra == 'dev'
Requires-Dist: emacsipython; extra == 'dev'
Requires-Dist: ipython; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-autobuild; extra == 'dev'
Requires-Dist: twine>=4.0.0; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
Requires-Dist: pytest>=7.0.0; extra == 'test'
Description-Content-Type: text/markdown

# EZConfig

EZConfig is a package for parsing configuration files.

## Author

nathan.addy@windfalltechnical.com.

## Installation Instructions

Install with pip using
    ```pip install ezconfig```

The latest development version is on github and you can install
it using
    ```pip install git+https://github.com/maronnax/ezconfig.git```

## Package Features

EZConfig provides three major features.

* A Configuration class that wraps the system ConfigParser
  class. It exposes the same get/has/sections interface but the
  get method is overloaded to provide many features.

    *  automatic date parsing

    *  time interval parsing (specify ints, floats, or a float/str
       specifier like 12.5m, 3h, 2.5d.

    *  Filename parsing that returns the absolute path of the config
       param relative to the file in which it was specified.

    *  typecasting to python types

    *  specifying a list, so that a list of filenames or dates or any
       other type supported by the library to be returned as a list
       of the correct type.

    *  Features enabling specifying a lambda function in a
       configuration file, allowing easy specification for user
       defined functionality.

* A ConfigurationSet class that takes a set of filenames and
  exposes a Configuration API interface that allows for querying
  the list of Configuration files together using most*significant
  first rules.

* A set of functions for searching for configuration files in
  standard and developer*friendly locations. EZConfig can easily
  be used to check for repo config files, user home directory
  config files, and system config files and either use the
  one*and*only best or as a ConfigurationSet that uses them all
  together, using values from more-significant configuration
  directories.


## Documentation

Documentation is available at https://ezconfig.readthedocs.io/

This documentation is build out of the ./doc directory and requires
sphinx to build. You can view it locally by cd'ing to doc and
executing `make html`.  Documentation will be in
./doc/_build/html/index.html.
