forked from pool/python-python-box
- Update to 7.3.2:
* Fixing #288 default get value error when using box_dots * Fixing #275 default_box_create_on_get is ignored with from_yaml * Fixing #285 Infinite Recursion when accessing non existent list index in a DefaultBox with box_dots * Fixing #281 consistent error message about missing YAML parser * Removing support for Python 3.8 as it is EOL OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-python-box?expand=0&rev=21
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
3
7.2.0.tar.gz
Normal file
3
7.2.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ae403d70dfe4260397906da4ab8e98f6bb11240e44cdda43c6d23d30115f4ef3
|
||||
size 87699
|
3
7.3.2.tar.gz
Normal file
3
7.3.2.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e36006ee9e1e6a11ad6258831a2f7b4260f3113188ebfe482a47f8df69427194
|
||||
size 88125
|
230
python-python-box.changes
Normal file
230
python-python-box.changes
Normal file
@@ -0,0 +1,230 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 28 05:05:37 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 7.3.2:
|
||||
* Fixing #288 default get value error when using box_dots
|
||||
* Fixing #275 default_box_create_on_get is ignored with from_yaml
|
||||
* Fixing #285 Infinite Recursion when accessing non existent list index in
|
||||
a DefaultBox with box_dots
|
||||
* Fixing #281 consistent error message about missing YAML parser
|
||||
* Removing support for Python 3.8 as it is EOL
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 20 12:50:45 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 7.2.0:
|
||||
* Adding #266 support for accessing nested items in BoxList
|
||||
using numpy-style tuple indexing (thanks to Bit0r)
|
||||
* Adding tests and Cython releases for Python 3.12
|
||||
* Fixing #251 support for circular references in lists (thanks
|
||||
to Muspi Merol)
|
||||
* Fixing #261 altering all __repr__ methods so that subclassing
|
||||
will output the correct class name (thanks to Gabriel Tkacz)
|
||||
* Fixing #267 Fix type 'int' not iterable (thanks to YISH)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 15 21:31:47 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 7.1.1:
|
||||
* Fixing Cython optimized build deployments for linux
|
||||
* Adding #255 defer ipython import for large import speed
|
||||
improvements (thanks to Eric Prestat)
|
||||
* Adding testing for Python 3.12
|
||||
* Fixing #253 merge_update box list merge types not populated
|
||||
to sub dictionaries (thanks to lei wang)
|
||||
* Fixing #257 Two test failures due to arguments having
|
||||
incorrect types (thanks to Michał Górny)
|
||||
* Fixing stub files to match latest code signatures
|
||||
* Removing #251 support for circular references in lists
|
||||
* Removing support for Python 3.7 as it is EOL
|
||||
* Switching off of poetry due to multiple build issues
|
||||
* Adding #169 default functions with the box_instance and key
|
||||
parameter (thanks to Коптев Роман Викторович)
|
||||
* Adding #170 Be able to initialize with a flattened dict - by
|
||||
using DDBox (thanks to Ash A.)
|
||||
* Adding #192 box_dots treats all keys with periods in them as
|
||||
separate keys (thanks to Rexbard)
|
||||
* Adding #211 support for properties and setters in subclasses
|
||||
* Adding #226 namespace to track changes to the box
|
||||
* Adding #236 iPython detection to prevent adding attribute
|
||||
lookup words
|
||||
* Adding #238 allow ``|`` and ``+`` for frozen boxes
|
||||
* Adding new DDBox class (Default Dots Box) that is a subclass
|
||||
of SBox
|
||||
* Fixing #235 how ``|`` and ``+`` updates were performed for
|
||||
right operations
|
||||
* Fixing #234 typos
|
||||
* Fixing no implicit optionals with type hinting
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 9 18:38:35 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
||||
|
||||
- Update to 6.1.0
|
||||
* Adding Python 3.11 support
|
||||
* Adding #195 box_from_string function (thanks to Marcelo Huerta)
|
||||
* Changing the deprecated toml package with modern tomllib, tomli and tomli-w usage (thanks to Michał Górny)
|
||||
* Fixing mypy __ior__ type (thanks to Jacob Hayes)
|
||||
* Fixing line endings with a pre-commit update
|
||||
* Fixing BoxList was using old style of super in internal code usage
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 17 12:20:56 UTC 2022 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Update to 6.0.2
|
||||
* Adding Cython support to greatly speed up normal Box operations on supported systems
|
||||
* Adding #196 support for sliceable boxes
|
||||
* Changing #208 __repr__ to produce eval-able text
|
||||
* Removing support for ruamel.yaml < 0.17
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 8 09:55:04 UTC 2021 - pgajdos@suse.com
|
||||
|
||||
- version update to 5.4.1
|
||||
Version 5.4.1
|
||||
-------------
|
||||
* Fixing #205 setdefault behavior with box_dots (thanks to Ivan Pepelnjak)
|
||||
Version 5.4.0
|
||||
-------------
|
||||
* Adding py.typed for mypy support (thanks to Dominic)
|
||||
* Adding testing for Python 3.10-dev
|
||||
* Fixing #189 by adding mappings for mypy
|
||||
* Fixing setdefault behavior with box_dots (thanks to ipcoder)
|
||||
* Changing #193 how magic methods are handled with default_box (thanks to Rexbard)
|
||||
Version 5.3.0
|
||||
-------------
|
||||
* Adding support for functions to box_recast (thanks to Jacob Hayes)
|
||||
* Adding #181 support for extending or adding new items to list during `merge_update` (thanks to Marcos Dione)
|
||||
* Fixing maintain stacktrace cause for BoxKeyError and BoxValueError (thanks to Jacob Hayes)
|
||||
* Fixing #177 that emtpy yaml files raised errors instead of returning empty objects (thanks to Tim Schwenke)
|
||||
* Fixing #171 that `popitems` wasn't first checking if box was frozen (thanks to Varun Madiath)
|
||||
* Changing all files to LF line endings
|
||||
* Removing duplicate `box_recast` calls (thanks to Jacob Hayes)
|
||||
* Removing coveralls code coverage, due to repeated issues with service
|
||||
Version 5.2.0
|
||||
-------------
|
||||
* Adding checks for frozen boxes to `pop`, `popitem` and `clear` (thanks to Varun Madiath)
|
||||
* Fixing requirements-test.txt (thanks to Fabian Affolter)
|
||||
* Fixing Flake8 conflicts with black (thanks to Varun Madiath)
|
||||
* Fixing coveralls update (thanks to Varun Madiath)
|
||||
Version 5.1.1
|
||||
-------------
|
||||
* Adding testing for Python 3.9
|
||||
* Fixing #165 `box_dots` to work with `default_box`
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 5 15:02:55 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||
|
||||
- Update to 5.1.0
|
||||
* Adding `dotted` option for `items` function (thanks to ipcoder)
|
||||
* Fixing bug in box.set_default where value is dictionary, return the internal value and not detached temporary (thanks to Noam Graetz)
|
||||
* Removing warnings on import if optional libraries are missing
|
||||
Version 5.0.1
|
||||
-------------
|
||||
* Fixing default box saving internal method calls and restricted options (thanks to Marcelo Huerta)
|
||||
Version 5.0.0
|
||||
-------------
|
||||
* Adding support for msgpack converters `to_msgpack` and `from_msgpack`
|
||||
* Adding support for comparision of `Box` to other boxes or dicts via the `-` sub operator #144 (thanks to Hitz)
|
||||
* Adding support to `|` union boxes like will come default in Python 3.9 from PEP 0584
|
||||
* Adding `mypy` type checking, `black` formatting and other checks on commit
|
||||
* Adding new parameter `box_class` for cleaner inheritance #148 (thanks to David Aronchick)
|
||||
* Adding `dotted` option for `keys` method to return box_dots style keys (thanks to ipcoder)
|
||||
* Fixing box_dots to properly delete items from lists
|
||||
* Fixing box_dots to properly find items with dots in their key
|
||||
* Fixing that recast of subclassses of `Box` or `BoxList` were not fed box properties (thanks to Alexander Kapustin)
|
||||
* Changing that sub boxes are always created to properly propagate settings and copy objects #150 (thanks to ipcoder)
|
||||
* Changing that default_box will not raise key errors on `pop` #67 (thanks to Patrock)
|
||||
* Changing `to_csv` and `from_csv` to have same string and filename options as all other transforms
|
||||
* Changing back to no required external imports, instead have extra requires like [all] (thanks to wim glenn)
|
||||
* Changing from putting all details in README.rst to a github wiki at https://github.com/cdgriffith/Box/wiki
|
||||
* Changing `BoxList.box_class` to be stored in `BoxList.box_options` dict as `box_class`
|
||||
* Changing `del` will raise `BoxKeyError`, subclass of both `KeyError` and `BoxError`
|
||||
* Removing support for single level circular references
|
||||
* Removing readthedocs generation
|
||||
* Removing overrides for `keys`, `values` and `items` which will return views again
|
||||
Version 4.2.3
|
||||
-------------
|
||||
* Fixing README.md example #149 (thanks to J Alan Brogan)
|
||||
* Changing `protected_keys` to remove magic methods from dict #146 (thanks to Krishna Penukonda)
|
||||
* Changing that due to `default_box` fix, `pop` or `del` no longer raise BoxKeyErrors on missing items (UNCAUGHT BUG)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 20 13:38:43 UTC 2020 - pgajdos@suse.com
|
||||
|
||||
- version update to 4.2.2
|
||||
Version 4.2.2
|
||||
-------------
|
||||
* Fixing `default_box` doesn't first look for safe attributes before falling back to default (thanks to Pymancer)
|
||||
* Changing from TravisCI to Github Actions
|
||||
Version 4.2.1
|
||||
-------------
|
||||
* Fixing uncaught print statement (thanks to Bruno Rocha)
|
||||
* Fixing old references to `box_it_up` in the documentation
|
||||
Version 4.2.0
|
||||
-------------
|
||||
* Adding optimizations for speed ups to creation and inserts
|
||||
* Adding internal record of safe attributes for faster lookups, increases memory footprint for speed (thanks to Jonas Irgens Kylling)
|
||||
* Adding all additional methods specific to `Box` as protected keys
|
||||
* Fixing `merge_update` from incorrectly calling `__setattr__` which was causing a huge slowdown (thanks to Jonas Irgens Kylling)
|
||||
* Fixing `copy` and `__copy__` not copying box options
|
||||
Version 4.1.0
|
||||
-------------
|
||||
* Adding support for list traversal with `box_dots` (thanks to Lei)
|
||||
* Adding `BoxWarning` class to allow for the clean suppression of warnings
|
||||
* Fixing default_box_attr to accept items that evaluate to `None` (thanks to Wenbo Zhao and Yordan Ivanov)
|
||||
* Fixing `BoxList` to properly send internal box options down into new lists
|
||||
* Fixing issues with conversion and camel killer boxes not being set properly on insert
|
||||
* Changing default_box to set objects in box on lookup
|
||||
* Changing `camel_killer` to convert items on insert, which will change the keys when converted back to dict unlike before
|
||||
* Fallback to `PyYAML` if `ruamel.yaml` is not detected (thanks to wim glenn)
|
||||
* Removing official support for `pypy` as it's pickling behavior is not the same as CPython
|
||||
* Removing internal __box_heritage as it was no longer needed due to behavior update
|
||||
Version 4.0.4
|
||||
-------------
|
||||
* Fixing `get` to return None when not using default box (thanks to Jeremiah Lowin)
|
||||
* Fixing non-string keys breaking when box_dots is enabled (thanks to Marcelo Huerta)
|
||||
Version 4.0.2
|
||||
-------------
|
||||
* Fixing converters to properly pass through new box arguments (thanks to Marcelo Huerta)
|
||||
Version 4.0.1
|
||||
-------------
|
||||
* Fixing setup.py for release
|
||||
* Fixing documentation link
|
||||
Version 4.0.0
|
||||
-------------
|
||||
* Adding support for retrieving items via dot notation in keys
|
||||
* Adding `box_from_file` helper function
|
||||
* Adding merge_update that acts like previous Box magic update
|
||||
* Adding support to `+` boxes together
|
||||
* Adding default_box now can support expanding on `None` placeholders (thanks to Harun Tuncay and Jeremiah Lowin)
|
||||
* Adding ability to recast specified fields (thanks to Steven McGrath)
|
||||
* Adding to_csv and from_csv capability for BoxList objects (thanks to Jiuli Gao)
|
||||
* Changing layout of project to be more object specific
|
||||
* Changing update to act like normal dict update
|
||||
* Changing to 120 line character limit
|
||||
* Changing how `safe_attr` handles unsafe characters
|
||||
* Changing all exceptions to be bases of BoxError so can always be caught with that base exception
|
||||
* Changing delete to also access converted keys (thanks to iordanivanov)
|
||||
* Changing from `PyYAML` to `ruamel.yaml` as default yaml import, aka yaml version default is 1.2 instead of 1.1
|
||||
* Removing `ordered_box` as Python 3.6+ is ordered by default
|
||||
* Removing `BoxObject` in favor of it being another module
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 10 11:31:49 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Update to 3.4.3:
|
||||
* Fixing propagation of box options when adding a new list via setdefault (thanks to Stretch)
|
||||
* Fixing update does not keep box_intact_types (thanks to pwwang)
|
||||
* Fixing update to operate the same way as a normal dictionary (thanks to Craig Quiter)
|
||||
* Fixing deepcopy not copying box options (thanks to Nikolay Stanishev)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 22 13:23:17 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Update to 3.4.2:
|
||||
* Adding license, changes and authors files to source distribution
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 19 11:39:32 UTC 2019 - Thomas Bechtold <tbechtold@suse.com>
|
||||
|
||||
- Initial packaging (version 3.4.1)
|
69
python-python-box.spec
Normal file
69
python-python-box.spec
Normal file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
# spec file for package python-python-box
|
||||
#
|
||||
# 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-python-box
|
||||
Version: 7.3.2
|
||||
Release: 0
|
||||
Summary: Advanced Python dictionaries with dot notation access
|
||||
License: MIT
|
||||
URL: https://github.com/cdgriffith/Box
|
||||
Source: https://github.com/cdgriffith/Box/archive/%{version}.tar.gz
|
||||
BuildRequires: %{python_module base >= 3.9}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module msgpack >= 1.0.0}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module ruamel.yaml >= 0.17}
|
||||
BuildRequires: %{python_module toml >= 0.10.2}
|
||||
# /SECTION
|
||||
Suggests: python-msgpack >= 1.0.0
|
||||
Suggests: python-ruamel.yaml >= 0.17
|
||||
%if %{python_version_nodots} < 311
|
||||
Suggests: python-toml >= 0.10.2
|
||||
%endif
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Advanced Python dictionaries with dot notation access
|
||||
|
||||
%prep
|
||||
%setup -q -n Box-%{version}
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
export PYTHONPATH='.'
|
||||
%pytest_arch -k 'not test_to_yaml_ruamel'
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%{python_sitelib}/box
|
||||
%{python_sitelib}/python_box-%{version}.dist-info
|
||||
|
||||
%changelog
|
Reference in New Issue
Block a user