linkml 1.7.5__py3-none-any.whl → 1.7.6__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 (41) hide show
  1. linkml/generators/__init__.py +2 -0
  2. linkml/generators/docgen/class.md.jinja2 +15 -2
  3. linkml/generators/docgen/slot.md.jinja2 +14 -1
  4. linkml/generators/docgen.py +17 -3
  5. linkml/generators/jsonldcontextgen.py +9 -6
  6. linkml/generators/jsonldgen.py +3 -1
  7. linkml/generators/owlgen.py +14 -0
  8. linkml/generators/prefixmapgen.py +5 -4
  9. linkml/generators/projectgen.py +14 -2
  10. linkml/generators/pydanticgen/__init__.py +29 -0
  11. linkml/generators/{pydanticgen.py → pydanticgen/pydanticgen.py} +192 -299
  12. linkml/generators/pydanticgen/template.py +504 -0
  13. linkml/generators/pydanticgen/templates/attribute.py.jinja +10 -0
  14. linkml/generators/pydanticgen/templates/base_model.py.jinja +27 -0
  15. linkml/generators/pydanticgen/templates/class.py.jinja +21 -0
  16. linkml/generators/pydanticgen/templates/conditional_import.py.jinja +9 -0
  17. linkml/generators/pydanticgen/templates/enum.py.jinja +16 -0
  18. linkml/generators/pydanticgen/templates/footer.py.jinja +13 -0
  19. linkml/generators/pydanticgen/templates/imports.py.jinja +31 -0
  20. linkml/generators/pydanticgen/templates/module.py.jinja +27 -0
  21. linkml/generators/pydanticgen/templates/validator.py.jinja +15 -0
  22. linkml/generators/pythongen.py +13 -7
  23. linkml/generators/shacl/__init__.py +3 -0
  24. linkml/generators/shacl/ifabsent_processor.py +41 -0
  25. linkml/generators/shacl/shacl_data_type.py +40 -0
  26. linkml/generators/shaclgen.py +105 -82
  27. linkml/generators/shexgen.py +1 -1
  28. linkml/generators/sqlalchemygen.py +1 -1
  29. linkml/generators/sqltablegen.py +32 -22
  30. linkml/generators/terminusdbgen.py +7 -1
  31. linkml/linter/config/datamodel/config.py +8 -0
  32. linkml/linter/rules.py +11 -2
  33. linkml/utils/generator.py +7 -6
  34. linkml/utils/ifabsent_functions.py +7 -9
  35. linkml/utils/schemaloader.py +1 -9
  36. linkml/utils/sqlutils.py +39 -25
  37. {linkml-1.7.5.dist-info → linkml-1.7.6.dist-info}/METADATA +4 -1
  38. {linkml-1.7.5.dist-info → linkml-1.7.6.dist-info}/RECORD +41 -27
  39. {linkml-1.7.5.dist-info → linkml-1.7.6.dist-info}/LICENSE +0 -0
  40. {linkml-1.7.5.dist-info → linkml-1.7.6.dist-info}/WHEEL +0 -0
  41. {linkml-1.7.5.dist-info → linkml-1.7.6.dist-info}/entry_points.txt +0 -0
linkml/utils/sqlutils.py CHANGED
@@ -324,9 +324,15 @@ def main(verbose: int, quiet: bool, csv_field_size_limit: int):
324
324
  show_default=True,
325
325
  help="Force creation of a database if it does not exist",
326
326
  )
327
- @click.argument("input")
327
+ @click.option(
328
+ "--glob/--no-glob",
329
+ default=False,
330
+ show_default=True,
331
+ help="Treat input as a quoted glob expression, e.g. 'data/*.json'",
332
+ )
333
+ @click.argument("inputs", nargs=-1)
328
334
  def dump(
329
- input,
335
+ inputs,
330
336
  module,
331
337
  db,
332
338
  target_class,
@@ -334,6 +340,7 @@ def dump(
334
340
  schema=None,
335
341
  validate=None,
336
342
  force: bool = None,
343
+ glob: bool = None,
337
344
  index_slot=None,
338
345
  ) -> None:
339
346
  """
@@ -359,34 +366,41 @@ def dump(
359
366
  if target_class is None:
360
367
  raise Exception("target class not specified and could not be inferred")
361
368
  py_target_class = python_module.__dict__[target_class]
362
- input_format = _get_format(input, input_format)
363
- loader = get_loader(input_format)
364
-
365
- inargs = {}
366
- if datautils._is_rdf_format(input_format):
367
- if sv is None:
368
- raise Exception("Must pass schema arg")
369
- inargs["schemaview"] = sv
370
- inargs["fmt"] = input_format
371
- if _is_xsv(input_format):
372
- if index_slot is None:
373
- index_slot = infer_index_slot(sv, target_class)
374
- if index_slot is None:
375
- raise Exception("--index-slot is required for CSV input")
376
- inargs["index_slot"] = index_slot
377
- inargs["schema"] = schema
378
- obj = loader.load(source=input, target_class=py_target_class, **inargs)
379
- if validate:
380
- if schema is None:
381
- raise Exception("--schema must be passed in order to validate. Suppress with --no-validate")
382
- # TODO: use validator framework
383
- validation.validate_object(obj, schema)
384
369
 
385
370
  endpoint = SQLStore(schema, database_path=db, include_schema_in_database=False)
386
371
  endpoint.native_module = python_module
387
372
  endpoint.db_exists(force=force)
388
373
  endpoint.compile()
389
- endpoint.dump(obj)
374
+
375
+ if glob:
376
+ import glob
377
+
378
+ inputs = [item for input in inputs for item in glob.glob(input)]
379
+ for input in inputs:
380
+ logging.info(f"Loading: {input}")
381
+ input_format = _get_format(input, input_format)
382
+ loader = get_loader(input_format)
383
+
384
+ inargs = {}
385
+ if datautils._is_rdf_format(input_format):
386
+ if sv is None:
387
+ raise Exception("Must pass schema arg")
388
+ inargs["schemaview"] = sv
389
+ inargs["fmt"] = input_format
390
+ if _is_xsv(input_format):
391
+ if index_slot is None:
392
+ index_slot = infer_index_slot(sv, target_class)
393
+ if index_slot is None:
394
+ raise Exception("--index-slot is required for CSV input")
395
+ inargs["index_slot"] = index_slot
396
+ inargs["schema"] = schema
397
+ obj = loader.load(source=input, target_class=py_target_class, **inargs)
398
+ if validate:
399
+ if schema is None:
400
+ raise Exception("--schema must be passed in order to validate. Suppress with --no-validate")
401
+ # TODO: use validator framework
402
+ validation.validate_object(obj, schema)
403
+ endpoint.dump(obj)
390
404
 
391
405
 
392
406
  @main.command()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: linkml
3
- Version: 1.7.5
3
+ Version: 1.7.6
4
4
  Summary: Linked Open Data Modeling Language
5
5
  Home-page: https://linkml.io/linkml/
6
6
  Keywords: schema,linked data,data modeling,rdf,owl,biolink
@@ -22,6 +22,8 @@ Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Programming Language :: Python :: 3.8
23
23
  Classifier: Programming Language :: Python :: 3.9
24
24
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
+ Provides-Extra: shacl
26
+ Provides-Extra: tests
25
27
  Requires-Dist: antlr4-python3-runtime (>=4.9.0,<4.10)
26
28
  Requires-Dist: click (>=7.0)
27
29
  Requires-Dist: graphviz (>=0.10.1)
@@ -38,6 +40,7 @@ Requires-Dist: prefixcommons (>=0.1.7)
38
40
  Requires-Dist: prefixmaps (>=0.1.3)
39
41
  Requires-Dist: pydantic (>=1.0.0,<3.0.0)
40
42
  Requires-Dist: pyjsg (>=0.11.6)
43
+ Requires-Dist: pyshacl (>=0.25.0,<0.26.0) ; extra == "shacl" or extra == "tests"
41
44
  Requires-Dist: pyshex (>=0.7.20)
42
45
  Requires-Dist: pyshexc (>=0.8.3)
43
46
  Requires-Dist: python-dateutil
@@ -2,21 +2,21 @@ linkml/__init__.py,sha256=jwtUdhwmquj-0fCR6VwPH5_RfSpuG94hLWdre_W_FD4,3327
2
2
  linkml/_version.py,sha256=udxv6OEqcE89DTVMYPtetXYg8IA8Sgc6yW26-6f8C3M,310
3
3
  linkml/generators/PythonGenNotes.md,sha256=wb9BPLLhF6378OKLbwSBAwmniLpwrcT5_bbfCHfLme8,51006
4
4
  linkml/generators/README.md,sha256=RMzT8EblC_GEdPy5WyfXHDBXlFI6k6mz3Cx2sdpcyWI,4438
5
- linkml/generators/__init__.py,sha256=0KxTxNpQBnq4JTsDtwXQ1RYsRdmxfkegVBJKupti4Jg,1438
5
+ linkml/generators/__init__.py,sha256=dQ2EUKy_MctEVEzbC3XzEJL5YmYwjYfsa44mG2zKn7g,1517
6
6
  linkml/generators/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  linkml/generators/common/type_designators.py,sha256=lgVcIRJJ-yCvVGeP9U_gQZpm77UmJBQo9Bh3lGJITno,1956
8
8
  linkml/generators/csvgen.py,sha256=X0f4qKXahSDtkzM9Y47rwWqdseP1O6PTZ_WKiOqOrQI,2956
9
- linkml/generators/docgen/class.md.jinja2,sha256=_nQr8ge57ZkX3Hrh-cqPUm8Z7HCnJuuRCgYm0g21mS8,3381
9
+ linkml/generators/docgen/class.md.jinja2,sha256=bz5A46HOIPkUVbzPGorg64NNhr66zK0hCCekSfRPErY,3787
10
10
  linkml/generators/docgen/class_diagram.md.jinja2,sha256=lLU_0sQZBttOX5Wiup2oZwrxHuiQtbU9ZgLi66aJvOo,2538
11
11
  linkml/generators/docgen/common_metadata.md.jinja2,sha256=zy8Ua3gDtAAq8VA3e3O3ft9W7eJopVZaq5efP8LU_hU,1321
12
12
  linkml/generators/docgen/enum.md.jinja2,sha256=mXnUrRkleY2bOTEyAZ5c4pcUnqhs6BNa8a-4LVve-eo,1014
13
13
  linkml/generators/docgen/index.md.jinja2,sha256=wXUYTmayPLFltC0vbGE_Mf6m3GkkWav7FOEjCvEpHp4,1466
14
14
  linkml/generators/docgen/index.tex.jinja2,sha256=Go_EA-_N4JUpbOYbk3OY11mz5yV70VF2l2sMtgIPWw4,501
15
15
  linkml/generators/docgen/schema.md.jinja2,sha256=xlENfnzNRYgPT_0tdqNFxgklVM4Qf5BuzhFVvSMDuxs,70
16
- linkml/generators/docgen/slot.md.jinja2,sha256=XVd0M4gKx9Q2fONcsUGBRj_bJivyN4P9jhj9IO496jQ,2817
16
+ linkml/generators/docgen/slot.md.jinja2,sha256=HcLu32FiyIRy0AaV-GwBPUwEbTCY-KkPDhOZk3OKfqg,3226
17
17
  linkml/generators/docgen/subset.md.jinja2,sha256=fTNIpAkml5RKFbbtLore3IAzFN1cISVsyL1ru2-Z4oA,2665
18
18
  linkml/generators/docgen/type.md.jinja2,sha256=QmCMJZrFwP33eHkggBVtypbyrxTb-XZn9vHOYojVaYk,635
19
- linkml/generators/docgen.py,sha256=Gce1B1ca3v-sXoUGOXNDc7YbKc-9wAz5bxDgfEQakC0,33567
19
+ linkml/generators/docgen.py,sha256=dz7OWxclX306EweVIgC765h3NKtJTRg0TPnqmltWygs,34347
20
20
  linkml/generators/dotgen.py,sha256=kzp1EYtF8bBqOuycJokDmsvHVDVkkW-J-6-MiUhwJH0,5013
21
21
  linkml/generators/erdiagramgen.py,sha256=xCnxIldDYZ7xnQ-vLaXlH3FH8MH3cxu-E0j8it-lyJE,10153
22
22
  linkml/generators/excelgen.py,sha256=3ILAeIHeYngNpPf3Ad7CXoHOLQ9KSiYcX5HdwHhQeQE,7696
@@ -26,34 +26,48 @@ linkml/generators/graphqlgen.py,sha256=6qZpI0rwg3ypsv_KrLVzXgdsJfR8LNPqgMwaRwzwn
26
26
  linkml/generators/javagen/example_template.java.jinja2,sha256=ec4CVTv_0zS7V5Y-1E6H4lRraya10gfX7BEMBlu38X4,444
27
27
  linkml/generators/javagen/java_record_template.jinja2,sha256=OQZffLSy_xR3FIhQMltvrYyVeut7l2Q-tzK7AOiVmWs,1729
28
28
  linkml/generators/javagen.py,sha256=KxwupMztyCRHcSsbtTnOovuj1WamsAny0mxbYWvTiDs,5324
29
- linkml/generators/jsonldcontextgen.py,sha256=RQFBgNjWMdnjf0j8S_k1lyMauI9Ia5Ao0ruuFjLwhdA,7886
30
- linkml/generators/jsonldgen.py,sha256=BtPXLYbnXTXorUcoe6y4DL0xa-TPjHOvtXdhv-ppW3I,7656
29
+ linkml/generators/jsonldcontextgen.py,sha256=048kzs28xooik86A8OQ0NIbXxyJZGkqH1ZMxg17mcf4,8073
30
+ linkml/generators/jsonldgen.py,sha256=pk8Gmh2gSvXt_o7MTuJ71thNfIJuHUGkNl3yl3RIdsE,7728
31
31
  linkml/generators/jsonschemagen.py,sha256=XOsYIrpA6BwtAcfh8GNGduIjpuPAsF2f_PQ1mghj_WU,27455
32
32
  linkml/generators/legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  linkml/generators/linkmlgen.py,sha256=1_Kt_7rD42WvCTjq0yaq1Of7jEDZR_uusyzAT-qWMHk,3471
34
34
  linkml/generators/markdowngen.py,sha256=dDMyusNXLvM2raIW-_vd2AQBhDHn0P_rMeDq3QFuacs,32926
35
35
  linkml/generators/namespacegen.py,sha256=vVcIyM0zlKd7XRvtdzwTwHjG4Pg49801gy4FUmjJlqQ,6450
36
36
  linkml/generators/oocodegen.py,sha256=r73QI08ajbTZTobc9OIG6BMWZft3zdu76vKVR33pyYg,7774
37
- linkml/generators/owlgen.py,sha256=pxSvi1xpwgYWj6NtNxpVb1JsG4VgS_zTHl2LH8q0gLs,53807
37
+ linkml/generators/owlgen.py,sha256=FMzdiK85CND8wnLiXPmylpayUTGpuydgD_g4hFjyez4,54374
38
38
  linkml/generators/plantumlgen.py,sha256=tk-_XJtBA5EqYJSUTc3bdMdCwqlC-rc9VYO9A2V_HpM,14895
39
- linkml/generators/prefixmapgen.py,sha256=-IGKre3rRxCdNs0BP3Oo7Wzv8edeUQXkjjwN7od3qjU,4627
40
- linkml/generators/projectgen.py,sha256=WUEEWE0kMFPPDAYOa-KUvAiFqRADlBIcfoId5bO7new,9598
39
+ linkml/generators/prefixmapgen.py,sha256=L9TccwKNHEguW0ox5qgf_GhIuqauYTI8d4jSjeqdkWo,4720
40
+ linkml/generators/projectgen.py,sha256=OuT_AneoZFNMCn50GllfZafadUHt50u61JcftM2eed4,9750
41
41
  linkml/generators/protogen.py,sha256=5UxThsFDVyDTzzTDh77Z0anx4-tLgz8kQQ-e7ywIqwI,2290
42
- linkml/generators/pydanticgen.py,sha256=ijSLhWJxi-4PlJXvro09xDub3K_-zE1T5T_ywWnU3KA,30563
43
- linkml/generators/pythongen.py,sha256=WYWim9Um_a4xDohyrQSMthBVlbWlq9j2tbdUqnQmy6g,52465
42
+ linkml/generators/pydanticgen/__init__.py,sha256=uKGaaQSaeKqinHImXGFE448i-t8Oi0No8suIO76sep8,629
43
+ linkml/generators/pydanticgen/pydanticgen.py,sha256=ZUi9fE5ZiQbW5V4Ckth8hysMghHh9H2RpqLZa3m8PfQ,27598
44
+ linkml/generators/pydanticgen/template.py,sha256=e2PYQFRlDR1Nva_xy-NlsttpW79L8n6e63QKHZzoXH8,17016
45
+ linkml/generators/pydanticgen/templates/attribute.py.jinja,sha256=AlH_QFJJkONpzXQRGqnW4ufmjp9s9E7Q9W5r8ykNGeQ,443
46
+ linkml/generators/pydanticgen/templates/base_model.py.jinja,sha256=eYKNI-4itB6lYW5yhfIWngtMcHZnuEaic9Dv56XKX4M,797
47
+ linkml/generators/pydanticgen/templates/class.py.jinja,sha256=RIdkqdZS9rDILUuVqDIAWK_vATGkirLbPhdHSyHDAbY,565
48
+ linkml/generators/pydanticgen/templates/conditional_import.py.jinja,sha256=YheknDrxvepiJUzeItSL5aSbAkCdR1k0a6m6aTA4qNM,240
49
+ linkml/generators/pydanticgen/templates/enum.py.jinja,sha256=572XFQyEMZfL-G_Cj68T-NI_mUnDoFOAVJOGIKu2Hb8,338
50
+ linkml/generators/pydanticgen/templates/footer.py.jinja,sha256=WuWGJjkWDQcEPL2bGk5fdGuhO0gQRUJzpo4CQHHxQNQ,385
51
+ linkml/generators/pydanticgen/templates/imports.py.jinja,sha256=d1XFna2eOpkH8cgJML3vXwqGcocczvOcrbg6jjd4kP0,945
52
+ linkml/generators/pydanticgen/templates/module.py.jinja,sha256=SkmtWtQS7D-xBiZI-sFiYC3WYPKi3VJCj_KtaMVxexM,438
53
+ linkml/generators/pydanticgen/templates/validator.py.jinja,sha256=Yo4dubQal-HwEoJKztQkLYM5qCz1I8na2oaDlXuEpwU,532
54
+ linkml/generators/pythongen.py,sha256=AvOQZJ-OT8lMYeaT2bdexHuRPRfTK7wpbmgAdfc2lW4,52805
44
55
  linkml/generators/rdfgen.py,sha256=L6F08iDUqVemXXrRbJmcOxvJTt14hR0oo8WLoqf4npw,2656
45
- linkml/generators/shaclgen.py,sha256=jxQjQ-iT2SYpLso3aIyBtqaVVPvZflrVzWaNA7nxQa0,8686
46
- linkml/generators/shexgen.py,sha256=VVlSrGCighLf0YSStK_VeMnCK0imAL4BJNDRVTpUFkw,9859
56
+ linkml/generators/shacl/__init__.py,sha256=O-M-wndKw8rMW-U8X3QCNHal-ErXP6uXZqxiQSa77l4,108
57
+ linkml/generators/shacl/ifabsent_processor.py,sha256=I7zvSjZzB7tZjcXRE0UE3DUmF5sY7QrKbXblYvpRwkc,1746
58
+ linkml/generators/shacl/shacl_data_type.py,sha256=BT3C9tdFyBQnuucPN7YQiFAKEa9yuzy-Q26X6dmOXgo,1827
59
+ linkml/generators/shaclgen.py,sha256=mTkHziEIKoMTr-Vl6nwOdqxk-97cJzTsFG7ViMiFhMs,8308
60
+ linkml/generators/shexgen.py,sha256=KzhaL-A4R4peSdhY6nlDWmS-DPfnZMxMzrXhHGnA_Ag,9874
47
61
  linkml/generators/sparqlgen.py,sha256=c7x8GFChKWprBx4rToSnu9qN8OleWTCenVUdZ8XSTWM,6138
48
62
  linkml/generators/sqlalchemy/__init__.py,sha256=mb9AC1rIFkSiNZhhG0TAk45ol9PjS1XvsrvCjgfVUpQ,249
49
63
  linkml/generators/sqlalchemy/sqlalchemy_declarative_template.py,sha256=X_Ws1NUBikMI5HuNgEhl_PIeWM-B-c2B0W9KUBH4QTg,2542
50
64
  linkml/generators/sqlalchemy/sqlalchemy_imperative_template.py,sha256=u4ZpponG1h6XROrOHGOf_0H2e6xL1_s8twAOA-gx94A,1622
51
- linkml/generators/sqlalchemygen.py,sha256=hQxKsTKa4jnIF05ac6EcxX1bMD17fvdckAD3GtN1aAI,9235
52
- linkml/generators/sqltablegen.py,sha256=qHhyh08d-1d6lIiXcLmNmu8FjY3ryVigPE0BgRcfhk8,11569
65
+ linkml/generators/sqlalchemygen.py,sha256=TTc1oLLwG0c1BdvDXvSfGWAJCDlVvq7Y0r0yjXcdiW4,9268
66
+ linkml/generators/sqltablegen.py,sha256=XorqF6lfZX6tHfi6O2aIjd2GU_JZx5BuERuC3P6utVE,11626
53
67
  linkml/generators/sssomgen.py,sha256=yur3q7so9uwIELWZaZRzkJwNbz_ppBL7IQki9XLIM3k,6879
54
68
  linkml/generators/string_template.md,sha256=kRcfic6entgIaJdpSg6GF3jcjC9wbKsCVM6wVT2qipc,1788
55
69
  linkml/generators/summarygen.py,sha256=crH_Hegd4Z7G7byUtgyXoP2XtG_4iblzZsu_pE4aQrk,2887
56
- linkml/generators/terminusdbgen.py,sha256=_po9KnOz6Uoctb9Y4fJuU_voW4uA5pepvZTmHLQ2_DE,4470
70
+ linkml/generators/terminusdbgen.py,sha256=XX651NgGGoCafA45XomRU0_DhbCyNzFNiigbjcrwXFQ,4627
57
71
  linkml/generators/typescriptgen.py,sha256=80Ph4RfzDoA1TRCkKaLWlh0NsCNvhakJ2RrNfMqcMmY,8577
58
72
  linkml/generators/yamlgen.py,sha256=PKssrY5VHpdbOU54PVwLVLbsRqHwoOgOImlMb6DVcXM,1614
59
73
  linkml/generators/yumlgen.py,sha256=lnHcLY0VwlU_i8QporSmwR62CXSV4aOCXKxRDw5AxUk,12196
@@ -61,7 +75,7 @@ linkml/linter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
75
  linkml/linter/cli.py,sha256=BpQiETcRfQlZsI1-JALyU9wXPgPOm_KE_n11p0iJaC8,4494
62
76
  linkml/linter/config/datamodel/.linkmllint.yaml,sha256=40rNhcL35FXQSjlVBMWnyPgplwEUqFT_sJmeZqUzxMw,292
63
77
  linkml/linter/config/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- linkml/linter/config/datamodel/config.py,sha256=4HtqHF2ZiYx0Izm50eUQRvygsm1xSnkc49w0nd9zbGk,16837
78
+ linkml/linter/config/datamodel/config.py,sha256=WyIBA1damYcW0JI6zLxbFwcHOtSdw0prSADlJdz3zG0,17202
65
79
  linkml/linter/config/datamodel/config.yaml,sha256=hh4a8RoHEsEpl-_E50SZjJD8kmHGquBdcrI4ZqNdAME,6980
66
80
  linkml/linter/config/default.yaml,sha256=O3kaiwyvEO3siX2jDzuBjsCQc1b_EMe466OfRz8Gc5Q,540
67
81
  linkml/linter/config/recommended.yaml,sha256=hxrRSlCZzFXr3WndWAxs2RKwuSwQxRjrvRQi-zteiYQ,198
@@ -72,7 +86,7 @@ linkml/linter/formatters/markdown_formatter.py,sha256=sumF2MNJYL5oipLwCftCr3AiaC
72
86
  linkml/linter/formatters/terminal_formatter.py,sha256=xmNwlRieVCssRt3fpnNP5WWw_YXGmaBsbxFoMWufy5M,2085
73
87
  linkml/linter/formatters/tsv_formatter.py,sha256=1VW-1Tv16mwhIDpHdExYpJJR3z42K5_XK2C-4mmYYdE,871
74
88
  linkml/linter/linter.py,sha256=qfVV-vFT7bUJ2BmmDQteD7Jz8HZ-CNDSvnkyhJ-54H0,5113
75
- linkml/linter/rules.py,sha256=Bk87FMKgdF_aSBqeLe1uQartcTxV3-ZwUu-QRp2iK4s,11164
89
+ linkml/linter/rules.py,sha256=EuZTHtrU9YndAf2vw6QknGZSVFgsbydStsQmrUCwTKk,11502
76
90
  linkml/reporting/__init__.py,sha256=Jo0V_nyEcnWhMukMW-bqW9dlbgCfaRlWm3CO-XzgU84,92
77
91
  linkml/reporting/model.py,sha256=-10yNfk8wuRC48ZI-akrWvtlJ9a6RYWET2TzlZV3XXo,8622
78
92
  linkml/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -86,17 +100,17 @@ linkml/utils/converter.py,sha256=snAF-pgZBSi4ANiaKXxqtZk5w3qonJjTfI4X5OVLmUE,628
86
100
  linkml/utils/datautils.py,sha256=QlbzwXykh5Fphfe5KxPo6_ekXfniLbHiEGJtLWjUrvY,3742
87
101
  linkml/utils/datavalidator.py,sha256=kBdWaVi8IZT1bOwEJgJYx-wZAb_PTBObB9nHpYORfKA,472
88
102
  linkml/utils/execute_tutorial.py,sha256=T4kHTSyz3ItJGEUZxVjR-3yLVKnOr5Ix4NMGE47-IuE,6912
89
- linkml/utils/generator.py,sha256=y5kZP-rQ-du_f87UsDS12mvjVbfwD0nzxg2xus8Aeiw,38231
103
+ linkml/utils/generator.py,sha256=8-5JpMmvkWyLMeK5qSRv3XuOpfAmi2quNQ4Mo6nNCA0,38362
90
104
  linkml/utils/helpers.py,sha256=yR8n4zFA5wPcYC7xzRuNF3wO16vG80v6j7DM3qTNmIc,447
91
- linkml/utils/ifabsent_functions.py,sha256=C2mllfh7aIZgVqqJjN5nydurVUk0hV62Wy7uVMYfPDg,5801
105
+ linkml/utils/ifabsent_functions.py,sha256=IkcBcmRYu8sllx7_mTCqu4aHfTxX2AnQoccZ1KOODds,5843
92
106
  linkml/utils/logictools.py,sha256=GSmBiobC49TcQjE08RtXEE3JwJEOV7eEREio25uJiFs,21184
93
107
  linkml/utils/mergeutils.py,sha256=QVm2iQB4v_L2rSvPBsPe9C865R03BgV3TzlPoTTTwWQ,9044
94
108
  linkml/utils/rawloader.py,sha256=QB7Rdvy4o4ZJEWBWa2_2xzz2TOh_6Oe4slvUn8IBVIc,4329
95
109
  linkml/utils/schema_builder.py,sha256=4qhrur8O0xRZnPm7H1h2BZmTkut5R4q-IE_1KKiHy_c,9937
96
110
  linkml/utils/schema_fixer.py,sha256=Uz8M3AOQ_BputJr1f6lbfk1iyvmANUNG80-0B3BQKJ8,16761
97
- linkml/utils/schemaloader.py,sha256=bBSTqimMDTFH2FcKtRz99dKNJzV_myPsZSkIFp_6-A0,46421
111
+ linkml/utils/schemaloader.py,sha256=XkH3ARPVcJ3ggnk4qgHJBPepyII4UlSRHzBlTWZbpCo,46062
98
112
  linkml/utils/schemasynopsis.py,sha256=jKf5ZJxpNgSZ5x9oAcdGO3m1IwzcIU2Ni1ugm0SQq1g,18447
99
- linkml/utils/sqlutils.py,sha256=FPUA6Smn3FogE97TZZZtGNhaMK9kpC-qJ5Ylo1mg9l8,16618
113
+ linkml/utils/sqlutils.py,sha256=FsOC3Wut6qzzmsnIt9ROsiDt2wXOa1IZUUtJ_T4Nb6M,17071
100
114
  linkml/utils/typereferences.py,sha256=8Yfuz9-HAwOPoJLbIcO_sY9zf32hvPRzGeSOzECfMWA,2232
101
115
  linkml/utils/validation.py,sha256=eLw1-d8x3N1V14bSc6H_mJJXo59ryKvvUIBcOJ1dVMw,1438
102
116
  linkml/validator/__init__.py,sha256=djKc1IyxGKvVYaX5jSxsqjfcEYaw3rFgKbFJxI2wDNk,5002
@@ -124,8 +138,8 @@ linkml/workspaces/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
124
138
  linkml/workspaces/datamodel/workspaces.py,sha256=4HdkqweGNfMPqnB1_Onc9DcTfkhoagTRcqruh08nRoI,14905
125
139
  linkml/workspaces/datamodel/workspaces.yaml,sha256=EjVrwPpeRZqJRjuGyyDRxxFzuv55SiLIXPBRUG6HStU,4233
126
140
  linkml/workspaces/example_runner.py,sha256=OmC_yZLIb4KXGQrstBVZL0UAQ9ZAaraguQF0RSf-snk,11611
127
- linkml-1.7.5.dist-info/METADATA,sha256=Z5-5peEKgmQcQkWSTw2XnRS5zxdQ80B-S3sM_VCg1QY,3463
128
- linkml-1.7.5.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
129
- linkml-1.7.5.dist-info/LICENSE,sha256=kORMoywK6j9_iy0UvLR-a80P1Rvc9AOM4gsKlUNZABg,535
130
- linkml-1.7.5.dist-info/entry_points.txt,sha256=7haDkIbyC7ZLhm5z-e3BhrLJpY2xoW1yuD8Y7QPNtVg,2093
131
- linkml-1.7.5.dist-info/RECORD,,
141
+ linkml-1.7.6.dist-info/entry_points.txt,sha256=7haDkIbyC7ZLhm5z-e3BhrLJpY2xoW1yuD8Y7QPNtVg,2093
142
+ linkml-1.7.6.dist-info/METADATA,sha256=PaI8ylnY-nUYjDrS-44yWh-r6UsiLNLQ_cYYDBNZHX8,3588
143
+ linkml-1.7.6.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
144
+ linkml-1.7.6.dist-info/LICENSE,sha256=kORMoywK6j9_iy0UvLR-a80P1Rvc9AOM4gsKlUNZABg,535
145
+ linkml-1.7.6.dist-info/RECORD,,
File without changes