%global _empty_manifest_terminate_build 0 Name: python-maison Version: 1.4.0 Release: 1 Summary: Maison License: MIT URL: https://github.com/dbatten5/maison Source0: https://mirrors.nju.edu.cn/pypi/web/packages/77/a8/45364d855087a54f575f4b946e9f66e4738780d71219b3a77e84bc00de83/maison-1.4.0.tar.gz BuildArch: noarch Requires: python3-click Requires: python3-pydantic Requires: python3-toml %description # Maison [![Actions Status](https://github.com/dbatten5/maison/workflows/Tests/badge.svg)](https://github.com/dbatten5/maison/actions) [![Actions Status](https://github.com/dbatten5/maison/workflows/Release/badge.svg)](https://github.com/dbatten5/maison/actions) [![codecov](https://codecov.io/gh/dbatten5/maison/branch/main/graph/badge.svg?token=948J8ECAQT)](https://codecov.io/gh/dbatten5/maison) [![PyPI version](https://badge.fury.io/py/maison.svg)](https://badge.fury.io/py/maison) Read configuration settings from configuration files. ## Motivation When developing a `python` application, e.g a command-line tool, it can be helpful to allow the user to set their own configuration options to allow them to tailor the tool to their needs. These options are typically set in files in the root of a project directory that uses the tool, for example in a `pyproject.toml` or an `{project_name}.ini` file. `maison` aims to provide a simple and flexible way to read and validate those configuration options so that they may be used in the application. ### Features - Supports multiple config files and multiple config filetypes. - Optional merging of multiple configs. - Optional config validation with [pydantic](https://pydantic-docs.helpmanual.io/). - Caching of config files for quick access. - Fully tested and typed. ## Installation ```bash pip install maison ``` ## Usage Suppose the following `pyproject.toml` lives somewhere in a project directory: ```toml [tool.acme] enable_useful_option = true ``` `maison` exposes a `ProjectConfig` class to retrieve values from config files like so: ```python from maison import ProjectConfig config = ProjectConfig(project_name="acme") if config.get_option("enable_useful_option"): # include the useful option ``` ## Help See the [documentation](https://dbatten5.github.io/maison) for more details. ## Licence MIT %package -n python3-maison Summary: Maison Provides: python-maison BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-maison # Maison [![Actions Status](https://github.com/dbatten5/maison/workflows/Tests/badge.svg)](https://github.com/dbatten5/maison/actions) [![Actions Status](https://github.com/dbatten5/maison/workflows/Release/badge.svg)](https://github.com/dbatten5/maison/actions) [![codecov](https://codecov.io/gh/dbatten5/maison/branch/main/graph/badge.svg?token=948J8ECAQT)](https://codecov.io/gh/dbatten5/maison) [![PyPI version](https://badge.fury.io/py/maison.svg)](https://badge.fury.io/py/maison) Read configuration settings from configuration files. ## Motivation When developing a `python` application, e.g a command-line tool, it can be helpful to allow the user to set their own configuration options to allow them to tailor the tool to their needs. These options are typically set in files in the root of a project directory that uses the tool, for example in a `pyproject.toml` or an `{project_name}.ini` file. `maison` aims to provide a simple and flexible way to read and validate those configuration options so that they may be used in the application. ### Features - Supports multiple config files and multiple config filetypes. - Optional merging of multiple configs. - Optional config validation with [pydantic](https://pydantic-docs.helpmanual.io/). - Caching of config files for quick access. - Fully tested and typed. ## Installation ```bash pip install maison ``` ## Usage Suppose the following `pyproject.toml` lives somewhere in a project directory: ```toml [tool.acme] enable_useful_option = true ``` `maison` exposes a `ProjectConfig` class to retrieve values from config files like so: ```python from maison import ProjectConfig config = ProjectConfig(project_name="acme") if config.get_option("enable_useful_option"): # include the useful option ``` ## Help See the [documentation](https://dbatten5.github.io/maison) for more details. ## Licence MIT %package help Summary: Development documents and examples for maison Provides: python3-maison-doc %description help # Maison [![Actions Status](https://github.com/dbatten5/maison/workflows/Tests/badge.svg)](https://github.com/dbatten5/maison/actions) [![Actions Status](https://github.com/dbatten5/maison/workflows/Release/badge.svg)](https://github.com/dbatten5/maison/actions) [![codecov](https://codecov.io/gh/dbatten5/maison/branch/main/graph/badge.svg?token=948J8ECAQT)](https://codecov.io/gh/dbatten5/maison) [![PyPI version](https://badge.fury.io/py/maison.svg)](https://badge.fury.io/py/maison) Read configuration settings from configuration files. ## Motivation When developing a `python` application, e.g a command-line tool, it can be helpful to allow the user to set their own configuration options to allow them to tailor the tool to their needs. These options are typically set in files in the root of a project directory that uses the tool, for example in a `pyproject.toml` or an `{project_name}.ini` file. `maison` aims to provide a simple and flexible way to read and validate those configuration options so that they may be used in the application. ### Features - Supports multiple config files and multiple config filetypes. - Optional merging of multiple configs. - Optional config validation with [pydantic](https://pydantic-docs.helpmanual.io/). - Caching of config files for quick access. - Fully tested and typed. ## Installation ```bash pip install maison ``` ## Usage Suppose the following `pyproject.toml` lives somewhere in a project directory: ```toml [tool.acme] enable_useful_option = true ``` `maison` exposes a `ProjectConfig` class to retrieve values from config files like so: ```python from maison import ProjectConfig config = ProjectConfig(project_name="acme") if config.get_option("enable_useful_option"): # include the useful option ``` ## Help See the [documentation](https://dbatten5.github.io/maison) for more details. ## Licence MIT %prep %autosetup -n maison-1.4.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-maison -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu May 18 2023 Python_Bot - 1.4.0-1 - Package Spec generated