refdatakit 0.1.2__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {refdatakit-0.1.2/src/refdatakit.egg-info → refdatakit-0.2.0}/PKG-INFO +2 -2
- {refdatakit-0.1.2 → refdatakit-0.2.0}/pyproject.toml +2 -2
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/canonical_json.py +13 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/country_codes.py +0 -5
- refdatakit-0.2.0/src/refdatakit/data/datasets/cities/by-country/BD.json +4126 -0
- refdatakit-0.2.0/src/refdatakit/data/datasets/countries/data.json +15 -0
- refdatakit-0.2.0/src/refdatakit/data/datasets/institutions/by-country/BD.json +15633 -0
- refdatakit-0.2.0/src/refdatakit/data/datasets/manifest.json +1 -0
- refdatakit-0.2.0/src/refdatakit/data/datasets/subdivisions/by-country/BD.json +7430 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/validator.py +5 -8
- {refdatakit-0.1.2 → refdatakit-0.2.0/src/refdatakit.egg-info}/PKG-INFO +2 -2
- {refdatakit-0.1.2 → refdatakit-0.2.0}/tests/test_validator.py +38 -0
- refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/BD.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/BT.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/LK.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/MV.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/NP.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/SG.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/countries/data.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/BD.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/BT.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/LK.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/MV.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/NP.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/SG.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/manifest.json +0 -1
- refdatakit-0.1.2/src/refdatakit/data/datasets/subdivisions/by-country/BD.json +0 -1
- {refdatakit-0.1.2 → refdatakit-0.2.0}/LICENSE +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/MANIFEST.in +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/README.md +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/setup.cfg +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/setup.py +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/__init__.py +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/cli.py +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/__init__.py +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/city.schema.json +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/country.schema.json +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/entity.schema.json +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/manifest.schema.json +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/subdivision.schema.json +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data.py +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/SOURCES.txt +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/dependency_links.txt +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/entry_points.txt +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/requires.txt +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/top_level.txt +0 -0
- {refdatakit-0.1.2 → refdatakit-0.2.0}/tests/test_canonical_json.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: refdatakit
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Validated, source-backed reference data for Bangladesh (subdivisions, cities, institutions) with JSON Schema validation tools
|
|
5
5
|
Author: RefDataKit contributors
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/rezwan4029/refdatakit#readme
|
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "refdatakit"
|
|
7
|
-
version = "0.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.2.0"
|
|
8
|
+
description = "Validated, source-backed reference data for Bangladesh (subdivisions, cities, institutions) with JSON Schema validation tools"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
11
11
|
requires-python = ">=3.11"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import json
|
|
3
4
|
import unicodedata
|
|
4
5
|
from typing import TypeAlias, cast
|
|
5
6
|
|
|
@@ -32,3 +33,15 @@ def _normalize_nfc(value: object) -> JsonValue:
|
|
|
32
33
|
|
|
33
34
|
def canonical_json(value: object) -> bytes:
|
|
34
35
|
return rfc8785.dumps(_normalize_nfc(value)) + b"\n"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def pretty_json(value: object) -> bytes:
|
|
39
|
+
"""Human-readable, diff-friendly JSON for on-disk datasets.
|
|
40
|
+
|
|
41
|
+
Keys are sorted and strings NFC-normalized for determinism, but the output is
|
|
42
|
+
indented so GitHub renders multi-line diffs. Checksums are computed over the
|
|
43
|
+
canonical form of the parsed value, so this layout does not affect integrity.
|
|
44
|
+
"""
|
|
45
|
+
normalized = _normalize_nfc(value)
|
|
46
|
+
text = json.dumps(normalized, ensure_ascii=False, indent=2, sort_keys=True)
|
|
47
|
+
return (text + "\n").encode("utf-8")
|