diff --git a/doc/click.rst b/doc/click.rst index 84e9199..ee72f92 100644 --- a/doc/click.rst +++ b/doc/click.rst @@ -1,4 +1,5 @@ .. SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +.. SPDX-FileContributor: Amir Mohammadi .. .. SPDX-License-Identifier: BSD-3-Clause diff --git a/doc/config.rst b/doc/config.rst index 1885b0c..3dc9237 100644 --- a/doc/config.rst +++ b/doc/config.rst @@ -1,4 +1,5 @@ .. SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +.. SPDX-FileContributor: Amir Mohammadi .. .. SPDX-License-Identifier: BSD-3-Clause diff --git a/doc/rc.rst b/doc/rc.rst index 548a131..3b842d8 100644 --- a/doc/rc.rst +++ b/doc/rc.rst @@ -1,4 +1,5 @@ .. SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +.. SPDX-FileContributor: Amir Mohammadi .. .. SPDX-License-Identifier: BSD-3-Clause diff --git a/pixi.lock b/pixi.lock index 1904289..06c0b41 100644 --- a/pixi.lock +++ b/pixi.lock @@ -939,7 +939,7 @@ packages: url: https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl sha256: 99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1 requires_dist: - - importlib-metadata ; python_version < '3.8' + - importlib-metadata ; python_full_version < '3.8' - attrs[tests] ; extra == 'cov' - coverage[toml]>=5.3 ; extra == 'cov' - attrs[tests] ; extra == 'dev' @@ -953,8 +953,8 @@ packages: - zope-interface ; extra == 'docs' - attrs[tests-no-zope] ; extra == 'tests' - zope-interface ; extra == 'tests' - - mypy>=1.6 ; (platform_python_implementation == 'CPython' and python_version >= '3.8') and extra == 'tests-mypy' - - pytest-mypy-plugins ; (platform_python_implementation == 'CPython' and python_version >= '3.8') and extra == 'tests-mypy' + - mypy>=1.6 ; python_full_version >= '3.8' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' + - pytest-mypy-plugins ; python_full_version >= '3.8' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' - attrs[tests-mypy] ; extra == 'tests-no-zope' - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'tests-no-zope' - hypothesis ; extra == 'tests-no-zope' @@ -1008,7 +1008,7 @@ packages: url: https://files.pythonhosted.org/packages/27/45/377f7e32a5c93d94cd56542349b34efab5ca3f9e2fd5a68c5e93169aa32d/Babel-2.15.0-py3-none-any.whl sha256: 08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb requires_dist: - - pytz>=2015.7 ; python_version < '3.9' + - pytz>=2015.7 ; python_full_version < '3.9' - pytest>=6.0 ; extra == 'dev' - pytest-cov ; extra == 'dev' - freezegun~=1.0 ; extra == 'dev' @@ -1364,14 +1364,14 @@ packages: - kind: pypi name: charset-normalizer version: 3.3.2 - url: https://files.pythonhosted.org/packages/ee/fb/14d30eb4956408ee3ae09ad34299131fb383c47df355ddb428a7331cfa1e/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b + url: https://files.pythonhosted.org/packages/3a/52/9f9d17c3b54dc238de384c4cb5a2ef0e27985b42a0e5cc8e8a31d918d48d/charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl + sha256: 55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 requires_python: '>=3.7.0' - kind: pypi name: charset-normalizer version: 3.3.2 - url: https://files.pythonhosted.org/packages/3a/52/9f9d17c3b54dc238de384c4cb5a2ef0e27985b42a0e5cc8e8a31d918d48d/charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl - sha256: 55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 + url: https://files.pythonhosted.org/packages/ee/fb/14d30eb4956408ee3ae09ad34299131fb383c47df355ddb428a7331cfa1e/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + sha256: 90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b requires_python: '>=3.7.0' - kind: conda name: charset-normalizer @@ -1392,9 +1392,9 @@ packages: timestamp: 1698833765762 - kind: pypi name: clapper - version: 1.1.2.dev32+g7936091.d20240717 + version: 1.3.2.dev1+g56c4ef9 path: . - sha256: 3dc19e3e46fbebd5655ae2032197b8852653df924faecdc038e3fc8a25047540 + sha256: 608d9d033714c16334390d8435cd0fa772c9eee017990c901f5d1e249b9d4bdb requires_dist: - click>=8 - tomli @@ -1435,7 +1435,7 @@ packages: sha256: ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 requires_dist: - colorama ; platform_system == 'Windows' - - importlib-metadata ; python_version < '3.8' + - importlib-metadata ; python_full_version < '3.8' requires_python: '>=3.7' - kind: conda name: click @@ -1475,18 +1475,18 @@ packages: - kind: pypi name: coverage version: 7.6.0 - url: https://files.pythonhosted.org/packages/f2/aa/0419103c357bfd95a65d7b2e2249f9f1d79194241c5e87819cd81d36b96c/coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382 + url: https://files.pythonhosted.org/packages/7b/14/3432bbdabeaa79de25421d24161ab472578ffe73fc56b0aa9411bea66335/coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8 requires_dist: - - tomli ; python_full_version <= '3.11.0a6' and extra == 'toml' + - tomli ; python_full_version <= '3.11' and extra == 'toml' requires_python: '>=3.8' - kind: pypi name: coverage version: 7.6.0 - url: https://files.pythonhosted.org/packages/7b/14/3432bbdabeaa79de25421d24161ab472578ffe73fc56b0aa9411bea66335/coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl - sha256: bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8 + url: https://files.pythonhosted.org/packages/f2/aa/0419103c357bfd95a65d7b2e2249f9f1d79194241c5e87819cd81d36b96c/coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + sha256: 0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382 requires_dist: - - tomli ; python_full_version <= '3.11.0a6' and extra == 'toml' + - tomli ; python_full_version <= '3.11' and extra == 'toml' requires_python: '>=3.8' - kind: conda name: coverage @@ -1614,7 +1614,7 @@ packages: - pytest-timeout>=2.2 ; extra == 'testing' - pytest>=7.4.3 ; extra == 'testing' - virtualenv>=20.26.2 ; extra == 'testing' - - typing-extensions>=4.8 ; python_version < '3.11' and extra == 'typing' + - typing-extensions>=4.8 ; python_full_version < '3.11' and extra == 'typing' requires_python: '>=3.8' - kind: conda name: filelock @@ -2311,8 +2311,8 @@ packages: - kind: pypi name: lxml version: 5.2.2 - url: https://files.pythonhosted.org/packages/9a/87/cff3c63ebe067ec9a7cc1948c379b8a16e7990c29bd5baf77c0a1dbd03c0/lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl - sha256: d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927 + url: https://files.pythonhosted.org/packages/26/36/6e00905cb4de2d014f4a62df58f0e82d262b5461245d951a6e7442b0222a/lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl + sha256: 7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391 requires_dist: - cssselect>=0.7 ; extra == 'cssselect' - html5lib ; extra == 'html5' @@ -2323,8 +2323,8 @@ packages: - kind: pypi name: lxml version: 5.2.2 - url: https://files.pythonhosted.org/packages/26/36/6e00905cb4de2d014f4a62df58f0e82d262b5461245d951a6e7442b0222a/lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl - sha256: 7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391 + url: https://files.pythonhosted.org/packages/9a/87/cff3c63ebe067ec9a7cc1948c379b8a16e7990c29bd5baf77c0a1dbd03c0/lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl + sha256: d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927 requires_dist: - cssselect>=0.7 ; extra == 'cssselect' - html5lib ; extra == 'html5' @@ -2780,8 +2780,8 @@ packages: - iniconfig - packaging - pluggy<2.0,>=1.5 - - exceptiongroup>=1.0.0rc8 ; python_version < '3.11' - - tomli>=1 ; python_version < '3.11' + - exceptiongroup>=1.0.0rc8 ; python_full_version < '3.11' + - tomli>=1 ; python_full_version < '3.11' - colorama ; sys_platform == 'win32' - argcomplete ; extra == 'dev' - attrs>=19.2 ; extra == 'dev' @@ -3046,14 +3046,14 @@ packages: - kind: pypi name: pyyaml version: 6.0.1 - url: https://files.pythonhosted.org/packages/b4/33/720548182ffa8344418126017aa1d4ab4aeec9a2275f04ce3f3573d8ace8/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 + url: https://files.pythonhosted.org/packages/84/02/404de95ced348b73dd84f70e15a41843d817ff8c1744516bf78358f2ffd2/PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl + sha256: 40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 requires_python: '>=3.6' - kind: pypi name: pyyaml version: 6.0.1 - url: https://files.pythonhosted.org/packages/84/02/404de95ced348b73dd84f70e15a41843d817ff8c1744516bf78358f2ffd2/PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl - sha256: 40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 + url: https://files.pythonhosted.org/packages/b4/33/720548182ffa8344418126017aa1d4ab4aeec9a2275f04ce3f3573d8ace8/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + sha256: 6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 requires_python: '>=3.6' - kind: conda name: pyyaml @@ -3204,14 +3204,14 @@ packages: - kind: pypi name: ruff version: 0.5.2 - url: https://files.pythonhosted.org/packages/ec/60/e2a9ae058b34128caa5f863f268e1c9bd083793264f4bf7e8e469be651f9/ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 1ed02fb52e3741f0738db5f93e10ae0fb5c71eb33a4f2ba87c9a2fa97462a649 + url: https://files.pythonhosted.org/packages/0f/52/9e7868770615c16be60549746ad6f48f483320f7ecf5a294f4f051f4e7d4/ruff-0.5.2-py3-none-macosx_11_0_arm64.whl + sha256: aec618d5a0cdba5592c60c2dee7d9c865180627f1a4a691257dea14ac1aa264d requires_python: '>=3.7' - kind: pypi name: ruff version: 0.5.2 - url: https://files.pythonhosted.org/packages/0f/52/9e7868770615c16be60549746ad6f48f483320f7ecf5a294f4f051f4e7d4/ruff-0.5.2-py3-none-macosx_11_0_arm64.whl - sha256: aec618d5a0cdba5592c60c2dee7d9c865180627f1a4a691257dea14ac1aa264d + url: https://files.pythonhosted.org/packages/ec/60/e2a9ae058b34128caa5f863f268e1c9bd083793264f4bf7e8e469be651f9/ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + sha256: 1ed02fb52e3741f0738db5f93e10ae0fb5c71eb33a4f2ba87c9a2fa97462a649 requires_python: '>=3.7' - kind: conda name: ruff @@ -3358,8 +3358,8 @@ packages: - imagesize>=1.3 - requests>=2.30.0 - packaging>=23.0 - - importlib-metadata>=6.0 ; python_version < '3.10' - - tomli>=2 ; python_version < '3.11' + - importlib-metadata>=6.0 ; python_full_version < '3.10' + - tomli>=2 ; python_full_version < '3.11' - colorama>=0.4.6 ; sys_platform == 'win32' - sphinxcontrib-websupport ; extra == 'docs' - flake8>=6.0 ; extra == 'lint' @@ -3942,14 +3942,14 @@ packages: - kind: pypi name: uv version: 0.2.25 - url: https://files.pythonhosted.org/packages/aa/48/a6e8e1b85e882a8ca6ebe2e8fe6b8a4085f01a38fe9030875e4e75fc33fa/uv-0.2.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: aefc47a2d091bf38a56443d0b9c80f54f16a8ac1abe2177313a301ed58ef8e87 + url: https://files.pythonhosted.org/packages/17/3f/3604b4ba302e6989bfcbe5ee35ae701552c6ab989414b9c42876ae465433/uv-0.2.25-py3-none-macosx_11_0_arm64.whl + sha256: b19e15d91c690b0d9fb2086cc60c8f155aafe095afd893442108d7f804ad7439 requires_python: '>=3.8' - kind: pypi name: uv version: 0.2.25 - url: https://files.pythonhosted.org/packages/17/3f/3604b4ba302e6989bfcbe5ee35ae701552c6ab989414b9c42876ae465433/uv-0.2.25-py3-none-macosx_11_0_arm64.whl - sha256: b19e15d91c690b0d9fb2086cc60c8f155aafe095afd893442108d7f804ad7439 + url: https://files.pythonhosted.org/packages/aa/48/a6e8e1b85e882a8ca6ebe2e8fe6b8a4085f01a38fe9030875e4e75fc33fa/uv-0.2.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + sha256: aefc47a2d091bf38a56443d0b9c80f54f16a8ac1abe2177313a301ed58ef8e87 requires_python: '>=3.8' - kind: pypi name: virtualenv @@ -3959,7 +3959,7 @@ packages: requires_dist: - distlib<1,>=0.3.7 - filelock<4,>=3.12.2 - - importlib-metadata>=6.6 ; python_version < '3.8' + - importlib-metadata>=6.6 ; python_full_version < '3.8' - platformdirs<5,>=3.9.1 - furo>=2023.7.26 ; extra == 'docs' - proselint>=0.13 ; extra == 'docs' @@ -3973,7 +3973,7 @@ packages: - flaky>=3.7 ; extra == 'test' - packaging>=23.1 ; extra == 'test' - pytest-env>=0.8.2 ; extra == 'test' - - pytest-freezer>=0.4.8 ; (platform_python_implementation == 'PyPy' or (platform_python_implementation == 'CPython' and sys_platform == 'win32' and python_version >= '3.13')) and extra == 'test' + - pytest-freezer>=0.4.8 ; (python_full_version >= '3.13' and platform_python_implementation == 'CPython' and sys_platform == 'win32' and extra == 'test') or (platform_python_implementation == 'PyPy' and extra == 'test') - pytest-mock>=3.11.1 ; extra == 'test' - pytest-randomly>=3.12 ; extra == 'test' - pytest-timeout>=2.1 ; extra == 'test' diff --git a/pyproject.toml b/pyproject.toml index 3d3f585..7490f93 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause @@ -13,7 +14,7 @@ requires-python = ">=3.10" description = "Configuration Support for Python Packages and CLIs" readme = "README.md" license = "BSD-3-Clause" -authors = [{ name = "Andre Anjos", email = "andre.anjos@idiap.ch" }] +authors = [{ name = "Andre Anjos", email = "andre.anjos@idiap.ch" }, { name = "Amir Mohammadi", email = "amir.mohammadi@idiap.ch" }] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", diff --git a/src/clapper/click.py b/src/clapper/click.py index d773cfd..25505f7 100644 --- a/src/clapper/click.py +++ b/src/clapper/click.py @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause + """Helpers to build command-line interfaces (CLI) via :py:mod:`click`.""" import functools diff --git a/src/clapper/config.py b/src/clapper/config.py index c17bd4a..d5946e7 100644 --- a/src/clapper/config.py +++ b/src/clapper/config.py @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause + """Functionality to implement python-based config file parsing and loading.""" import importlib.util diff --git a/src/clapper/logging.py b/src/clapper/logging.py index 4e72ede..6a429dd 100644 --- a/src/clapper/logging.py +++ b/src/clapper/logging.py @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause + """:py:class:`logging.Logger` setup and stream separation.""" import logging diff --git a/src/clapper/rc.py b/src/clapper/rc.py index 6bc2af5..b425386 100644 --- a/src/clapper/rc.py +++ b/src/clapper/rc.py @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause + """Implements a global configuration system setup and readout.""" import collections.abc diff --git a/tests/test_click.py b/tests/test_click.py index c3980f4..8c455f7 100644 --- a/tests/test_click.py +++ b/tests/test_click.py @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause diff --git a/tests/test_config.py b/tests/test_config.py index 5536731..4e28a55 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause diff --git a/tests/test_rc.py b/tests/test_rc.py index 39d5719..f0e15bc 100644 --- a/tests/test_rc.py +++ b/tests/test_rc.py @@ -1,4 +1,5 @@ # SPDX-FileCopyrightText: Copyright © 2022 Idiap Research Institute +# SPDX-FileContributor: Amir Mohammadi # # SPDX-License-Identifier: BSD-3-Clause