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.
Files changed (47) hide show
  1. {refdatakit-0.1.2/src/refdatakit.egg-info → refdatakit-0.2.0}/PKG-INFO +2 -2
  2. {refdatakit-0.1.2 → refdatakit-0.2.0}/pyproject.toml +2 -2
  3. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/canonical_json.py +13 -0
  4. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/country_codes.py +0 -5
  5. refdatakit-0.2.0/src/refdatakit/data/datasets/cities/by-country/BD.json +4126 -0
  6. refdatakit-0.2.0/src/refdatakit/data/datasets/countries/data.json +15 -0
  7. refdatakit-0.2.0/src/refdatakit/data/datasets/institutions/by-country/BD.json +15633 -0
  8. refdatakit-0.2.0/src/refdatakit/data/datasets/manifest.json +1 -0
  9. refdatakit-0.2.0/src/refdatakit/data/datasets/subdivisions/by-country/BD.json +7430 -0
  10. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/validator.py +5 -8
  11. {refdatakit-0.1.2 → refdatakit-0.2.0/src/refdatakit.egg-info}/PKG-INFO +2 -2
  12. {refdatakit-0.1.2 → refdatakit-0.2.0}/tests/test_validator.py +38 -0
  13. refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/BD.json +0 -1
  14. refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/BT.json +0 -1
  15. refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/LK.json +0 -1
  16. refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/MV.json +0 -1
  17. refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/NP.json +0 -1
  18. refdatakit-0.1.2/src/refdatakit/data/datasets/cities/by-country/SG.json +0 -1
  19. refdatakit-0.1.2/src/refdatakit/data/datasets/countries/data.json +0 -1
  20. refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/BD.json +0 -1
  21. refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/BT.json +0 -1
  22. refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/LK.json +0 -1
  23. refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/MV.json +0 -1
  24. refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/NP.json +0 -1
  25. refdatakit-0.1.2/src/refdatakit/data/datasets/institutions/by-country/SG.json +0 -1
  26. refdatakit-0.1.2/src/refdatakit/data/datasets/manifest.json +0 -1
  27. refdatakit-0.1.2/src/refdatakit/data/datasets/subdivisions/by-country/BD.json +0 -1
  28. {refdatakit-0.1.2 → refdatakit-0.2.0}/LICENSE +0 -0
  29. {refdatakit-0.1.2 → refdatakit-0.2.0}/MANIFEST.in +0 -0
  30. {refdatakit-0.1.2 → refdatakit-0.2.0}/README.md +0 -0
  31. {refdatakit-0.1.2 → refdatakit-0.2.0}/setup.cfg +0 -0
  32. {refdatakit-0.1.2 → refdatakit-0.2.0}/setup.py +0 -0
  33. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/__init__.py +0 -0
  34. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/cli.py +0 -0
  35. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/__init__.py +0 -0
  36. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/city.schema.json +0 -0
  37. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/country.schema.json +0 -0
  38. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/entity.schema.json +0 -0
  39. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/manifest.schema.json +0 -0
  40. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data/schemas/subdivision.schema.json +0 -0
  41. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit/data.py +0 -0
  42. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/SOURCES.txt +0 -0
  43. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/dependency_links.txt +0 -0
  44. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/entry_points.txt +0 -0
  45. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/requires.txt +0 -0
  46. {refdatakit-0.1.2 → refdatakit-0.2.0}/src/refdatakit.egg-info/top_level.txt +0 -0
  47. {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.1.2
4
- Summary: Source-aware reference data and validation tools
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.1.2"
8
- description = "Source-aware reference data and validation tools"
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")
@@ -4,8 +4,3 @@ from enum import StrEnum
4
4
 
5
5
  class CountryCode(StrEnum):
6
6
  BD = "BD"
7
- BT = "BT"
8
- LK = "LK"
9
- MV = "MV"
10
- NP = "NP"
11
- SG = "SG"