lorebase-core 0.2.3__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 (94) hide show
  1. lorebase_core/__init__.py +1 -0
  2. lorebase_core/canonical/__init__.py +35 -0
  3. lorebase_core/canonical/hashing.py +128 -0
  4. lorebase_core/canonical/jcs.py +162 -0
  5. lorebase_core/expr/__init__.py +118 -0
  6. lorebase_core/expr/ast.py +443 -0
  7. lorebase_core/expr/checker.py +428 -0
  8. lorebase_core/expr/compiler.py +87 -0
  9. lorebase_core/expr/context.py +82 -0
  10. lorebase_core/expr/derivations.py +306 -0
  11. lorebase_core/expr/environment.py +176 -0
  12. lorebase_core/expr/errors.py +98 -0
  13. lorebase_core/expr/evaluator.py +414 -0
  14. lorebase_core/expr/functions.py +898 -0
  15. lorebase_core/expr/limits.py +52 -0
  16. lorebase_core/expr/operations.py +479 -0
  17. lorebase_core/expr/ops.py +243 -0
  18. lorebase_core/expr/resolver.py +96 -0
  19. lorebase_core/expr/rows.py +148 -0
  20. lorebase_core/expr/sensitivity.py +337 -0
  21. lorebase_core/expr/types.py +227 -0
  22. lorebase_core/expr/validation.py +51 -0
  23. lorebase_core/expr/values.py +169 -0
  24. lorebase_core/expr/visibility.py +363 -0
  25. lorebase_core/infer/__init__.py +36 -0
  26. lorebase_core/infer/columns.py +621 -0
  27. lorebase_core/infer/engine.py +546 -0
  28. lorebase_core/infer/keys.py +164 -0
  29. lorebase_core/infer/names.py +145 -0
  30. lorebase_core/infer/options.py +290 -0
  31. lorebase_core/infer/profile.py +54 -0
  32. lorebase_core/infer/proposal.py +122 -0
  33. lorebase_core/infer/references.py +314 -0
  34. lorebase_core/infer/suggestions.py +731 -0
  35. lorebase_core/infer/tables.py +81 -0
  36. lorebase_core/merge/__init__.py +89 -0
  37. lorebase_core/merge/conflicts.py +262 -0
  38. lorebase_core/merge/consistency.py +440 -0
  39. lorebase_core/merge/data_merge.py +522 -0
  40. lorebase_core/merge/engine.py +476 -0
  41. lorebase_core/merge/index.py +100 -0
  42. lorebase_core/merge/objects.py +204 -0
  43. lorebase_core/merge/policies.py +322 -0
  44. lorebase_core/merge/resolve.py +321 -0
  45. lorebase_core/merge/schema_merge.py +429 -0
  46. lorebase_core/merge/state.py +443 -0
  47. lorebase_core/model/__init__.py +245 -0
  48. lorebase_core/model/attribute.py +72 -0
  49. lorebase_core/model/base.py +61 -0
  50. lorebase_core/model/derivation.py +95 -0
  51. lorebase_core/model/domain.py +71 -0
  52. lorebase_core/model/embedding.py +193 -0
  53. lorebase_core/model/ids.py +78 -0
  54. lorebase_core/model/kind.py +85 -0
  55. lorebase_core/model/lineage.py +114 -0
  56. lorebase_core/model/operation.py +161 -0
  57. lorebase_core/model/paths.py +141 -0
  58. lorebase_core/model/record.py +127 -0
  59. lorebase_core/model/relation.py +83 -0
  60. lorebase_core/model/schema.py +219 -0
  61. lorebase_core/model/source.py +204 -0
  62. lorebase_core/model/trait.py +37 -0
  63. lorebase_core/model/vault.py +43 -0
  64. lorebase_core/model/yaml_schema.py +1058 -0
  65. lorebase_core/query/__init__.py +97 -0
  66. lorebase_core/query/dsl.py +227 -0
  67. lorebase_core/query/resolve.py +794 -0
  68. lorebase_core/revision/__init__.py +59 -0
  69. lorebase_core/revision/ancestry.py +272 -0
  70. lorebase_core/revision/changeset.py +62 -0
  71. lorebase_core/revision/revision.py +121 -0
  72. lorebase_core/tree/__init__.py +76 -0
  73. lorebase_core/tree/diff.py +119 -0
  74. lorebase_core/tree/hamt.py +333 -0
  75. lorebase_core/tree/node.py +280 -0
  76. lorebase_core/tree/params.py +33 -0
  77. lorebase_core/tree/root.py +70 -0
  78. lorebase_core/tree/store.py +98 -0
  79. lorebase_core/types/__init__.py +71 -0
  80. lorebase_core/types/casts.py +271 -0
  81. lorebase_core/types/constraints.py +299 -0
  82. lorebase_core/types/encoding.py +538 -0
  83. lorebase_core/types/errors.py +41 -0
  84. lorebase_core/types/matching.py +40 -0
  85. lorebase_core/types/types.py +187 -0
  86. lorebase_core/validate/__init__.py +49 -0
  87. lorebase_core/validate/changes.py +70 -0
  88. lorebase_core/validate/changeset.py +551 -0
  89. lorebase_core/validate/data_rules.py +291 -0
  90. lorebase_core/validate/issues.py +123 -0
  91. lorebase_core/validate/schema_rules.py +1304 -0
  92. lorebase_core-0.2.3.dist-info/METADATA +9 -0
  93. lorebase_core-0.2.3.dist-info/RECORD +94 -0
  94. lorebase_core-0.2.3.dist-info/WHEEL +4 -0
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.5
2
+ Name: lorebase-core
3
+ Version: 0.2.3
4
+ Summary: Lorebase core: pure domain logic and versioning engine
5
+ Requires-Python: >=3.12
6
+ Requires-Dist: cel-python>=0.5
7
+ Requires-Dist: google-re2>=1.1
8
+ Requires-Dist: pydantic>=2.7
9
+ Requires-Dist: pyyaml>=6.0
@@ -0,0 +1,94 @@
1
+ lorebase_core/__init__.py,sha256=PNiDER4qM19h9zdsdfgKt2_dT4WgYK7EguJ8RU2qA_g,22
2
+ lorebase_core/canonical/__init__.py,sha256=rrXBwdByIdQNXjiP4Pf6_ltlLdLkURzh7_7kNH7Ih-8,706
3
+ lorebase_core/canonical/hashing.py,sha256=PZKH4_Wy2XS-Zx3Gpjov6uJZXNRYrRhnZQci5Hn5wgo,4137
4
+ lorebase_core/canonical/jcs.py,sha256=J0FTpG467Rp3UIOujUh7wLHgZewQiVEptWmG4xH5WpQ,5431
5
+ lorebase_core/expr/__init__.py,sha256=01DgB7KhA4iEm_eWpJEi6r7-5muzqIwcye7ZUpnkE4w,3571
6
+ lorebase_core/expr/ast.py,sha256=B71LD2kcaqD6b0-vpRt5kLiwxpYW-5G5ZQ2_r3G2Kuo,15888
7
+ lorebase_core/expr/checker.py,sha256=zmSgdhUvCqZMt8D5MfkxTkGK7QN-sLlRjyBEIAndy6c,16476
8
+ lorebase_core/expr/compiler.py,sha256=ZwIKhEMWEAyrPIWSOknbi-Wq5gPPURvNslKv4xaoZys,2926
9
+ lorebase_core/expr/context.py,sha256=i2PpFe-K1QEq1V9ISnmRwDME-lr-ZFtfdOr0yA-kgs4,3161
10
+ lorebase_core/expr/derivations.py,sha256=5sCjDzzUMaJXdZ85gPGUM-GUTDKeNMHl0Cemcdj-B6s,12577
11
+ lorebase_core/expr/environment.py,sha256=PlZqh5TKh6QFhLQbDbbwMzgCbiXP7JmndXbrHbety3A,6930
12
+ lorebase_core/expr/errors.py,sha256=CmlTGGwgu-DJbad5ZrFZM5gmHxk2pLrei2-QG_M5X2M,3210
13
+ lorebase_core/expr/evaluator.py,sha256=s8PbE-164UI9pomdifyeBeeJDHz0QJqhEMVi8j2Eg4Y,16296
14
+ lorebase_core/expr/functions.py,sha256=dqhVx3a8oxPwV4SEzvdAOL_LrhLYt39Nutc86C0bVr8,31564
15
+ lorebase_core/expr/limits.py,sha256=4rNzfKY0MPDxfOXAcqAesmHt8x03eZdSi7Bm2zmVjQM,1820
16
+ lorebase_core/expr/operations.py,sha256=OC8qC5ym9lPj9HovkmGkiXjWsyhhtliLCGsNpaAjX74,19276
17
+ lorebase_core/expr/ops.py,sha256=og5WjSyaOu5uV8gBLFGPz5Hgzfzv2xt2vqVBmT9KvIw,10030
18
+ lorebase_core/expr/resolver.py,sha256=FMYIPA4mWgEz96EYD0VV-QdAIbsbAjX_guxtl1oSnO8,3252
19
+ lorebase_core/expr/rows.py,sha256=zywxmZ_0_2Ui9c1R4xjeLYBcITDP_u1vi-TpvSsLBz8,6414
20
+ lorebase_core/expr/sensitivity.py,sha256=o_jX4JoBxIef3lA--Yw8MIJbGWwi3DsJTOGrOgnOIgw,14124
21
+ lorebase_core/expr/types.py,sha256=jNsAKur__hlzrl09Mopuq4KhV0Ry43YNs_8q8oEqUpE,7931
22
+ lorebase_core/expr/validation.py,sha256=fAEbao23vvBCKnoh_1R82hkNBCAz8skdiK_hJQSOkTI,2080
23
+ lorebase_core/expr/values.py,sha256=6ojEzmgO89FZziMGsDw995s9tDO49U2C29O0o5tArKg,5405
24
+ lorebase_core/expr/visibility.py,sha256=154uKyLiLdiEDZ97B77gVyytwOeO24zoFgABOuOHGQE,14483
25
+ lorebase_core/infer/__init__.py,sha256=-IBI0w_nObgAFyYGejMWcK3ooEf9zVx0KDbCWgIy2mE,1230
26
+ lorebase_core/infer/columns.py,sha256=7bOC2OuD7DvOGD9y310fAn8ECQpkxhzRGoHICYNyaFo,22540
27
+ lorebase_core/infer/engine.py,sha256=m5C1ZYLcdWvklkA9_L5ekgxTnU-C3DUvw0sKUX8QzOE,22176
28
+ lorebase_core/infer/keys.py,sha256=oJKjrESeXym_xC4xcwVMNg5riqM8_ZcFwj7APQ_RdpA,6377
29
+ lorebase_core/infer/names.py,sha256=JJr6euJBRsLXVHt3nrC_xp7MaqiJO-PWrGgbw_Qji4k,5251
30
+ lorebase_core/infer/options.py,sha256=QgL8qjeYGgd6Z7TwK2CA40Rjib_vehCKI6uYnvUNKb8,11714
31
+ lorebase_core/infer/profile.py,sha256=G4M-P7DbRUb7XEDtTYeNk6HadNkBfBuwqmKIAPxyLr4,1845
32
+ lorebase_core/infer/proposal.py,sha256=KEhlBUKHPgmXutzeKHhQjdsBiRKHqttTFjJqWM3P1Lg,3571
33
+ lorebase_core/infer/references.py,sha256=OIsMDGKC7jSkOO6Cz2XckQv0i_jm9b6WN1nLRnrBUyc,12947
34
+ lorebase_core/infer/suggestions.py,sha256=YhYp3lcSMu8SkwYah2Br-ZX-bU7lUCqOtOSqj2ZQRaM,27551
35
+ lorebase_core/infer/tables.py,sha256=2-E9QLQZ5f8-aluzNILBhRZmQ0md4NF5YaJdPzZIvaU,2896
36
+ lorebase_core/merge/__init__.py,sha256=VE6xYSljaMPLEzf3InMGVaWBEnYID-sY1exlpE5a11s,1893
37
+ lorebase_core/merge/conflicts.py,sha256=8UzHgdUy03YSKXFb95O5p8aKZC32jtUzrWBOk1Us438,8638
38
+ lorebase_core/merge/consistency.py,sha256=meAJq1H4paRbK9hz8giir4nUXIq6yuHbjLWmY0P4meQ,19091
39
+ lorebase_core/merge/data_merge.py,sha256=3HMoZ2ocGWQ8aOUGv1C8lJQXECoddOTvsg4rv5wCQhE,21730
40
+ lorebase_core/merge/engine.py,sha256=AmlXaKBoWwNueVvPZswsxk9mdra9tFebdmyKxfuvXHw,18632
41
+ lorebase_core/merge/index.py,sha256=VEGjDn0Ba4bIxh90S04qRo66CgbVHh1ZLNK7skgQbTo,4167
42
+ lorebase_core/merge/objects.py,sha256=STznqWgNnitvNm7aQ-b4r9Ds4ighcZhhnzkXIDDXa5s,6572
43
+ lorebase_core/merge/policies.py,sha256=HHa2XKOM3xDlj1MoSHI6zC2TMgVb-Ehj61iv4L6n-WM,13597
44
+ lorebase_core/merge/resolve.py,sha256=jTeUtUlOoQvuKMrm5kP2ahanLD_jvVsDhMvSnVfKwbg,12854
45
+ lorebase_core/merge/schema_merge.py,sha256=kQPtPPQO6pMsJO-j9M2uMOP25GuM1mHZNfgFKXj9c6U,15909
46
+ lorebase_core/merge/state.py,sha256=iO_850_SPd2stdZK1f3ce4X5nNtOVN1B2CSkLRtNFeA,16361
47
+ lorebase_core/model/__init__.py,sha256=ryhz-m4gDHpnH4KYds_4_EWoJ8HlQJ8gv7LUdnyCtZQ,5329
48
+ lorebase_core/model/attribute.py,sha256=FtUvJ1a3K7DvAdYM9oZ1Gn6EbjCOBcxPwK_pb6jvBZE,2241
49
+ lorebase_core/model/base.py,sha256=sVm_TwglQseJAtaeUhEh4EZIh2Lw2aIbicuQ7Th1rTA,1767
50
+ lorebase_core/model/derivation.py,sha256=n9kPogIhFLHYugSeKYt3YTMNzYfiZHpsjhxy1o2sQiU,3012
51
+ lorebase_core/model/domain.py,sha256=ZdHaSe8Edd3AyKdNLPekicisnXoXZLFrHKI5v734X1Y,2526
52
+ lorebase_core/model/embedding.py,sha256=ZFgQpS78CYm9AWFl6-Ac1SrvxSNYoV-c5rx8elVQ4HE,6988
53
+ lorebase_core/model/ids.py,sha256=deYph3F8kHileCmisKo4afE997NVhQ5zg0HBrxauolE,2822
54
+ lorebase_core/model/kind.py,sha256=WCzs-7cdYBMQuUbX9x37Z_8zCIFw6ayA2VE74-aNGf0,2769
55
+ lorebase_core/model/lineage.py,sha256=4SwGriRmir_ervmrF3kXDd7RdlAStde7lam8sceyf9c,3092
56
+ lorebase_core/model/operation.py,sha256=P8dtoRudEjepDe9SW-XbE_zZsMJe7feZ_hkAaYdVYIA,4832
57
+ lorebase_core/model/paths.py,sha256=r_j9QDi3MogTe5piFsSt19AcRq8z-VrYib_Wd1eR6z4,5516
58
+ lorebase_core/model/record.py,sha256=6uNxYBFfhSI2Fp9PZpauiAu4EgFDB31YZIKjenTH5sI,4171
59
+ lorebase_core/model/relation.py,sha256=0mIB3TrtTaAtLcN6N1jj2bavZfn5e_7Tkv1TeTrXTD4,2864
60
+ lorebase_core/model/schema.py,sha256=rvUqIswQHyZz1W8GHdwc5LG1n1Vn6lG0gglaTPvXAYo,9031
61
+ lorebase_core/model/source.py,sha256=pQ9epFd-MfS7s4Y6aAehq8-2bEDTvLN759nwCsDm_F4,7552
62
+ lorebase_core/model/trait.py,sha256=6mr-KOtkeqVt_seWTqk3HIRr4yKePFzUd84DwdQDEJM,1097
63
+ lorebase_core/model/vault.py,sha256=WF7wFMC9FkhLiRBwdVafut7bUvTAqBsTufpRp6B4dS4,1585
64
+ lorebase_core/model/yaml_schema.py,sha256=smY552Cn6YRNGWiA00mZ0LmHbQ6EoJdzvwg-8bhOVLQ,45620
65
+ lorebase_core/query/__init__.py,sha256=OhaQvbYYTRzn0lZCYvbao2fPDpmjCbqndLMrRj6Eoz0,1700
66
+ lorebase_core/query/dsl.py,sha256=_j_r19BgVeMBML4QxG0_8cpkXXZ_PFOqL9ffPsj2t6s,6388
67
+ lorebase_core/query/resolve.py,sha256=c2S2sa_UKFUQaSpEivvEbWkjJLvt-cGyYrL8v69z5f8,28865
68
+ lorebase_core/revision/__init__.py,sha256=rsQJ-rVUO0PllTod1TmRYnqA__QgSnHTm68NX_HexxM,1240
69
+ lorebase_core/revision/ancestry.py,sha256=3AI82NLMwScc3Zequ4hhl85MdUjSZYIX1i89AXfzJSI,9743
70
+ lorebase_core/revision/changeset.py,sha256=CqFTrEV6t9XMhOu8qUs80s2L3dlvLCgNEjvV-d-dvQA,2211
71
+ lorebase_core/revision/revision.py,sha256=DWSodDvXioEpplkEtqbnOqh3mw6wT-An7Qrn1ijV5FA,3567
72
+ lorebase_core/tree/__init__.py,sha256=2Ay1T3OCOSoC487VJS0pXue4AAY3k94JfV5Hjm7zl7M,1498
73
+ lorebase_core/tree/diff.py,sha256=km93S27gWVVJqwts59G4pNSK3quIN5jxCA6quNb84zI,4174
74
+ lorebase_core/tree/hamt.py,sha256=rKBzpG_PxXDs_T3c2wfjKGO2IdCyRwaHbKLT3qDnAXE,11754
75
+ lorebase_core/tree/node.py,sha256=Q0W_g0O3RWKpt6hC4nFrgVCYsoNaXVunKlNkE_UXAF4,9187
76
+ lorebase_core/tree/params.py,sha256=T5fnkV7ub4sUdo4-hTLtcOEutKs6cv3_7X91atnoSf4,981
77
+ lorebase_core/tree/root.py,sha256=ZRXEDl3bxSF_Sgbmzo4uD3WpoXDb9pKnR3oURIb_WGI,2155
78
+ lorebase_core/tree/store.py,sha256=dYVNrgz1n3teH1p0M3aXGMbxpmC7f9dZAxM8QSXfoYI,2869
79
+ lorebase_core/types/__init__.py,sha256=7IaUh-Cv99XMAfoY5gsuDSxbrmjkKGhEf7MIIR0xD18,1601
80
+ lorebase_core/types/casts.py,sha256=NC5ifDipzwp-IYaK5gj-FYcRQP8wmty27HPeGAHU4TE,11292
81
+ lorebase_core/types/constraints.py,sha256=X6J23haKAb9H5w8-MKgQ09GwgvEwWul5PjsWeV37ea8,10968
82
+ lorebase_core/types/encoding.py,sha256=ivj40kTEk0Q6Z8k6WzBHrD02bxVEbltwKBR3fiWEqkY,21960
83
+ lorebase_core/types/errors.py,sha256=nGoCuWDxy_oUf4xjNAlpzTGRUCHDfKUQbtJZ5rXcOAE,1180
84
+ lorebase_core/types/matching.py,sha256=mtMiN8ZKRDSK-b6HHVX7VZv0X3srMlskrE-9aIo5ZXI,1675
85
+ lorebase_core/types/types.py,sha256=2y725wHbui0nggJw0qwcvAeK_v2z4ipj2JICL73R-50,6804
86
+ lorebase_core/validate/__init__.py,sha256=4b_SzM603TNZbR-ViqYSxSsK8h21HKoCpyt8GV39FE8,1161
87
+ lorebase_core/validate/changes.py,sha256=E1KHI1osZcypDouzaj8pnzFfsKmDk8BnEtvky1R45MY,1769
88
+ lorebase_core/validate/changeset.py,sha256=dznwZkLW9QF8nT6QWzboCqLZ8ms_lbG2n7uTeWatrAQ,23936
89
+ lorebase_core/validate/data_rules.py,sha256=N96Iw0nrpSJXxgtrug_KeHbeT-ea-gYbOWE763M_ChI,10917
90
+ lorebase_core/validate/issues.py,sha256=uezNTRfFwCijaqcKZTUMux8kW3Oo_RorMiZaVnYd6DY,5144
91
+ lorebase_core/validate/schema_rules.py,sha256=T0DQ3BXLDVGCNnghbHXyXmesqZGrrGPqAVJkRb7EPy0,57621
92
+ lorebase_core-0.2.3.dist-info/METADATA,sha256=_BkJeWm5O3JFv7V52m-xm4LEyBwhTh_NCyJ20ubu078,263
93
+ lorebase_core-0.2.3.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
94
+ lorebase_core-0.2.3.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any