15
0

- Update to 0.14.2

* Use hatch (#205)
  * style: fmt
  * fix: fix for lint
  * chore: refine github actions (#206)
  * Typing (#207)
  * Create AGENTS.md for jules (#210)
  * Refactor: Migrate to src layout (#211)
  * feat: Add English docstrings to public APIs (#212)
  * Update AGENTS.md
  * Add docstrings to public APIs in dictknife.loading
    and submodules (#213)
  * fix: fix type, loading module
  * chore: bump version
- Drop support-python-310.patch, fixed upstream
- Update BuildRequires from pyproject.toml

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-dictknife?expand=0&rev=15
This commit is contained in:
2025-07-31 15:37:46 +00:00
committed by Git OBS Bridge
commit e978930302
7 changed files with 231 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
dictknife-0.14.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77d7304f995a2996d4b09efc7dc5757943a2d5a6cbadbccb52d4bee238a7cdcc
size 100657

3
dictknife-0.14.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0575b05a25291988ef389f87dc6044d1f6c8db7d2ad00f9730b0262364c29432
size 115197

75
python-dictknife.changes Normal file
View File

@@ -0,0 +1,75 @@
-------------------------------------------------------------------
Sun Jul 27 12:37:16 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 0.14.2
* Use hatch (#205)
* style: fmt
* fix: fix for lint
* chore: refine github actions (#206)
* Typing (#207)
* Create AGENTS.md for jules (#210)
* Refactor: Migrate to src layout (#211)
* feat: Add English docstrings to public APIs (#212)
* Update AGENTS.md
* Add docstrings to public APIs in dictknife.loading
and submodules (#213)
* fix: fix type, loading module
* chore: bump version
- Drop support-python-310.patch, fixed upstream
- Update BuildRequires from pyproject.toml
-------------------------------------------------------------------
Thu Jun 5 06:01:36 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Switch to pyproject macros.
-------------------------------------------------------------------
Mon Mar 18 10:48:41 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.14.1:
* fix bug `unexpected keyword argument loader` is occured when
yaml library is not installed
-------------------------------------------------------------------
Sat Dec 2 14:18:06 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.14.0:
* use tomlkit instead of qtoml
* use ruamel.yaml instead of pyyaml (for preserving comments)
* add `dictknife diff -o pair`
-------------------------------------------------------------------
Thu Apr 14 19:15:20 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update optional runtime and buildtime requirements
* 0.13 replaced deprecated ouauth2client with newer oauthlib.
* 0.11 replaced toml with qtoml (unavailabe in TW)
-------------------------------------------------------------------
Thu Feb 3 01:38:47 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch support-python-310.patch:
* Support Python 3.10.
-------------------------------------------------------------------
Mon Dec 13 13:55:39 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Drop python 3.6 support since python-google-api-python-client
dropped it
-------------------------------------------------------------------
Mon Aug 17 07:16:31 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Fix source url to match up the reality as this was fetched from
github
-------------------------------------------------------------------
Wed Aug 12 04:30:58 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
- Update to v0.13.0
-------------------------------------------------------------------
Fri Jul 12 09:13:13 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Initial spec for v0.10.3

93
python-dictknife.spec Normal file
View File

@@ -0,0 +1,93 @@
#
# spec file for package python-dictknife
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-dictknife
Version: 0.14.2
Release: 0
Summary: Army knife of handling data
License: MIT
URL: https://github.com/podhmo/dictknife
Source: https://github.com/podhmo/dictknife/archive/%{version}.tar.gz#/dictknife-%{version}.tar.gz
BuildRequires: %{python_module google-api-python-client}
BuildRequires: %{python_module google-auth-oauthlib}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module jsonpatch}
BuildRequires: %{python_module magicalimport}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module prestring}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module ruamel.yaml}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires(post): update-alternatives
Requires(postun): update-alternatives
Suggests: python-ruamel.yaml
Suggests: python-google-api-python-client
Suggests: python-google-auth-oauthlib
Suggests: python-jsonpatch
Suggests: python-magicalimport
Suggests: python-prestring
BuildArch: noarch
%python_subpackages
%description
Army knife of handling data, able to read and write JSON, YAML and TOML,
and transform, merge and diff datasets.
Includes jsonknife for splitting files and dereferencing JSON using
JSON pointer syntax.
%prep
%autosetup -p1 -n dictknife-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/dictknife
%python_clone -a %{buildroot}%{_bindir}/jsonknife
%python_clone -a %{buildroot}%{_bindir}/swaggerknife
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%post
%python_install_alternative dictknife
%python_install_alternative jsonknife
%python_install_alternative swaggerknife
%postun
%python_uninstall_alternative dictknife
%python_uninstall_alternative jsonknife
%python_uninstall_alternative swaggerknife
%check
%pytest
%files %{python_files}
%doc README.md
%license LICENSE
%python_alternative %{_bindir}/dictknife
%python_alternative %{_bindir}/jsonknife
%python_alternative %{_bindir}/swaggerknife
%{python_sitelib}/dictknife
%{python_sitelib}/dictknife-%{version}*-info
%changelog

33
support-python-310.patch Normal file
View File

@@ -0,0 +1,33 @@
Index: dictknife-0.14.0/dictknife/tests/cliutils/test_extraarguments.py
===================================================================
--- dictknife-0.14.0.orig/dictknife/tests/cliutils/test_extraarguments.py
+++ dictknife-0.14.0/dictknife/tests/cliutils/test_extraarguments.py
@@ -1,3 +1,4 @@
+import sys
import textwrap
import unittest
@@ -22,18 +23,21 @@ class Tests(unittest.TestCase):
return target
def test_help_message(self):
+ ending = "al arguments"
+ if sys.version_info >= (3, 10):
+ ending = "s"
target = self._makeOne()
expected = textwrap.dedent(
"""
usage: cmd [-h]
- options:
+ option%s:
-h, --help show this help message and exit
extra arguments: (with --extra<option>)
for --format=json:
--sort-keys sort keys
- """
+ """ % (ending, )
).strip()
actual = target.parser.format_help().strip()