Skip to content

Commit f46d023

Browse files
committed
Released json-duplicate-keys v2025.8.19
1 parent 64ac084 commit f46d023

File tree

8 files changed

+54
-56
lines changed

8 files changed

+54
-56
lines changed

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
*
22
!/.gitignore
3+
!/.readthedocs.yml
34
!/LICENSE
4-
!/MANIFEST.in
5+
!/pyproject.toml
56
!/README.md
6-
!/requirements.txt
77
!/SECURITY.md
8-
!/setup.py
98
!/json_duplicate_keys
109
!/json_duplicate_keys/__init__.py
11-
!/.readthedocs.yml
1210
!/docs
1311
!/docs/**

MANIFEST.in

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
# JSON Duplicate Keys - PyPI
2-
Flatten/ Unflatten and Load(s)/ Dump(s) JSON File/ Object with Duplicate Keys
3-
4-
<p align="center">
5-
<a href="https://github.com/truocphan/json-duplicate-keys/releases/"><img src="https://img.shields.io/github/release/truocphan/json-duplicate-keys" height=30></a>
6-
<a href="#"><img src="https://img.shields.io/github/downloads/truocphan/json-duplicate-keys/total" height=30></a>
7-
<a href="#"><img src="https://img.shields.io/github/stars/truocphan/json-duplicate-keys" height=30></a>
8-
<a href="#"><img src="https://img.shields.io/github/forks/truocphan/json-duplicate-keys" height=30></a>
9-
<a href="https://github.com/truocphan/json-duplicate-keys/issues?q=is%3Aopen+is%3Aissue"><img src="https://img.shields.io/github/issues/truocphan/json-duplicate-keys" height=30></a>
10-
<a href="https://github.com/truocphan/json-duplicate-keys/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed/truocphan/json-duplicate-keys" height=30></a>
1+
<div align="center">
2+
<h1>JSON Duplicate Keys - PyPI</h1>
3+
<i>Flatten/ Unflatten and Load(s)/ Dump(s) JSON File/ Object with Duplicate Keys</i>
4+
<br><br>
5+
<a href="https://github.com/tpcybersec/json-duplicate-keys/releases/"><img src="https://img.shields.io/github/release/tpcybersec/json-duplicate-keys" height=30></a>
6+
<a href="#"><img src="https://img.shields.io/github/downloads/tpcybersec/json-duplicate-keys/total" height=30></a>
7+
<a href="#"><img src="https://img.shields.io/github/stars/tpcybersec/json-duplicate-keys" height=30></a>
8+
<a href="#"><img src="https://img.shields.io/github/forks/tpcybersec/json-duplicate-keys" height=30></a>
9+
<a href="https://github.com/tpcybersec/json-duplicate-keys/issues?q=is%3Aopen+is%3Aissue"><img src="https://img.shields.io/github/issues/tpcybersec/json-duplicate-keys" height=30></a>
10+
<a href="https://github.com/tpcybersec/json-duplicate-keys/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed/tpcybersec/json-duplicate-keys" height=30></a>
1111
<br>
1212
<a href="#"><img src="https://img.shields.io/pypi/v/json-duplicate-keys" height=30></a>
13+
<a href="#"><img src="https://img.shields.io/pypi/pyversions/json-duplicate-keys" height=30></a>
1314
<a href="#"><img src="https://img.shields.io/pypi/dm/json-duplicate-keys" height=30></a>
14-
</p>
15+
</div>
1516

1617
## Installation
1718
#### From PyPI:
@@ -20,10 +21,10 @@ pip install json-duplicate-keys
2021
```
2122
#### From Source:
2223
```console
23-
git clone https://github.com/truocphan/json-duplicate-keys.git --branch <Branch/Tag>
24+
git clone https://github.com/tpcybersec/json-duplicate-keys.git --branch <Branch/Tag>
2425
cd json-duplicate-keys
25-
python setup.py build
26-
python setup.py install
26+
python -m build
27+
python -m pip install dist/json_duplicate_keys-<version>-py3-none-any.whl
2728
```
2829

2930
## Basic Usage
@@ -397,34 +398,34 @@ print(JDKSObject.getObject())
397398
---
398399

399400
## CHANGELOG
400-
#### [json-duplicate-keys v2025.y.x](https://github.com/truocphan/json-duplicate-keys/tree/2025.y.x)
401+
#### [json-duplicate-keys v2025.8.19](https://github.com/tpcybersec/json-duplicate-keys/tree/2025.8.19)
401402
- [**Updated**] Add an exception when loading a non-existent file
402403
- [**Updated**] Dump Unicode characters to a file
403404

404-
#### [json-duplicate-keys v2025.7.1](https://github.com/truocphan/json-duplicate-keys/tree/2025.7.1)
405+
#### [json-duplicate-keys v2025.7.1](https://github.com/tpcybersec/json-duplicate-keys/tree/2025.7.1)
405406
- [**Updated**] Fixed some issues when loading JSON strings with `skipDuplicated` option
406407
- [**Updated**] Allow loading of JSON data in byte string format
407408
- [**Updated**] Issue with getting and setting an empty list
408409

409-
#### [json-duplicate-keys v2025.6.6](https://github.com/truocphan/json-duplicate-keys/tree/2025.6.6)
410+
#### [json-duplicate-keys v2025.6.6](https://github.com/tpcybersec/json-duplicate-keys/tree/2025.6.6)
410411
- [**Updated**] Added `skipDuplicated` parameter to `load` and `loads` functions to improve performance when parsing large JSON strings by skipping duplicate keys.
411412

412-
#### [json-duplicate-keys v2024.12.12](https://github.com/truocphan/json-duplicate-keys/tree/2024.12.12)
413+
#### [json-duplicate-keys v2024.12.12](https://github.com/tpcybersec/json-duplicate-keys/tree/2024.12.12)
413414
- **New**: _insert_ function
414415

415-
#### [json-duplicate-keys v2024.11.28](https://github.com/truocphan/json-duplicate-keys/tree/2024.11.28)
416+
#### [json-duplicate-keys v2024.11.28](https://github.com/tpcybersec/json-duplicate-keys/tree/2024.11.28)
416417
- **Fixed**: Add subkey name to empty dict of existing key name
417418

418-
#### [json-duplicate-keys v2024.11.19](https://github.com/truocphan/json-duplicate-keys/tree/2024.11.19)
419+
#### [json-duplicate-keys v2024.11.19](https://github.com/tpcybersec/json-duplicate-keys/tree/2024.11.19)
419420
- **Updated**: Allows getting (`JSON_DUPLICATE_KEYS.get`), setting (`JSON_DUPLICATE_KEYS.set`), updating (`JSON_DUPLICATE_KEYS.update`), deleting (`JSON_DUPLICATE_KEYS.delete`) JSON_DUPLICATE_KEYS objects with case-insensitive key names
420421

421-
#### [json-duplicate-keys v2024.7.17](https://github.com/truocphan/json-duplicate-keys/tree/2024.7.17)
422-
- **Fixed**: issue [#3](https://github.com/truocphan/json-duplicate-keys/issues/3) break the set function when the key's value is empty. Thanks [ptth222](https://github.com/ptth222) for reporting this issue.
422+
#### [json-duplicate-keys v2024.7.17](https://github.com/tpcybersec/json-duplicate-keys/tree/2024.7.17)
423+
- **Fixed**: issue #3 break the set function when the key's value is empty. Thanks [ptth222](https://github.com/ptth222) for reporting this issue.
423424

424-
#### [json-duplicate-keys v2024.4.20](https://github.com/truocphan/json-duplicate-keys/tree/2024.4.20)
425+
#### [json-duplicate-keys v2024.4.20](https://github.com/tpcybersec/json-duplicate-keys/tree/2024.4.20)
425426
- **New**: _filter_values_
426427
- **Updated**: _filter_keys_
427428

428-
#### [json-duplicate-keys v2024.3.24](https://github.com/truocphan/json-duplicate-keys/tree/2024.3.24)
429+
#### [json-duplicate-keys v2024.3.24](https://github.com/tpcybersec/json-duplicate-keys/tree/2024.3.24)
429430
- **Updated**: _normalize_key_, _loads_, _get_, _set_, _update_, _delete_
430431
---

docs/conf.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
project = 'json-duplicate-keys'
1313
copyright = '2022, TP Cyber Security'
1414
author = 'Truoc Phan'
15-
release = '2025.6.6'
1615

1716
# -- General configuration ---------------------------------------------------
1817
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

json_duplicate_keys/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# -*- coding: utf-8 -*-
2-
json_duplicate_keys_VERSION = "2025.7.1"
3-
42
try:
5-
unicode # Python 2
3+
unicode
64
except NameError:
7-
unicode = str # Python 3
5+
unicode = str
86

97
from collections import OrderedDict
108
import json, re, copy

pyproject.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[build-system]
2+
requires = ["setuptools<70", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "json-duplicate-keys"
7+
version = "2025.8.19"
8+
description = "Flatten/ Unflatten and Load(s)/ Dump(s) JSON File/ Object with Duplicate Keys"
9+
readme = { file = "README.md", content-type = "text/markdown" }
10+
license = { file = "LICENSE" }
11+
keywords = ["TPCyberSec", "json", "duplicate keys", "json duplicate keys", "flatten", "unflatten"]
12+
classifiers = [
13+
"Programming Language :: Python :: 3",
14+
"Programming Language :: Python :: Implementation :: Jython"
15+
]
16+
17+
authors = [
18+
{ name = "TP Cyber Security", email = "tpcybersec2023@gmail.com" }
19+
]
20+
21+
[project.urls]
22+
Homepage = "https://github.com/tpcybersec/json-duplicate-keys"
23+
24+
[tool.setuptools]
25+
packages = ["json_duplicate_keys"]

requirements.txt

Whitespace-only changes.

setup.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)