Skip to content

Commit 3bf8ce9

Browse files
authored
Feat/remove py (#247)
* test(dicttoxml): add targeted tests to cover edge branches and XML name handling Adds coverage for CDATA edge, numeric and namespaced keys, list header behavior, @Flat handling, Decimal typing, cdata conversion, and id attributes when ids provided. * refactor(dicttoxml): improve typing and xml type detection; simplify get_unique_id API - Accept optional ids list to avoid collisions deterministically in tests - Replace legacy type name checks with direct 'str'/'int' - Update tests to use monkeypatch for duplicate id simulation * fix: remove py * chore: remove py everywhere * feat: update docs requirements * feat: update packages * chore: remove files * fix: remove garbage
1 parent 42428f8 commit 3bf8ce9

File tree

9 files changed

+69
-76
lines changed

9 files changed

+69
-76
lines changed

docs/requirements.in

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
furo==2024.8.6
2-
sphinx
3-
sphinx-autobuild
1+
furo==2025.7.19
2+
sphinx==8.2.3
3+
sphinx-autobuild==2024.10.3
44

55
# if using typehints
6-
sphinx-autodoc-typehints
6+
sphinx-autodoc-typehints==3.2.0
77

8-
mock
9-
autodoc
8+
mock==5.2.0
9+
autodoc==0.5.0
1010

11-
defusedxml
12-
tornado
11+
defusedxml==0.7.1
12+
tornado==6.5.2
1313
jinja2>=3.1.6
14-
idna
14+
idna==3.10
15+
starlette>=0.47.2

docs/requirements.txt

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile requirements.in
5+
# pip-compile
66
#
7+
accessible-pygments==0.0.5
8+
# via furo
79
alabaster==1.0.0
810
# via sphinx
911
anyio==4.8.0
1012
# via
1113
# starlette
1214
# watchfiles
1315
autodoc==0.5.0
14-
# via -r docs/requirements.in
16+
# via -r requirements.in
1517
babel==2.17.0
1618
# via sphinx
1719
beautifulsoup4==4.13.3
@@ -29,55 +31,58 @@ colorama==0.4.6
2931
decorator==5.1.1
3032
# via autodoc
3133
defusedxml==0.7.1
32-
# via -r docs/requirements.in
34+
# via -r requirements.in
3335
docutils==0.21.2
3436
# via sphinx
35-
exceptiongroup==1.3.0
36-
# via anyio
37-
furo==2024.8.6
38-
# via -r docs/requirements.in
37+
furo==2025.7.19
38+
# via -r requirements.in
3939
h11==0.16.0
4040
# via uvicorn
4141
idna==3.10
4242
# via
43-
# -r docs/requirements.in
43+
# -r requirements.in
4444
# anyio
4545
# requests
4646
imagesize==1.4.1
4747
# via sphinx
4848
jinja2==3.1.6
4949
# via
50-
# -r docs/requirements.in
50+
# -r requirements.in
5151
# sphinx
52+
legacy-cgi==2.6.3
53+
# via webob
5254
markupsafe==3.0.2
5355
# via jinja2
54-
mock==5.1.0
55-
# via -r docs/requirements.in
56+
mock==5.2.0
57+
# via -r requirements.in
5658
packaging==24.2
5759
# via sphinx
5860
pygments==2.19.1
5961
# via
62+
# accessible-pygments
6063
# furo
6164
# sphinx
6265
requests==2.32.4
6366
# via sphinx
67+
roman-numerals-py==3.1.0
68+
# via sphinx
6469
sniffio==1.3.1
6570
# via anyio
6671
snowballstemmer==2.2.0
6772
# via sphinx
6873
soupsieve==2.6
6974
# via beautifulsoup4
70-
sphinx==8.1.3
75+
sphinx==8.2.3
7176
# via
72-
# -r docs/requirements.in
77+
# -r requirements.in
7378
# furo
7479
# sphinx-autobuild
7580
# sphinx-autodoc-typehints
7681
# sphinx-basic-ng
7782
sphinx-autobuild==2024.10.3
78-
# via -r docs/requirements.in
79-
sphinx-autodoc-typehints==3.0.1
80-
# via -r docs/requirements.in
83+
# via -r requirements.in
84+
sphinx-autodoc-typehints==3.2.0
85+
# via -r requirements.in
8186
sphinx-basic-ng==1.0.0b2
8287
# via furo
8388
sphinxcontrib-applehelp==2.0.0
@@ -92,18 +97,14 @@ sphinxcontrib-qthelp==2.0.0
9297
# via sphinx
9398
sphinxcontrib-serializinghtml==2.0.0
9499
# via sphinx
95-
starlette==0.45.3
96-
# via sphinx-autobuild
97-
tomli==2.2.1
98-
# via sphinx
99-
tornado==6.5.1
100-
# via -r docs/requirements.in
101-
typing-extensions==4.12.2
100+
starlette==0.47.2
102101
# via
103-
# anyio
104-
# beautifulsoup4
105-
# exceptiongroup
106-
# uvicorn
102+
# -r requirements.in
103+
# sphinx-autobuild
104+
tornado==6.5.2
105+
# via -r requirements.in
106+
typing-extensions==4.12.2
107+
# via beautifulsoup4
107108
urllib3==2.5.0
108109
# via requests
109110
uvicorn==0.34.0

json2xml/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
__author__ = """Vinit Kumar"""
44
__email__ = "[email protected]"
5-
__version__ = "5.2.0"
5+
__version__ = "5.2.1"
66

pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "json2xml"
7-
version = "5.2.0" # Replace with the dynamic version if needed
7+
version = "5.2.1" # Replace with the dynamic version if needed
88
description = "Simple Python Library to convert JSON to XML"
99
readme = "README.rst"
1010
requires-python = ">=3.10"
@@ -34,7 +34,6 @@ dependencies = [
3434
"pytest",
3535
"pytest-cov",
3636
"coverage",
37-
"py",
3837
"setuptools",
3938
]
4039

@@ -47,7 +46,6 @@ include = ["json2xml"]
4746
[project.optional-dependencies]
4847
test = [
4948
"pytest==7.0.1",
50-
"py==1.11.0"
5149
]
5250

5351
[tool.pytest.ini_options]

requirements-dev.in

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# When installing dev dependencies also install the user dependencies
22
-r requirements.in
3-
xmltodict>=0.12.0
4-
pytest
5-
pytest-cov
6-
pytest-xdist>=3.5.0
7-
coverage
8-
ruff>=0.3.0
9-
setuptools
10-
mypy>=1.0.0
11-
types-setuptools
3+
xmltodict>=0.14.2
4+
pytest==8.4.1
5+
pytest-cov==6.2.1
6+
pytest-xdist==3.8.0
7+
coverage==7.10.3
8+
ruff==0.12.8
9+
setuptools==80.9.0
10+
mypy==1.17.1
11+
types-setuptools==80.9.0.20250809

requirements-dev.txt

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,48 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
55
# pip-compile requirements-dev.in
66
#
7-
coverage[toml]==7.6.11
7+
coverage[toml]==7.10.3
88
# via
99
# -r requirements-dev.in
1010
# pytest-cov
1111
defusedxml==0.7.1
1212
# via -r requirements.in
13-
exceptiongroup==1.3.0
14-
# via pytest
1513
execnet==2.1.1
1614
# via pytest-xdist
1715
iniconfig==2.0.0
1816
# via pytest
19-
mypy==1.15.0
17+
mypy==1.17.1
2018
# via -r requirements-dev.in
2119
mypy-extensions==1.0.0
2220
# via mypy
2321
packaging==24.2
2422
# via pytest
23+
pathspec==0.12.1
24+
# via mypy
2525
pluggy==1.5.0
26+
# via
27+
# pytest
28+
# pytest-cov
29+
pygments==2.19.2
2630
# via pytest
27-
pytest==8.3.4
31+
pytest==8.4.1
2832
# via
2933
# -r requirements-dev.in
3034
# pytest-cov
3135
# pytest-xdist
32-
pytest-cov==6.0.0
36+
pytest-cov==6.2.1
3337
# via -r requirements-dev.in
34-
pytest-xdist==3.7.0
38+
pytest-xdist==3.8.0
3539
# via -r requirements-dev.in
36-
ruff==0.11.13
40+
ruff==0.12.8
3741
# via -r requirements-dev.in
38-
tomli==2.2.1
39-
# via
40-
# coverage
41-
# mypy
42-
# pytest
43-
types-setuptools==80.9.0.20250529
42+
types-setuptools==80.9.0.20250809
4443
# via -r requirements-dev.in
4544
typing-extensions==4.12.2
46-
# via
47-
# exceptiongroup
48-
# mypy
45+
# via mypy
4946
urllib3==2.5.0
5047
# via -r requirements.in
5148
xmltodict==0.14.2

requirements.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
defusedxml
2-
urllib3
1+
defusedxml==0.7.1
2+
urllib3==2.5.0
33

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
55
# pip-compile

uv.lock

Lines changed: 1 addition & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)