Changelog
### 7.0.6
```
-------------------
- Fix typing for chaining interface for methods that use varargs. Thanks DeviousStoat_!
```
### 7.0.5
```
-------------------
- Fix typing for ``find_index`` and ``find_last_index`` by allowing ``predicate`` argument to be callback shorthand values. Thanks DeviousStoat_!
```
### 7.0.4
```
-------------------
- Exclude incompatible ``typing-extensions`` version ``4.6.0`` from install requirements. Incompatibility was fixed in ``4.6.1``.
```
### 7.0.3
```
-------------------
- Fix typing for ``difference_by``, ``intersection_by``, ``union_by``, ``uniq_by``, and ``xor_by`` by allowing ``iteratee`` argument to be `Any`. Thanks DeviousStoat_!
```
### 7.0.2
```
-------------------
- Fix issue where using ``pyright`` as a type checker with ``reportPrivateUsage=true`` would report errors that objects are not exported from ``pydash``. Thanks DeviousStoat_!
```
### 7.0.1
```
-------------------
- Fix missing install dependency, ``typing-extensions``, for package.
```
### 7.0.0
```
-------------------
- Add type annotations to package. Raise an issue for any typing issues at https://github.com/dgilland/pydash/issues. Thanks DeviousStoat_! (**breaking change**)
- Change behavior of ``to_dict`` to not using ``dict()`` internally. Previous behavior would be for something like ``to_dict([["k", "v"], ["x", "y"]])`` to return ``{"k": "v", "x": "y"}`` (equivalent to calling ``dict(...)``) but ``to_dict([["k"], ["v"], ["x"], ["y"]])`` would return ``{0: ["x"], 1: ["v"], 2: ["x"], 3: ["y"]}``. The new behavior is to always return iterables as dictionaries with their indexes as keys like ``{0: ["k", "v"], 1: ["x", "y"]}``. This is consistent with how iterable objects are iterated over and means that ``to_dict`` will have more reliable output. (**breaking change**)
- Change behavior of ``slugify`` to remove single-quotes from output. Instead of ``slugify("the cat's meow") == "the-cat's-meow"``, the new behavior is to return ``"the-cats-meow"``. (**breaking change**)
- Add support for negative indexes in ``get`` path keys. Thanks bl4ckst0ne_!
```
### 6.0.2
```
-------------------
- Only prevent access to object paths containing ``__globals__`` or ``__builtins__`` instead of all dunder-methods for non-dict/list objects.
```
### 6.0.1
```
-------------------
- Fix exception raised due to mishandling of non-string keys in functions like ``get()`` for non-dict/list objects that used integer index references like ``"[0]"``.
```
### 6.0.0
```
-------------------
- Prevent access to object paths containing dunder-methods in functions like ``get()`` for non-dict/list objects. Attempting to access dunder-methods using get-path keys will raise a ``KeyError`` (e.g. ``get(SomeClass(), '__init__'`` will raise). Access to dict keys are unaffected (e.g. ``get({"__init__": True}, "__init__")`` will return ``True``). (**breaking change**)
- Add support for Python 3.11.
- Drop support for Python 3.6 (**breaking change**)
```
### 5.1.2
```
-------------------
- Remove unnecessary type check and conversion for ``exceptions`` argument in ``pydash.retry``.
```
### 5.1.1
```
-------------------
- Add support for Python 3.10.
- Fix timing assertion issue in test for ``pydash.delay`` where it could fail on certain environments.
```
### 5.1.0
```
-------------------
- Support matches-style callbacks on non-dictionary objects that are compatible with ``pydash.get`` in functions like ``pydash.find``.
```
### 5.0.2
```
-------------------
- Fix compatibility issue between ``pydash.py_`` / ``pydash._`` and ``typing.Protocol`` + ``typing.runtime_checkable`` that caused an exception to be raised for ``isinstance(py_, SomeRuntimeCheckableProtocol)``.
```
### 5.0.1
```
-------------------
- Fix bug in ``merge_with`` that prevented custom iteratee from being used when recursively merging. Thanks weineel_!
```
### 5.0.0
```
-------------------
- Drop support for Python 2.7. (**breaking change**)
- Improve Unicode word splitting in string functions to be inline with Lodash. Thanks mervynlee94_! (**breaking change**)
- ``camel_case``
- ``human_case``
- ``kebab_case``
- ``lower_case``
- ``pascal_case``
- ``separator_case``
- ``slugify``
- ``snake_case``
- ``start_case``
- ``upper_case``
- Optimize regular expression constants used in ``pydash.strings`` by pre-compiling them to regular expression pattern objects.
```
### 4.9.3
```
-------------------
- Fix regression introduced in ``v4.8.0`` that caused ``merge`` and ``merge_with`` to raise an exception when passing ``None`` as the first argument.
```
### 4.9.2
```
-------------------
- Fix regression introduced in ``v4.9.1`` that broke ``pydash.get`` for dictionaries and dot-delimited keys that reference integer dict-keys.
```
### 4.9.1
```
-------------------
- Fix bug in ``get/has`` that caused ``defaultdict`` objects to get populated on key access.
```
### 4.9.0
```
-------------------
- Add ``default_to_any``. Thanks gonzalonaveira_!
- Fix mishandling of key names containing ``\.`` in ``set_``, ``set_with``, and ``update_with`` where the ``.`` was not treated as a literal value within the key name. Thanks zhaowb_!
```
### 4.8.0
```
-------------------
- Support attribute based setters like ``argparse.Namespace`` in ``set_``, ``set_with``, ``update``, and ``update_with``.
- Fix exception in ``order_by`` when ``None`` used as a sort key. Thanks elijose55_!
- Fix behavior of ``pick_by`` to return the passed in argument when only one argument given. Previously, an empty dictionary was returned. Thanks elijose55_!
- Officially support Python 3.8.
```
### 4.7.6
```
-------------------
Bug Fixes
+++++++++
- Fix handling of ``Sequence``, ``Mapping``, and ``namedtuple`` types in ``get`` so that their attributes aren't accessed during look-up. Thanks jwilson8767_!
```
### 4.7.5
```
-------------------
Bug Fixes
+++++++++
- Fix handling of string and byte values in ``clone_with`` and ``clone_deep_with`` when a customizer is used.
- Fix handling of non-indexable iterables in ``find`` and ``find_last``.
```
### 4.7.4
```
-------------------
Bug Fixes
+++++++++
- Raise an explicit exception in ``set_``, ``set_with``, ``update``, and ``update_with`` when an object cannot be updated due to that object or one of its nested objects not being subscriptable.
```
### 4.7.3
```
-------------------
Bug Fixes
+++++++++
- Fix bug in ``spread`` where arguments were not being passed to wrapped function properly.
```
### 4.7.1
```
-------------------
New Features
++++++++++++
- Modify ``to_dict`` to first try to convert using ``dict()`` before falling back to using ``pydash.helpers.iterator()``.
```
### 4.7.0
```
-------------------
Misc
++++
- Internal code optimizations.
```
### 4.6.1
```
-------------------
Misc
++++
- Support Python 3.7.
```
### 4.6.0
```
-------------------
Misc
++++
- Improve performance of the following functions for large datasets:
- ``duplicates``
- ``sorted_uniq``
- ``sorted_uniq_by``
- ``union``
- ``union_by``
- ``union_with``
- ``uniq``
- ``uniq_by``
- ``uniq_with``
- ``xor``
- ``xor_by``
- ``xor_with``
```
Links
- PyPI: https://pypi.org/project/pydash
- Changelog: https://data.safetycli.com/changelogs/pydash/
- Repo: https://github.com/dgilland/pydash
This PR updates pydash from 4.5.0 to 7.0.7.
Changelog
### 7.0.6 ``` ------------------- - Fix typing for chaining interface for methods that use varargs. Thanks DeviousStoat_! ``` ### 7.0.5 ``` ------------------- - Fix typing for ``find_index`` and ``find_last_index`` by allowing ``predicate`` argument to be callback shorthand values. Thanks DeviousStoat_! ``` ### 7.0.4 ``` ------------------- - Exclude incompatible ``typing-extensions`` version ``4.6.0`` from install requirements. Incompatibility was fixed in ``4.6.1``. ``` ### 7.0.3 ``` ------------------- - Fix typing for ``difference_by``, ``intersection_by``, ``union_by``, ``uniq_by``, and ``xor_by`` by allowing ``iteratee`` argument to be `Any`. Thanks DeviousStoat_! ``` ### 7.0.2 ``` ------------------- - Fix issue where using ``pyright`` as a type checker with ``reportPrivateUsage=true`` would report errors that objects are not exported from ``pydash``. Thanks DeviousStoat_! ``` ### 7.0.1 ``` ------------------- - Fix missing install dependency, ``typing-extensions``, for package. ``` ### 7.0.0 ``` ------------------- - Add type annotations to package. Raise an issue for any typing issues at https://github.com/dgilland/pydash/issues. Thanks DeviousStoat_! (**breaking change**) - Change behavior of ``to_dict`` to not using ``dict()`` internally. Previous behavior would be for something like ``to_dict([["k", "v"], ["x", "y"]])`` to return ``{"k": "v", "x": "y"}`` (equivalent to calling ``dict(...)``) but ``to_dict([["k"], ["v"], ["x"], ["y"]])`` would return ``{0: ["x"], 1: ["v"], 2: ["x"], 3: ["y"]}``. The new behavior is to always return iterables as dictionaries with their indexes as keys like ``{0: ["k", "v"], 1: ["x", "y"]}``. This is consistent with how iterable objects are iterated over and means that ``to_dict`` will have more reliable output. (**breaking change**) - Change behavior of ``slugify`` to remove single-quotes from output. Instead of ``slugify("the cat's meow") == "the-cat's-meow"``, the new behavior is to return ``"the-cats-meow"``. (**breaking change**) - Add support for negative indexes in ``get`` path keys. Thanks bl4ckst0ne_! ``` ### 6.0.2 ``` ------------------- - Only prevent access to object paths containing ``__globals__`` or ``__builtins__`` instead of all dunder-methods for non-dict/list objects. ``` ### 6.0.1 ``` ------------------- - Fix exception raised due to mishandling of non-string keys in functions like ``get()`` for non-dict/list objects that used integer index references like ``"[0]"``. ``` ### 6.0.0 ``` ------------------- - Prevent access to object paths containing dunder-methods in functions like ``get()`` for non-dict/list objects. Attempting to access dunder-methods using get-path keys will raise a ``KeyError`` (e.g. ``get(SomeClass(), '__init__'`` will raise). Access to dict keys are unaffected (e.g. ``get({"__init__": True}, "__init__")`` will return ``True``). (**breaking change**) - Add support for Python 3.11. - Drop support for Python 3.6 (**breaking change**) ``` ### 5.1.2 ``` ------------------- - Remove unnecessary type check and conversion for ``exceptions`` argument in ``pydash.retry``. ``` ### 5.1.1 ``` ------------------- - Add support for Python 3.10. - Fix timing assertion issue in test for ``pydash.delay`` where it could fail on certain environments. ``` ### 5.1.0 ``` ------------------- - Support matches-style callbacks on non-dictionary objects that are compatible with ``pydash.get`` in functions like ``pydash.find``. ``` ### 5.0.2 ``` ------------------- - Fix compatibility issue between ``pydash.py_`` / ``pydash._`` and ``typing.Protocol`` + ``typing.runtime_checkable`` that caused an exception to be raised for ``isinstance(py_, SomeRuntimeCheckableProtocol)``. ``` ### 5.0.1 ``` ------------------- - Fix bug in ``merge_with`` that prevented custom iteratee from being used when recursively merging. Thanks weineel_! ``` ### 5.0.0 ``` ------------------- - Drop support for Python 2.7. (**breaking change**) - Improve Unicode word splitting in string functions to be inline with Lodash. Thanks mervynlee94_! (**breaking change**) - ``camel_case`` - ``human_case`` - ``kebab_case`` - ``lower_case`` - ``pascal_case`` - ``separator_case`` - ``slugify`` - ``snake_case`` - ``start_case`` - ``upper_case`` - Optimize regular expression constants used in ``pydash.strings`` by pre-compiling them to regular expression pattern objects. ``` ### 4.9.3 ``` ------------------- - Fix regression introduced in ``v4.8.0`` that caused ``merge`` and ``merge_with`` to raise an exception when passing ``None`` as the first argument. ``` ### 4.9.2 ``` ------------------- - Fix regression introduced in ``v4.9.1`` that broke ``pydash.get`` for dictionaries and dot-delimited keys that reference integer dict-keys. ``` ### 4.9.1 ``` ------------------- - Fix bug in ``get/has`` that caused ``defaultdict`` objects to get populated on key access. ``` ### 4.9.0 ``` ------------------- - Add ``default_to_any``. Thanks gonzalonaveira_! - Fix mishandling of key names containing ``\.`` in ``set_``, ``set_with``, and ``update_with`` where the ``.`` was not treated as a literal value within the key name. Thanks zhaowb_! ``` ### 4.8.0 ``` ------------------- - Support attribute based setters like ``argparse.Namespace`` in ``set_``, ``set_with``, ``update``, and ``update_with``. - Fix exception in ``order_by`` when ``None`` used as a sort key. Thanks elijose55_! - Fix behavior of ``pick_by`` to return the passed in argument when only one argument given. Previously, an empty dictionary was returned. Thanks elijose55_! - Officially support Python 3.8. ``` ### 4.7.6 ``` ------------------- Bug Fixes +++++++++ - Fix handling of ``Sequence``, ``Mapping``, and ``namedtuple`` types in ``get`` so that their attributes aren't accessed during look-up. Thanks jwilson8767_! ``` ### 4.7.5 ``` ------------------- Bug Fixes +++++++++ - Fix handling of string and byte values in ``clone_with`` and ``clone_deep_with`` when a customizer is used. - Fix handling of non-indexable iterables in ``find`` and ``find_last``. ``` ### 4.7.4 ``` ------------------- Bug Fixes +++++++++ - Raise an explicit exception in ``set_``, ``set_with``, ``update``, and ``update_with`` when an object cannot be updated due to that object or one of its nested objects not being subscriptable. ``` ### 4.7.3 ``` ------------------- Bug Fixes +++++++++ - Fix bug in ``spread`` where arguments were not being passed to wrapped function properly. ``` ### 4.7.1 ``` ------------------- New Features ++++++++++++ - Modify ``to_dict`` to first try to convert using ``dict()`` before falling back to using ``pydash.helpers.iterator()``. ``` ### 4.7.0 ``` ------------------- Misc ++++ - Internal code optimizations. ``` ### 4.6.1 ``` ------------------- Misc ++++ - Support Python 3.7. ``` ### 4.6.0 ``` ------------------- Misc ++++ - Improve performance of the following functions for large datasets: - ``duplicates`` - ``sorted_uniq`` - ``sorted_uniq_by`` - ``union`` - ``union_by`` - ``union_with`` - ``uniq`` - ``uniq_by`` - ``uniq_with`` - ``xor`` - ``xor_by`` - ``xor_with`` ```Links
- PyPI: https://pypi.org/project/pydash - Changelog: https://data.safetycli.com/changelogs/pydash/ - Repo: https://github.com/dgilland/pydash