Skip to content

Commit f425c8a

Browse files
authored
Merge pull request #124 from networktocode/release-0.0.7
Release 0.0.7
2 parents 9cbe26f + 7ee8529 commit f425c8a

File tree

7 files changed

+604
-445
lines changed

7 files changed

+604
-445
lines changed

.github/workflows/ci.yml

+51-31
Original file line numberDiff line numberDiff line change
@@ -11,69 +11,81 @@ on: # yamllint disable-line rule:truthy rule:comments
1111

1212
jobs:
1313
black:
14-
runs-on: "ubuntu-20.04"
14+
runs-on: "ubuntu-24.04"
1515
env:
1616
INVOKE_LOCAL: "True"
1717
steps:
1818
- name: "Check out repository code"
19-
uses: "actions/checkout@v2"
19+
uses: "actions/checkout@v4"
2020
- name: "Setup environment"
21-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
21+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
22+
with:
23+
poetry-version: "1.8.5"
2224
- name: "Linting: black"
2325
run: "poetry run invoke black"
2426
mypy:
25-
runs-on: "ubuntu-20.04"
27+
runs-on: "ubuntu-24.04"
2628
env:
2729
INVOKE_LOCAL: "True"
2830
steps:
2931
- name: "Check out repository code"
30-
uses: "actions/checkout@v2"
32+
uses: "actions/checkout@v4"
3133
- name: "Setup environment"
32-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
34+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
35+
with:
36+
poetry-version: "1.8.5"
3337
- name: "Linting: mypy"
3438
run: "poetry run invoke mypy"
3539
bandit:
36-
runs-on: "ubuntu-20.04"
40+
runs-on: "ubuntu-24.04"
3741
env:
3842
INVOKE_LOCAL: "True"
3943
steps:
4044
- name: "Check out repository code"
41-
uses: "actions/checkout@v2"
45+
uses: "actions/checkout@v4"
4246
- name: "Setup environment"
43-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
47+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
48+
with:
49+
poetry-version: "1.8.5"
4450
- name: "Linting: bandit"
4551
run: "poetry run invoke bandit"
4652
pydocstyle:
47-
runs-on: "ubuntu-20.04"
53+
runs-on: "ubuntu-24.04"
4854
env:
4955
INVOKE_LOCAL: "True"
5056
steps:
5157
- name: "Check out repository code"
52-
uses: "actions/checkout@v2"
58+
uses: "actions/checkout@v4"
5359
- name: "Setup environment"
54-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
60+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
61+
with:
62+
poetry-version: "1.8.5"
5563
- name: "Linting: pydocstyle"
5664
run: "poetry run invoke pydocstyle"
5765
flake8:
58-
runs-on: "ubuntu-20.04"
66+
runs-on: "ubuntu-24.04"
5967
env:
6068
INVOKE_LOCAL: "True"
6169
steps:
6270
- name: "Check out repository code"
63-
uses: "actions/checkout@v2"
71+
uses: "actions/checkout@v4"
6472
- name: "Setup environment"
65-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
73+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
74+
with:
75+
poetry-version: "1.8.5"
6676
- name: "Linting: flake8"
6777
run: "poetry run invoke flake8"
6878
yamllint:
69-
runs-on: "ubuntu-20.04"
79+
runs-on: "ubuntu-24.04"
7080
env:
7181
INVOKE_LOCAL: "True"
7282
steps:
7383
- name: "Check out repository code"
74-
uses: "actions/checkout@v2"
84+
uses: "actions/checkout@v4"
7585
- name: "Setup environment"
76-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
86+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
87+
with:
88+
poetry-version: "1.8.5"
7789
- name: "Linting: yamllint"
7890
run: "poetry run invoke yamllint"
7991
pylint:
@@ -84,7 +96,7 @@ jobs:
8496
- "yamllint"
8597
- "black"
8698
- "mypy"
87-
runs-on: "ubuntu-20.04"
99+
runs-on: "ubuntu-24.04"
88100
strategy:
89101
fail-fast: true
90102
matrix:
@@ -94,9 +106,13 @@ jobs:
94106
INVOKE_LOCAL: "True"
95107
steps:
96108
- name: "Check out repository code"
97-
uses: "actions/checkout@v2"
109+
uses: "actions/checkout@v4"
98110
- name: "Setup environment"
99-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
111+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
112+
with:
113+
poetry-version: "1.8.5"
114+
# Default install options is "--only dev", but we need to install all dependencies
115+
poetry-install-options: ""
100116
- name: "Linting: Pylint"
101117
run: "poetry run invoke pylint"
102118
pytest:
@@ -106,28 +122,32 @@ jobs:
106122
fail-fast: true
107123
matrix:
108124
python-version: ["3.8", "3.9", "3.10", "3.11"]
109-
runs-on: "ubuntu-20.04"
125+
runs-on: "ubuntu-24.04"
110126
env:
111127
PYTHON_VER: "${{ matrix.python-version }}"
112128
INVOKE_LOCAL: "True"
113129
steps:
114130
- name: "Check out repository code"
115-
uses: "actions/checkout@v2"
131+
uses: "actions/checkout@v4"
116132
- name: "Setup environment"
117-
uses: "networktocode/gh-action-setup-poetry-environment@v2"
133+
uses: "networktocode/gh-action-setup-poetry-environment@v6"
134+
with:
135+
poetry-version: "1.8.5"
136+
# Default install options is "--only dev", but we need to install all dependencies
137+
poetry-install-options: ""
118138
- name: "Run Tests"
119139
run: "poetry run invoke pytest"
120140
publish_gh:
121141
needs:
122142
- "pytest"
123143
name: "Publish to GitHub"
124-
runs-on: "ubuntu-20.04"
144+
runs-on: "ubuntu-24.04"
125145
if: "startsWith(github.ref, 'refs/tags/v')"
126146
steps:
127147
- name: "Check out repository code"
128-
uses: "actions/checkout@v2"
148+
uses: "actions/checkout@v4"
129149
- name: "Set up Python"
130-
uses: "actions/setup-python@v2"
150+
uses: "actions/setup-python@v5"
131151
with:
132152
python-version: "3.9"
133153
- name: "Install Python Packages"
@@ -150,13 +170,13 @@ jobs:
150170
needs:
151171
- "pytest"
152172
name: "Push Package to PyPI"
153-
runs-on: "ubuntu-20.04"
173+
runs-on: "ubuntu-24.04"
154174
if: "startsWith(github.ref, 'refs/tags/v')"
155175
steps:
156176
- name: "Check out repository code"
157-
uses: "actions/checkout@v2"
177+
uses: "actions/checkout@v4"
158178
- name: "Set up Python"
159-
uses: "actions/setup-python@v2"
179+
uses: "actions/setup-python@v5"
160180
with:
161181
python-version: "3.9"
162182
- name: "Install Python Packages"
@@ -177,7 +197,7 @@ jobs:
177197
- "publish_gh"
178198
- "publish_pypi"
179199
name: "Send notification to the Slack"
180-
runs-on: "ubuntu-20.04"
200+
runs-on: "ubuntu-24.04"
181201
env:
182202
SLACK_WEBHOOK_URL: "${{ secrets.SLACK_WEBHOOK_URL }}"
183203
SLACK_MESSAGE: >-

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## v0.0.7
4+
- Fix exclude to work with lists [#123](https://github.com/networktocode/jdiff/pull/123)
5+
36
## v0.0.6
47
- Sort the data when data normalization is used with key anchoring
58

jdiff/extract_data.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def extract_data_from_json(data: Union[Mapping, List], path: str = "*", exclude:
3030
Returns:
3131
Evaluated data, may be anything depending on JMESPath used.
3232
"""
33-
if exclude and isinstance(data, Dict):
33+
if exclude and isinstance(data, (Dict, List)):
3434
if not isinstance(exclude, list):
3535
raise ValueError(f"Exclude list must be defined as a list. You have {type(exclude)}")
3636
# exclude unwanted elements

0 commit comments

Comments
 (0)