New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

nested-diff

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nested-diff - pypi Package Compare versions

Comparing version
1.7.1
to
1.8.0
+1
-1
nested_diff/__init__.py

@@ -23,3 +23,3 @@ # Copyright 2018-2025 Michael Samoglyadov

__version__ = '1.7.1'
__version__ = '1.8.0'
__author__ = 'Michael Samoglyadov'

@@ -26,0 +26,0 @@ __license__ = 'Apache License, Version 2.0'

@@ -453,2 +453,40 @@ # Copyright 2019-2024 Michael Samoglyadov

class PprintDumper(Dumper):
"""Pprint dumper."""
def __init__(self, **kwargs):
"""Initialize dumper."""
super().__init__()
import pprint
self.codec = pprint.PrettyPrinter(**self.get_opts(kwargs))
def encode(self, data):
"""Encode data as pprint does."""
return self.codec.pformat(data)
@staticmethod
def get_opts(opts):
"""Extend options by default values.
Args:
opts: Kwargs for pprint.PrettyPrinter as dict.
Returns:
Options extended by default values.
"""
defaults = {
'indent': 1,
'width': 80,
'depth': None,
'compact': True,
'sort_dicts': True,
}
defaults.update(opts)
return defaults
class TomlDumper(Dumper):

@@ -455,0 +493,0 @@ """TOML dumper."""

@@ -20,2 +20,3 @@ # Copyright 2019-2024 Michael Samoglyadov

import sys
import warnings

@@ -152,7 +153,8 @@ import nested_diff

'--values',
choices=('repr', 'none', 'json', 'yaml'),
choices=('repr', 'none', 'json', 'pprint', 'yaml'),
default='repr',
help='values format; "none" means no values printed, "repr" is a '
'python representation of the object, rest are themselves; default'
' is "%(default)s"',
' is "%(default)s". NOTE: yaml is deprecated here due to explicit'
' ends for scalar values in yaml v1.2',
)

@@ -337,3 +339,13 @@

self.__val_encoder = nested_diff.cli.JsonDumper(indent=2)
elif values == 'pprint':
self.__val_encoder = nested_diff.cli.PprintDumper()
elif values == 'yaml':
warnings.warn(
(
'YAML as diff values formatter is deprecated and'
' will be removed soon'
),
FutureWarning,
stacklevel=3,
)
self.__val_encoder = nested_diff.cli.YamlDumper(

@@ -340,0 +352,0 @@ explicit_start=False,

@@ -60,3 +60,3 @@ # Copyright 2019-2024 Michael Samoglyadov

self.key_prefix = {key: '' for key in self.key_line_prefix}
self.key_prefix = dict.fromkeys(self.key_line_prefix, '')
self.key_suffix = self.key_prefix.copy()

@@ -71,3 +71,3 @@

self.val_prefix = {key: '' for key in self.val_line_prefix}
self.val_prefix = dict.fromkeys(self.val_line_prefix, '')
self.val_suffix = self.val_prefix.copy()

@@ -391,12 +391,12 @@

self.key_line_prefix['A'] = f"\x1b[1;32m{self.key_line_prefix['A']}"
self.key_line_prefix['R'] = f"\x1b[1;31m{self.key_line_prefix['R']}"
self.key_line_prefix['A'] = f'\x1b[1;32m{self.key_line_prefix["A"]}'
self.key_line_prefix['R'] = f'\x1b[1;31m{self.key_line_prefix["R"]}'
self.val_line_prefix['A'] = f"\x1b[32m{self.val_line_prefix['A']}"
self.val_line_prefix['C'] = f"\x1b[34m{self.val_line_prefix['C']}"
self.val_line_prefix['E'] = f"\x1b[34m{self.val_line_prefix['E']}"
self.val_line_prefix['H'] = f"\x1b[35m{self.val_line_prefix['H']}"
self.val_line_prefix['N'] = f"\x1b[32m{self.val_line_prefix['N']}"
self.val_line_prefix['O'] = f"\x1b[31m{self.val_line_prefix['O']}"
self.val_line_prefix['R'] = f"\x1b[31m{self.val_line_prefix['R']}"
self.val_line_prefix['A'] = f'\x1b[32m{self.val_line_prefix["A"]}'
self.val_line_prefix['C'] = f'\x1b[34m{self.val_line_prefix["C"]}'
self.val_line_prefix['E'] = f'\x1b[34m{self.val_line_prefix["E"]}'
self.val_line_prefix['H'] = f'\x1b[35m{self.val_line_prefix["H"]}'
self.val_line_prefix['N'] = f'\x1b[32m{self.val_line_prefix["N"]}'
self.val_line_prefix['O'] = f'\x1b[31m{self.val_line_prefix["O"]}'
self.val_line_prefix['R'] = f'\x1b[31m{self.val_line_prefix["R"]}'

@@ -403,0 +403,0 @@ @staticmethod

Metadata-Version: 2.4
Name: nested_diff
Version: 1.7.1
Version: 1.8.0
Summary: Recursive diff and patch for nested structures.

@@ -40,3 +40,3 @@ Keywords: diff,nested-diff,recursive-diff,nested-data,data-structures

Requires-Dist: pytest-ruff ; extra == "test"
Requires-Dist: ruff==0.8.2 ; extra == "test"
Requires-Dist: ruff==0.11.13 ; extra == "test"
Project-URL: Homepage, https://github.com/mr-mixas/Nested-Diff.py

@@ -43,0 +43,0 @@ Project-URL: Repository, https://github.com/mr-mixas/Nested-Diff.py.git

@@ -59,3 +59,3 @@ [build-system]

'pytest-ruff',
'ruff==0.8.2',
'ruff==0.11.13',
]

@@ -74,3 +74,2 @@

'--cov=nested_diff',
'--cov-fail-under=99',
'--cov-report=term-missing',

@@ -77,0 +76,0 @@ '--no-cov-on-fail',