mintmark 0.1.1__py3-none-any.whl

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 (65) hide show
  1. mintmark/__init__.py +29 -0
  2. mintmark/_data/assets/denylist/institutions-tr.txt +88 -0
  3. mintmark/_data/assets/tables/CHECKSUMS +2 -0
  4. mintmark/_data/assets/tables/balances.json +1041 -0
  5. mintmark/_data/assets/tables/txn_amounts.json +1041 -0
  6. mintmark/_data/packs/example/README.md +9 -0
  7. mintmark/_data/packs/example/fields/customer.yaml +51 -0
  8. mintmark/_data/packs/example/fields/transaction.yaml +42 -0
  9. mintmark/_data/packs/example/pack.yaml +9 -0
  10. mintmark/_data/packs/example/recipes/demo.yaml +11 -0
  11. mintmark/_data/packs/example/templates/txn_descriptions/set.yaml +13 -0
  12. mintmark/_data/schemas/manifest.schema.json +351 -0
  13. mintmark/_data/schemas/pack.schema.json +310 -0
  14. mintmark/annotate/__init__.py +52 -0
  15. mintmark/annotate/render.py +131 -0
  16. mintmark/annotate/sidecar.py +85 -0
  17. mintmark/annotate/spans.py +152 -0
  18. mintmark/annotate/taxonomy.py +132 -0
  19. mintmark/api.py +34 -0
  20. mintmark/cli.py +401 -0
  21. mintmark/emit/__init__.py +24 -0
  22. mintmark/emit/canonical.py +89 -0
  23. mintmark/emit/csv_writer.py +51 -0
  24. mintmark/emit/writer.py +80 -0
  25. mintmark/engine/__init__.py +31 -0
  26. mintmark/engine/draws.py +173 -0
  27. mintmark/engine/fold.py +62 -0
  28. mintmark/engine/prng.py +62 -0
  29. mintmark/engine/records.py +205 -0
  30. mintmark/engine/streams.py +126 -0
  31. mintmark/engine/tables.py +142 -0
  32. mintmark/engine/templates.py +346 -0
  33. mintmark/identifiers/__init__.py +49 -0
  34. mintmark/identifiers/email.py +84 -0
  35. mintmark/identifiers/iban.py +93 -0
  36. mintmark/identifiers/pan.py +66 -0
  37. mintmark/identifiers/phone.py +64 -0
  38. mintmark/identifiers/policy.py +31 -0
  39. mintmark/identifiers/tckn.py +61 -0
  40. mintmark/identifiers/vkn.py +59 -0
  41. mintmark/lexicons/__init__.py +13 -0
  42. mintmark/lexicons/data/given_names_tr.yaml +65 -0
  43. mintmark/lexicons/data/occupations_tr.yaml +28 -0
  44. mintmark/lexicons/data/provinces_tr.yaml +167 -0
  45. mintmark/lexicons/data/special_descriptors.yaml +138 -0
  46. mintmark/lexicons/data/street_parts_tr.yaml +33 -0
  47. mintmark/lexicons/data/surnames_tr.yaml +53 -0
  48. mintmark/lexicons/denylist.py +101 -0
  49. mintmark/manifest/__init__.py +46 -0
  50. mintmark/manifest/document.py +222 -0
  51. mintmark/manifest/sums.py +47 -0
  52. mintmark/manifest/verify.py +362 -0
  53. mintmark/mint.py +685 -0
  54. mintmark/packs/__init__.py +22 -0
  55. mintmark/packs/digest.py +58 -0
  56. mintmark/packs/loader.py +195 -0
  57. mintmark/packs/model.py +514 -0
  58. mintmark/packs/semver.py +55 -0
  59. mintmark/py.typed +0 -0
  60. mintmark-0.1.1.dist-info/METADATA +375 -0
  61. mintmark-0.1.1.dist-info/RECORD +65 -0
  62. mintmark-0.1.1.dist-info/WHEEL +4 -0
  63. mintmark-0.1.1.dist-info/entry_points.txt +2 -0
  64. mintmark-0.1.1.dist-info/licenses/LICENSE +201 -0
  65. mintmark-0.1.1.dist-info/licenses/NOTICE +14 -0
mintmark/__init__.py ADDED
@@ -0,0 +1,29 @@
1
+ """Mintmark: deterministic, fully synthetic, Turkish-first labeled datasets.
2
+
3
+ The public surface of this package is deliberately small: ``mint`` and
4
+ ``verify``, plus the dataclasses they return. Module-internal names carry no
5
+ compatibility promise and may change in any release.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ __version__ = "0.1.1"
11
+
12
+ __all__ = ["__version__", "mint", "verify"]
13
+
14
+
15
+ def __getattr__(name: str) -> object:
16
+ """Expose mint and verify without importing the world at package import.
17
+
18
+ A bare ``import mintmark`` should not pull in jsonschema, the pack loader,
19
+ and every lexicon. The CLI and the library both reach the same functions.
20
+ """
21
+ if name == "mint":
22
+ from mintmark.mint import mint
23
+
24
+ return mint
25
+ if name == "verify":
26
+ from mintmark.api import verify
27
+
28
+ return verify
29
+ raise AttributeError(f"module 'mintmark' has no attribute {name!r}")
@@ -0,0 +1,88 @@
1
+ # Real Turkish financial institutions. A generated name must never collide
2
+ # with any entry here. Packs may extend this list and may never shrink it.
3
+ #
4
+ # Source: TCMB Odeme Sistemleri Katilimcilari, revision 072025.
5
+ # Retrieved: 2026-08-22. 71 participants, bank codes 0001 to 0807.
6
+ # URL: https://www.tcmb.gov.tr/wps/wcm/connect/9fa62a85-5b6d-46c5-9b01-eb461d43723d/
7
+ #
8
+ # Matching is folded, contiguous-phrase, and word-boundary aware.
9
+ #
10
+ # Two rules shape these entries, and both were learned from a miss:
11
+ # Legal-form and category words are stripped, because every fictional bank
12
+ # this project generates contains the word 'bank'. But a connector inside a
13
+ # name is kept, because matching is contiguous and 'yapi kredi bankasi' never
14
+ # appears inside 'yapi ve kredi bankasi'.
15
+ # An entry whose distinctive part is short or is an ordinary Turkish word keeps
16
+ # the whole name. 'is' is the brand of Turkiye Is Bankasi and also the ordinary
17
+ # word for work; 'hayat' means life. Alone, either fires on ordinary prose.
18
+
19
+ adil katilim bankasi # ADİL KATILIM BANKASI A.Ş.
20
+ akbank # AKBANK T.A.Ş.
21
+ aktif yatirim bankasi # AKTİF YATIRIM BANKASI A.Ş.
22
+ albaraka # ALBARAKA TÜRK KATILIM BANKASI A.Ş.
23
+ alternatifbank # ALTERNATİFBANK A.Ş.
24
+ anadolubank # ANADOLUBANK A.Ş.
25
+ arap turk bankasi # ARAP TÜRK BANKASI
26
+ aytemiz # AYTEMİZ YATIRIM BANKASI A.Ş.
27
+ bankpozitif kredi ve kalk.bank.a.s # BANKPOZİTİF KREDİ VE KALK.BANK.A.Ş.
28
+ birlesik fon # BİRLEŞİK FON BANKASI A.Ş.
29
+ burgan # BURGAN BANK A.Ş.
30
+ citibank # CITIBANK A.Ş.
31
+ colendi bank # COLENDİ BANK A.Ş.
32
+ d yatirim bankasi # D YATIRIM BANKASI A.Ş.
33
+ denizbank # DENİZBANK A.Ş.
34
+ destek yatirim bankasi # DESTEK YATIRIM BANKASI A.Ş.
35
+ deutsche # DEUTSCHE BANK A.Ş.
36
+ diler # DİLER YATIRIM BANKASI A.Ş.
37
+ dunya katilim bankasi # DÜNYA KATILIM BANKASI A.Ş.
38
+ ekonomi bankasi # T. EKONOMİ BANKASI A.Ş.
39
+ enpara bank # ENPARA BANK A.Ş.
40
+ eximbank # T. EXİMBANK
41
+ fibabanka # FİBABANKA A.Ş.
42
+ fups bank # FUPS BANK A.Ş.
43
+ garanti # T. GARANTİ BANKASI A.Ş.
44
+ golden global yatirim bankasi # GOLDEN GLOBAL YATIRIM BANKASI A.Ş.
45
+ gsd yatirim bankasi # GSD YATIRIM BANKASI A.Ş.
46
+ halk # T. HALK BANKASI A.Ş.
47
+ hayat finans katilim bankasi # HAYAT FİNANS KATILIM BANKASI
48
+ hedef yatirim bankasi # HEDEF YATIRIM BANKASI A.Ş.
49
+ hepsi bank # HEPSİ BANK A.Ş.
50
+ hsbc # HSBC BANK A.Ş.
51
+ icbc # ICBC TURKEY BANK A.Ş.
52
+ iktisat # İKTİSAT KATILIM BANKASI A.Ş.
53
+ iller bankasi # İLLER BANKASI A.Ş.
54
+ ing bank # ING BANK A.Ş.
55
+ intesa sanpaolo # INTESA SANPAOLO S.P.A.
56
+ is bankasi # T. İŞ BANKASI A.Ş.
57
+ istanbul takas ve saklama bank # İSTANBUL TAKAS VE SAKLAMA BANK. A.Ş.
58
+ jpmorgan chase # JPMORGAN CHASE BANK N.A.
59
+ kalkinma bankasi # T. KALKINMA BANKASI A.Ş.
60
+ kuveyt # KUVEYT TÜRK KATILIM BANKASI A.Ş.
61
+ merkez bankasi # T.C. MERKEZ BANKASI
62
+ merkezi kayit kurulusu # MERKEZİ KAYIT KURULUŞU A.Ş.
63
+ misyon yatirim bankasi # MİSYON YATIRIM BANKASI A.Ş.
64
+ mufg # MUFG BANK TURKEY A.Ş.
65
+ nurol # NUROL YATIRIM BANKASI A.Ş.
66
+ odea # ODEA BANK A.Ş.
67
+ of america # BANK OF AMERICA YATIRIM BANK A.Ş.
68
+ of china # BANK OF CHINA TURKEY A.Ş.
69
+ pasha # PASHA YATIRIM BANK A.Ş.
70
+ posta ve telgraf teskilati # POSTA VE TELGRAF TEŞKİLATI A.Ş.
71
+ q yatirim bankasi # Q YATIRIM BANKASI A.Ş.
72
+ qnb finansbank # QNB FİNANSBANK A.Ş.
73
+ sekerbank # ŞEKERBANK T.A.Ş.
74
+ sinai kalkinma bankasi # T. SINAİ KALKINMA BANKASI A.Ş.
75
+ societe generale # SOCIETE GENERALE (SA)
76
+ standard chartered yatirim bankasi turk # STANDARD CHARTERED YATIRIM BANKASI TÜRK A.Ş.
77
+ t.o.m # T.O.M. KATILIM BANKASI A.Ş.
78
+ tera yatirim bankasi # TERA YATIRIM BANKASI A.Ş.
79
+ turk ticaret bankasi # TÜRK TİCARET BANKASI A.Ş.
80
+ turkish bank # TURKISH BANK A.Ş.
81
+ turkiye emlak katilim bankasi # TÜRKİYE EMLAK KATILIM BANKASI A.Ş.
82
+ turkiye finans katilim bankasi # TÜRKİYE FİNANS KATILIM BANKASI A.Ş.
83
+ turkland # TURKLAND BANK A.S.
84
+ vakif katilim bankasi # VAKIF KATILIM BANKASI A.Ş.
85
+ vakiflar bankasi # T. VAKIFLAR BANKASI T.A.O.
86
+ yapi ve kredi bankasi # YAPI VE KREDİ BANKASI A.Ş.
87
+ ziraat # T.C. ZİRAAT BANKASI A.Ş.
88
+ ziraat dinamik # ZİRAAT DİNAMİK BANKA A.Ş.
@@ -0,0 +1,2 @@
1
+ 663b34bfed29fa09e1b0b35dbc01bb15138ff584174957e4ba13baaf9c1f765f balances.json
2
+ 29ea1e549f03da3b8f9764e3bacaba947e2c01797bba413365c4350a9641e7d8 txn_amounts.json