linkml 1.5.5__py3-none-any.whl → 1.5.7__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 (81) hide show
  1. linkml/__init__.py +2 -6
  2. linkml/_version.py +1 -1
  3. linkml/generators/PythonGenNotes.md +4 -4
  4. linkml/generators/__init__.py +26 -5
  5. linkml/generators/common/type_designators.py +27 -22
  6. linkml/generators/csvgen.py +4 -10
  7. linkml/generators/docgen/class.md.jinja2 +7 -0
  8. linkml/generators/docgen/class_diagram.md.jinja2 +0 -6
  9. linkml/generators/docgen/subset.md.jinja2 +54 -13
  10. linkml/generators/docgen.py +94 -92
  11. linkml/generators/dotgen.py +5 -9
  12. linkml/generators/erdiagramgen.py +58 -53
  13. linkml/generators/excelgen.py +10 -16
  14. linkml/generators/golanggen.py +11 -21
  15. linkml/generators/golrgen.py +4 -13
  16. linkml/generators/graphqlgen.py +3 -11
  17. linkml/generators/javagen.py +8 -15
  18. linkml/generators/jsonldcontextgen.py +7 -36
  19. linkml/generators/jsonldgen.py +14 -12
  20. linkml/generators/jsonschemagen.py +183 -136
  21. linkml/generators/linkmlgen.py +1 -1
  22. linkml/generators/markdowngen.py +40 -89
  23. linkml/generators/namespacegen.py +1 -2
  24. linkml/generators/oocodegen.py +22 -25
  25. linkml/generators/owlgen.py +48 -49
  26. linkml/generators/prefixmapgen.py +6 -14
  27. linkml/generators/projectgen.py +7 -14
  28. linkml/generators/protogen.py +3 -5
  29. linkml/generators/pydanticgen.py +85 -73
  30. linkml/generators/pythongen.py +89 -157
  31. linkml/generators/rdfgen.py +5 -11
  32. linkml/generators/shaclgen.py +32 -18
  33. linkml/generators/shexgen.py +19 -24
  34. linkml/generators/sparqlgen.py +5 -13
  35. linkml/generators/sqlalchemy/__init__.py +3 -2
  36. linkml/generators/sqlalchemy/sqlalchemy_declarative_template.py +7 -7
  37. linkml/generators/sqlalchemy/sqlalchemy_imperative_template.py +3 -3
  38. linkml/generators/sqlalchemygen.py +29 -27
  39. linkml/generators/sqlddlgen.py +34 -26
  40. linkml/generators/sqltablegen.py +21 -21
  41. linkml/generators/sssomgen.py +11 -13
  42. linkml/generators/summarygen.py +2 -4
  43. linkml/generators/terminusdbgen.py +7 -19
  44. linkml/generators/typescriptgen.py +10 -18
  45. linkml/generators/yamlgen.py +0 -2
  46. linkml/generators/yumlgen.py +23 -71
  47. linkml/linter/cli.py +4 -11
  48. linkml/linter/config/datamodel/config.py +17 -47
  49. linkml/linter/linter.py +2 -4
  50. linkml/linter/rules.py +34 -48
  51. linkml/reporting/__init__.py +2 -0
  52. linkml/reporting/model.py +9 -24
  53. linkml/transformers/relmodel_transformer.py +20 -33
  54. linkml/transformers/schema_renamer.py +14 -10
  55. linkml/utils/converter.py +15 -15
  56. linkml/utils/datautils.py +9 -24
  57. linkml/utils/datavalidator.py +2 -2
  58. linkml/utils/execute_tutorial.py +10 -12
  59. linkml/utils/generator.py +74 -92
  60. linkml/utils/helpers.py +4 -2
  61. linkml/utils/ifabsent_functions.py +23 -15
  62. linkml/utils/mergeutils.py +19 -35
  63. linkml/utils/rawloader.py +2 -6
  64. linkml/utils/schema_builder.py +31 -19
  65. linkml/utils/schema_fixer.py +28 -18
  66. linkml/utils/schemaloader.py +44 -89
  67. linkml/utils/schemasynopsis.py +50 -73
  68. linkml/utils/sqlutils.py +40 -30
  69. linkml/utils/typereferences.py +9 -6
  70. linkml/utils/validation.py +4 -5
  71. linkml/validators/__init__.py +2 -0
  72. linkml/validators/jsonschemavalidator.py +104 -53
  73. linkml/validators/sparqlvalidator.py +5 -15
  74. linkml/workspaces/datamodel/workspaces.py +13 -30
  75. linkml/workspaces/example_runner.py +75 -68
  76. {linkml-1.5.5.dist-info → linkml-1.5.7.dist-info}/METADATA +2 -2
  77. linkml-1.5.7.dist-info/RECORD +109 -0
  78. linkml-1.5.5.dist-info/RECORD +0 -109
  79. {linkml-1.5.5.dist-info → linkml-1.5.7.dist-info}/LICENSE +0 -0
  80. {linkml-1.5.5.dist-info → linkml-1.5.7.dist-info}/WHEEL +0 -0
  81. {linkml-1.5.5.dist-info → linkml-1.5.7.dist-info}/entry_points.txt +0 -0
@@ -10,7 +10,7 @@ from dataclasses import dataclass, field
10
10
  from io import StringIO
11
11
  from pathlib import Path
12
12
  from types import ModuleType
13
- from typing import Union, Any, Mapping, Optional, List, TextIO
13
+ from typing import Any, List, Mapping, Optional, TextIO, Union
14
14
 
15
15
  import click
16
16
  import yaml
@@ -29,6 +29,7 @@ class SummaryDocument:
29
29
  """
30
30
  An object describing the summary for processing a set of examples
31
31
  """
32
+
32
33
  text: StringIO = field(default_factory=lambda: StringIO())
33
34
 
34
35
  inputs: List[str] = field(default_factory=list)
@@ -55,7 +56,7 @@ class ExampleRunner:
55
56
  input_directory: Optional[Path] = None
56
57
  """Directory in which positive instance examples are found."""
57
58
 
58
- input_formats: Optional[List[str]] = field(default_factory=lambda: ['yaml'])
59
+ input_formats: Optional[List[str]] = field(default_factory=lambda: ["yaml"])
59
60
 
60
61
  counter_example_input_directory: Optional[Path] = None
61
62
  """Directory in which negative instance examples are found. These are expected to fail."""
@@ -63,7 +64,7 @@ class ExampleRunner:
63
64
  output_directory: Optional[Path] = None
64
65
  """Directory where processed examples are written to."""
65
66
 
66
- output_formats: Optional[List[str]] = field(default_factory=lambda: ['yaml', 'json', 'ttl'])
67
+ output_formats: Optional[List[str]] = field(default_factory=lambda: ["yaml", "json", "ttl"])
67
68
 
68
69
  schemaview: Optional[SchemaView] = None
69
70
  """View over schema which all examples adhere to."""
@@ -129,13 +130,15 @@ class ExampleRunner:
129
130
  if counter_example_dir is None:
130
131
  counter_example_dir = Path.cwd() / "counter_examples"
131
132
  for fmt in self.input_formats:
132
- input_examples = glob.glob(os.path.join(str(input_dir), f'*.{fmt}'))
133
- input_counter_examples = glob.glob(os.path.join(str(counter_example_dir), f'*.{fmt}'))
133
+ input_examples = glob.glob(os.path.join(str(input_dir), f"*.{fmt}"))
134
+ input_counter_examples = glob.glob(os.path.join(str(counter_example_dir), f"*.{fmt}"))
134
135
  if not input_counter_examples:
135
- logging.warning(f"No counter examples found in {self.counter_example_input_directory}")
136
+ logging.warning(
137
+ f"No counter examples found in {self.counter_example_input_directory}"
138
+ )
136
139
  self.process_examples_from_list(input_examples, fmt, False)
137
140
  self.process_examples_from_list(input_counter_examples, fmt, True)
138
-
141
+
139
142
  def example_source_inputs(self, class_name: str = None) -> List[str]:
140
143
  """
141
144
  Get the list of example source inputs.
@@ -148,15 +151,16 @@ class ExampleRunner:
148
151
  return []
149
152
  all_inputs = []
150
153
  for fmt in self.input_formats:
151
- glob_expr = f'*.{fmt}'
154
+ glob_expr = f"*.{fmt}"
152
155
  if class_name is not None:
153
- glob_expr = f'{class_name}-{glob_expr}'
156
+ glob_expr = f"{class_name}-{glob_expr}"
154
157
  input_examples = glob.glob(os.path.join(str(input_dir), glob_expr))
155
158
  all_inputs.extend(input_examples)
156
159
  return all_inputs
157
160
 
158
-
159
- def process_examples_from_list(self, input_examples: list, input_format: str, counter_examples: bool = True):
161
+ def process_examples_from_list(
162
+ self, input_examples: list, input_format: str, counter_examples: bool = True
163
+ ):
160
164
  sv = self.schemaview
161
165
  validator = self.validator
162
166
  summary = self.summary
@@ -176,11 +180,7 @@ class ExampleRunner:
176
180
  input_dict = json.load(file)
177
181
  else:
178
182
  raise NotImplementedError(f"Cannot handle format: {input_format}")
179
- summary.add(f"## {stem}",
180
- f"### Input",
181
- f"```yaml",
182
- f"{yaml.dump(input_dict)}",
183
- f"```")
183
+ summary.add(f"## {stem}", "### Input", "```yaml", f"{yaml.dump(input_dict)}", "```")
184
184
  success = True
185
185
  try:
186
186
  validator.validate_dict(input_dict, tc, closed=True)
@@ -189,7 +189,7 @@ class ExampleRunner:
189
189
  except Exception as e:
190
190
  success = False
191
191
  if not counter_examples:
192
- raise ValueError(f"Example {input_example} failed validation: {e}")
192
+ raise ValueError(f"Example {input_example} failed validation:\n{e}")
193
193
  if counter_examples:
194
194
  if success:
195
195
  raise ValueError(f"Counter example {input_example} succeeded validation")
@@ -197,12 +197,14 @@ class ExampleRunner:
197
197
  obj = self._load_from_dict(input_dict, target_class=tc)
198
198
  for fmt in self.output_formats:
199
199
  output_file = f"{base}.{fmt}"
200
- if fmt == 'yaml':
200
+ if fmt == "yaml":
201
201
  yaml_dumper.dump(obj, to_file=output_file)
202
- elif fmt == 'json':
202
+ elif fmt == "json":
203
203
  json_dumper.dump(obj, to_file=output_file)
204
- elif fmt == 'ttl':
205
- rdflib_dumper.dump(obj, to_file=output_file, schemaview=sv, prefix_map=self.prefix_map)
204
+ elif fmt == "ttl":
205
+ rdflib_dumper.dump(
206
+ obj, to_file=output_file, schemaview=sv, prefix_map=self.prefix_map
207
+ )
206
208
  else:
207
209
  raise NotImplementedError(f"Cannot output in format: {fmt}")
208
210
  summary.outputs.append(f"{stem}.{fmt}")
@@ -223,7 +225,9 @@ class ExampleRunner:
223
225
  if target_class is None:
224
226
  target_class_names = [c.name for c in sv.all_classes().values() if c.tree_root]
225
227
  if len(target_class_names) != 1:
226
- raise ValueError(f"Cannot determine single target class, found: {target_class_names}")
228
+ raise ValueError(
229
+ f"Cannot determine single target class, found: {target_class_names}"
230
+ )
227
231
  target_class = target_class_names[0]
228
232
  if isinstance(dict_obj, dict):
229
233
  if target_class not in sv.all_classes():
@@ -238,7 +242,9 @@ class ExampleRunner:
238
242
  if ":" in target_class:
239
243
  target_classes = [c for c in sv.all_classes() if sv.get_uri(c) == target_class]
240
244
  if len(target_classes) != 1:
241
- raise ValueError(f"Cannot find unique class for URI {target_class}; got: {target_classes}")
245
+ raise ValueError(
246
+ f"Cannot find unique class for URI {target_class}; got: {target_classes}"
247
+ )
242
248
  target_class = target_classes[0]
243
249
  new_dict_obj = {}
244
250
  for k, v in dict_obj.items():
@@ -255,44 +261,51 @@ class ExampleRunner:
255
261
 
256
262
 
257
263
  @click.command()
258
- @click.option("--schema",
259
- "-s",
260
- required=True,
261
- help="Path to linkml schema yaml file")
262
- @click.option("--prefixes",
263
- "-P",
264
- help="Path to prefixes")
265
- @click.option("--input-directory",
266
- "-e",
267
- help="folder containing positive examples that MUST pass validation")
268
- @click.option("--counter-example-input-directory",
269
- "-N",
270
- help="folder containing counter examples that MUST fail validation")
271
- @click.option("--output-directory",
272
- "-d",
273
- required=True,
274
- help="folder containing positive examples that MUST pass validation")
275
- @click.option("--input-formats",
276
- "-f",
277
- multiple=True,
278
- default=["yaml"],
279
- show_default=True,
280
- help="Target formats to be converted to (yaml, json)")
281
- @click.option("--output-formats",
282
- "-t",
283
- multiple=True,
284
- default=["yaml", "json", "ttl"],
285
- show_default=True,
286
- help="Target formats to be converted to (yaml, json, ttl)")
287
- @click.option("--output",
288
- "-o",
289
- default=sys.stdout,
290
- type=click.File("w", encoding="utf-8"),
291
- help="Output file for markdown summary")
292
- @click.option("--use-type-designators/--no-use-type-designators",
293
- default=True,
294
- show_default=True,
295
- help="If true use type_designators to deepen ranges")
264
+ @click.option("--schema", "-s", required=True, help="Path to linkml schema yaml file")
265
+ @click.option("--prefixes", "-P", help="Path to prefixes")
266
+ @click.option(
267
+ "--input-directory", "-e", help="folder containing positive examples that MUST pass validation"
268
+ )
269
+ @click.option(
270
+ "--counter-example-input-directory",
271
+ "-N",
272
+ help="folder containing counter examples that MUST fail validation",
273
+ )
274
+ @click.option(
275
+ "--output-directory",
276
+ "-d",
277
+ required=True,
278
+ help="folder containing positive examples that MUST pass validation",
279
+ )
280
+ @click.option(
281
+ "--input-formats",
282
+ "-f",
283
+ multiple=True,
284
+ default=["yaml"],
285
+ show_default=True,
286
+ help="Target formats to be converted to (yaml, json)",
287
+ )
288
+ @click.option(
289
+ "--output-formats",
290
+ "-t",
291
+ multiple=True,
292
+ default=["yaml", "json", "ttl"],
293
+ show_default=True,
294
+ help="Target formats to be converted to (yaml, json, ttl)",
295
+ )
296
+ @click.option(
297
+ "--output",
298
+ "-o",
299
+ default=sys.stdout,
300
+ type=click.File("w", encoding="utf-8"),
301
+ help="Output file for markdown summary",
302
+ )
303
+ @click.option(
304
+ "--use-type-designators/--no-use-type-designators",
305
+ default=True,
306
+ show_default=True,
307
+ help="If true use type_designators to deepen ranges",
308
+ )
296
309
  def cli(schema, prefixes, output: TextIO, **kwargs):
297
310
  """Process a folder of examples and a folder of counter examples.
298
311
 
@@ -302,16 +315,10 @@ def cli(schema, prefixes, output: TextIO, **kwargs):
302
315
  """
303
316
  schemaview = SchemaView(schema)
304
317
  prefix_map = yaml.safe_load(open(prefixes)) if prefixes else None
305
- runner = ExampleRunner(schemaview=schemaview,
306
- prefix_map=prefix_map,
307
- **kwargs)
318
+ runner = ExampleRunner(schemaview=schemaview, prefix_map=prefix_map, **kwargs)
308
319
  runner.process_examples()
309
320
  output.write(str(runner.summary))
310
321
 
311
322
 
312
323
  if __name__ == "__main__":
313
324
  cli(sys.argv[1:])
314
-
315
-
316
-
317
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: linkml
3
- Version: 1.5.5
3
+ Version: 1.5.7
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
@@ -33,7 +33,7 @@ Requires-Dist: jinja2 (>=3.1.0)
33
33
  Requires-Dist: jsonasobj2 (>=1.0.3,<2.0.0)
34
34
  Requires-Dist: jsonschema[format] (>=4.0.0)
35
35
  Requires-Dist: linkml-dataops
36
- Requires-Dist: linkml-runtime (>=1.5.3)
36
+ Requires-Dist: linkml-runtime (>=1.5.4)
37
37
  Requires-Dist: openpyxl
38
38
  Requires-Dist: parse
39
39
  Requires-Dist: prefixcommons (>=0.1.7)
@@ -0,0 +1,109 @@
1
+ linkml/__init__.py,sha256=Ofc1RAB9gfvvRqinXih4eExeeSi2hTGhwTHbIGr5gLE,3215
2
+ linkml/_version.py,sha256=udxv6OEqcE89DTVMYPtetXYg8IA8Sgc6yW26-6f8C3M,310
3
+ linkml/generators/PythonGenNotes.md,sha256=wb9BPLLhF6378OKLbwSBAwmniLpwrcT5_bbfCHfLme8,51006
4
+ linkml/generators/README.md,sha256=wOkCrA89zRNMmBm8X2Ste-gh-Yf5cxBXgSJen4QjuIo,4158
5
+ linkml/generators/__init__.py,sha256=JyyuaqB_EiAZoMsdhgculinI6fHVSgIT111nWLtnacU,1331
6
+ linkml/generators/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ linkml/generators/common/type_designators.py,sha256=Dqu_d8Z3wJINpMXZF6YAYm1qnF9KcndnVCe8dwbaGPI,1962
8
+ linkml/generators/csvgen.py,sha256=h-Mj-uNrzuETx_G3dW6eFbk1jj0NHSwqbehqR5tA6PM,2955
9
+ linkml/generators/docgen/class.md.jinja2,sha256=ClLeTFEDhXHQJEFjvsbL97JwAMl3bGWHhKZvZIo7CJ4,3014
10
+ linkml/generators/docgen/class_diagram.md.jinja2,sha256=ShRhNnIae54Y_4zrfXuIF6BjX8oCHRZJnovE8G1fjOU,2542
11
+ linkml/generators/docgen/common_metadata.md.jinja2,sha256=zy8Ua3gDtAAq8VA3e3O3ft9W7eJopVZaq5efP8LU_hU,1321
12
+ linkml/generators/docgen/enum.md.jinja2,sha256=H8YaILMWMwaiMIE6avtDbHkn59Rb48XPYjoA_KUTh50,1018
13
+ linkml/generators/docgen/index.md.jinja2,sha256=wXUYTmayPLFltC0vbGE_Mf6m3GkkWav7FOEjCvEpHp4,1466
14
+ linkml/generators/docgen/index.tex.jinja2,sha256=Go_EA-_N4JUpbOYbk3OY11mz5yV70VF2l2sMtgIPWw4,501
15
+ linkml/generators/docgen/schema.md.jinja2,sha256=xlENfnzNRYgPT_0tdqNFxgklVM4Qf5BuzhFVvSMDuxs,70
16
+ linkml/generators/docgen/slot.md.jinja2,sha256=uLOK8MzeX4RNQbMUQBwnDRgynPExou3_ZdifvhqVbZs,2557
17
+ linkml/generators/docgen/subset.md.jinja2,sha256=ZMrYhxvTgvapffgK4rvry2xmHCvt7UcH6tiWKazFyJA,2669
18
+ linkml/generators/docgen/type.md.jinja2,sha256=QmCMJZrFwP33eHkggBVtypbyrxTb-XZn9vHOYojVaYk,635
19
+ linkml/generators/docgen.py,sha256=WW06BNm_a3sS9aFq1-_X2GEAkkvdlkuig9YlkvNr3xU,32418
20
+ linkml/generators/dotgen.py,sha256=CnbVY6CO1OMuiYXYnvxgNN2IW1mtOQW-J-QnwZlXkUI,5012
21
+ linkml/generators/erdiagramgen.py,sha256=Wvdyki39gXgzbOya7o5KzNSkMcm04qp9GvYMisQaEvA,10337
22
+ linkml/generators/excelgen.py,sha256=0nzpG4ageRcE41O2Of4NJgSX2pGsOC86xrVCblZN12A,6797
23
+ linkml/generators/golanggen.py,sha256=Dnl7dhmb1AIK3Is7KRaUbxPd3kBTjWuspFqardiBTJ8,5751
24
+ linkml/generators/golrgen.py,sha256=fK5Hd-DBsNEd93l2Xq_VKde_XB1XbCRlpGkJ-VP52-w,3450
25
+ linkml/generators/graphqlgen.py,sha256=sy_otwnL3DfzMM8LkmGMFM6QSdYEREjrqpuexP9jBNQ,2189
26
+ linkml/generators/javagen/example_template.java.jinja2,sha256=ec4CVTv_0zS7V5Y-1E6H4lRraya10gfX7BEMBlu38X4,444
27
+ linkml/generators/javagen/java_record_template.jinja2,sha256=yS7vKlgkHOQJfMjeziADDBCICri5JBp85BzreSp8QXw,1737
28
+ linkml/generators/javagen.py,sha256=Byf_923aAcWhZKeuTDPIB2o6PLuMHJV5WiD_AG0t_wg,5431
29
+ linkml/generators/jsonldcontextgen.py,sha256=3JnBns93ESW-sYb0AADJ-lcUpg6bQP8JzVDetOHLV3g,7932
30
+ linkml/generators/jsonldgen.py,sha256=OYxh7humrpcopw67P4fSiX4P0aO_iSZCE3xjgXrHNvk,7637
31
+ linkml/generators/jsonschemagen.py,sha256=zx7TcS6NIgKDlSzJfepp_G0-qeSiMVvPbGK6UqNEDgI,22052
32
+ linkml/generators/linkmlgen.py,sha256=LaVTMPsGdQmC_zUPCjHg9fr6RsLuPLQK9nGyqqAUkPU,3556
33
+ linkml/generators/markdowngen.py,sha256=uDgSgPEaeeTExHCe4o9X0ul5YUKMwDKIpku5FzY-_4I,33468
34
+ linkml/generators/namespacegen.py,sha256=pPjUQweKRCtDfTTtK4kfuRohef3uKPrbhNUfkmYB8bA,6472
35
+ linkml/generators/oocodegen.py,sha256=l-5zck_NNAUxJiApJrnDPkqxCv3b6v5s4hC_smelszU,7620
36
+ linkml/generators/owlgen.py,sha256=Ry7Qps_CSaqnfbkhCQPNGjP46Kisx8YSFR6Fdv5Cq9U,28984
37
+ linkml/generators/prefixmapgen.py,sha256=AWQTHPcuPlj-rDgSCbKcX_-4eLiDww9huZoOTVels6c,4694
38
+ linkml/generators/projectgen.py,sha256=_7jP7WFLoxX_kByj7pS5PA48VXDRJ_JDmY7HaWTnnr4,9674
39
+ linkml/generators/protogen.py,sha256=MzrrwD55YH5-GMUFhSRv8Z4DIt-5mcHAih4HO_oR6zM,2342
40
+ linkml/generators/pydanticgen.py,sha256=8ZsPnSbwlCXHU2FB4ed1IiLHwx7Z15SIP8dSCjeW8fQ,22703
41
+ linkml/generators/pythongen.py,sha256=BFUkTdis9CnqBfmCAFx0R0joNpr2uAU8wnVBu851Ifg,48737
42
+ linkml/generators/rdfgen.py,sha256=ZWn70B9e79eV91GiZsnHmN-QQ4-CoMBd8SvKSwUd63Q,2716
43
+ linkml/generators/shaclgen.py,sha256=W2Kuij1BsLoGOH6AP3FpRlSdDIxApQZV_V9WR-Fc11o,6531
44
+ linkml/generators/shexgen.py,sha256=IotuSUVNboLSx7tF6uOqdT8Rb53iqoyFu2mNTnP6eNM,9191
45
+ linkml/generators/sparqlgen.py,sha256=mqWaIBepOvJQnmFt3k1UJbXVNBCVSZq6GTK6PwVhaYY,6142
46
+ linkml/generators/sqlalchemy/__init__.py,sha256=mb9AC1rIFkSiNZhhG0TAk45ol9PjS1XvsrvCjgfVUpQ,249
47
+ linkml/generators/sqlalchemy/sqlalchemy_declarative_template.py,sha256=X_Ws1NUBikMI5HuNgEhl_PIeWM-B-c2B0W9KUBH4QTg,2542
48
+ linkml/generators/sqlalchemy/sqlalchemy_imperative_template.py,sha256=u4ZpponG1h6XROrOHGOf_0H2e6xL1_s8twAOA-gx94A,1622
49
+ linkml/generators/sqlalchemygen.py,sha256=hMPktDQux1Y1VVU485hmt6--6l-iXtves61VNjiLFLg,9364
50
+ linkml/generators/sqlddlgen.py,sha256=vgE55Grsl5z8OWiBRAbOYShWGWSB2KLSRWRblNqDZkU,18496
51
+ linkml/generators/sqltablegen.py,sha256=W_eqrV0_xhECexjZ2bEtBIYHQ3HJn5qv4G10xWEhQaw,11537
52
+ linkml/generators/sssomgen.py,sha256=-ibW27stcFWXHUoDvn3NB4-LqD15xS2bQ_a0fbrFJlE,6935
53
+ linkml/generators/string_template.md,sha256=kRcfic6entgIaJdpSg6GF3jcjC9wbKsCVM6wVT2qipc,1788
54
+ linkml/generators/summarygen.py,sha256=2iKuTy3JnMz1hhBc9_zEH54iva4e0yUbwhamzhpxAQA,2938
55
+ linkml/generators/terminusdbgen.py,sha256=AWSY4leXUMEuQVGoWCR65_HE6Pzpe7FbLNbbLZCQ6Cc,4547
56
+ linkml/generators/typescriptgen.py,sha256=vW4wtg7jdm2loIHPOh44Ps3dgelHx6oljGRYBVnfq2s,5759
57
+ linkml/generators/yamlgen.py,sha256=bI4ebWe8vebR3xGVgto5TH0ZDej-RlZPTYqJ26BxKpg,1651
58
+ linkml/generators/yumlgen.py,sha256=ZneyGggJN6dhNUnvTQ2JRhb1Uun_U8VpP8uEROPjzSQ,12543
59
+ linkml/linter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ linkml/linter/cli.py,sha256=RpZYyR_Re0E7yh1fifvQVJagi8KvLDaseF3Zgs2E3uw,4254
61
+ linkml/linter/config/datamodel/.linkmllint.yaml,sha256=40rNhcL35FXQSjlVBMWnyPgplwEUqFT_sJmeZqUzxMw,292
62
+ linkml/linter/config/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ linkml/linter/config/datamodel/config.py,sha256=8u1drLkICSY-x0IP0RXP6Bj8Fw-n4jvAlZLfRYqCupM,17037
64
+ linkml/linter/config/datamodel/config.yaml,sha256=hh4a8RoHEsEpl-_E50SZjJD8kmHGquBdcrI4ZqNdAME,6980
65
+ linkml/linter/config/default.yaml,sha256=O3kaiwyvEO3siX2jDzuBjsCQc1b_EMe466OfRz8Gc5Q,540
66
+ linkml/linter/config/recommended.yaml,sha256=hxrRSlCZzFXr3WndWAxs2RKwuSwQxRjrvRQi-zteiYQ,198
67
+ linkml/linter/formatters/__init__.py,sha256=lKTbA20yL_TuimKZIBI1DGXgDO7D4QSrJ3zZFCJRwu0,269
68
+ linkml/linter/formatters/formatter.py,sha256=u2DNowT7Nx1rexCMJmghlXklTYb98_Glj5qhnhjTkBc,518
69
+ linkml/linter/formatters/json_formatter.py,sha256=rrOELuETUCFTl1Ewnrus9Rx9hl2g4uucrMfN6yw33iI,767
70
+ linkml/linter/formatters/markdown_formatter.py,sha256=sumF2MNJYL5oipLwCftCr3AiaCmVhd9V6di9aYpJ29I,2605
71
+ linkml/linter/formatters/terminal_formatter.py,sha256=xmNwlRieVCssRt3fpnNP5WWw_YXGmaBsbxFoMWufy5M,2085
72
+ linkml/linter/formatters/tsv_formatter.py,sha256=1VW-1Tv16mwhIDpHdExYpJJR3z42K5_XK2C-4mmYYdE,871
73
+ linkml/linter/linter.py,sha256=Bh153eN1Gb1EL7kM20w15CTPovbJYJoravXd5zxiVHQ,4984
74
+ linkml/linter/rules.py,sha256=kZCxElz0CqkfnFSk4slqD-3LyfZ2DdvdC_zH2P-Jyck,11356
75
+ linkml/reporting/__init__.py,sha256=Jo0V_nyEcnWhMukMW-bqW9dlbgCfaRlWm3CO-XzgU84,92
76
+ linkml/reporting/model.py,sha256=fF_7S8Nz2Eu8OHrHuUYPfK7Kpd9UujlOOCYNq2ggxCc,8658
77
+ linkml/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ linkml/transformers/relmodel_transformer.py,sha256=7G4EtvkDtEc2Ftsg1CPzMKd8Y-6624ZRzsslDCHj2II,17956
79
+ linkml/transformers/schema_renamer.py,sha256=Cr18TyktX64b5iFh5V6R_ILPVzXjbDYVDDZQyqFiAv8,5271
80
+ linkml/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ linkml/utils/converter.py,sha256=lhhFVk_t4mZ2oxGum_9VLs0Uxb8qWbS8b3xed0LkmyY,6300
82
+ linkml/utils/datautils.py,sha256=wTVIGHkqbG2kuHp8IPVPsrZ7we99ZH5RGrVdBMdzAQs,3740
83
+ linkml/utils/datavalidator.py,sha256=kxlBZRkctIoVnrdwOULvtE7NrJK9qRtqW1Ds4LSfnlU,486
84
+ linkml/utils/execute_tutorial.py,sha256=AdjHMUUVdeYAvJr_yWVPdBJEW_AWrCuPvnqh9fAHDfU,6950
85
+ linkml/utils/generator.py,sha256=N-jD1kuvx1gchoaCjVlwZsM5llKDtU6dfEDKggNqwno,38805
86
+ linkml/utils/helpers.py,sha256=yR8n4zFA5wPcYC7xzRuNF3wO16vG80v6j7DM3qTNmIc,447
87
+ linkml/utils/ifabsent_functions.py,sha256=VILoHk6VajhAVRb1bBukrxl1-imrrYzfrtAV0fr_-Rs,5833
88
+ linkml/utils/mergeutils.py,sha256=prmDUvbc_6ZhA0mXUildti-0IjDZ5uEtFVg7CcsBT7U,9136
89
+ linkml/utils/rawloader.py,sha256=FKGbPCEtqFV8AZG1X2OONGC4YBS8MnYxStGkcGSQqRQ,4409
90
+ linkml/utils/schema_builder.py,sha256=g_PhlSo-2Ii3JdmlmnvLfYodxPXFduKH1FDSLjCiuGY,9171
91
+ linkml/utils/schema_fixer.py,sha256=LGLi6m7fKhgavoi0qwCKw_8u6RfINb3mFx8otJ1Yw_Q,13395
92
+ linkml/utils/schemaloader.py,sha256=wk7KTUmIZCx6wzIoRLa2oRHklWycnM_hx-1EckC1a7A,47444
93
+ linkml/utils/schemasynopsis.py,sha256=rymPKdchZRUq8tWHBZvf0GgjWHMp3Xg-ezVnq7Zt2mw,18995
94
+ linkml/utils/sqlutils.py,sha256=_chjDQWAEJ7kmXIWADs9m3FYOLATtB1FUSP4b_VkHgg,16621
95
+ linkml/utils/typereferences.py,sha256=8Yfuz9-HAwOPoJLbIcO_sY9zf32hvPRzGeSOzECfMWA,2232
96
+ linkml/utils/validation.py,sha256=eLw1-d8x3N1V14bSc6H_mJJXo59ryKvvUIBcOJ1dVMw,1438
97
+ linkml/validators/__init__.py,sha256=43W3J5NPKhwa3ZFHLRYsJMocwQKWGYCF9Ki9r0ccGbc,202
98
+ linkml/validators/jsonschemavalidator.py,sha256=_1es_Ci09nmLWF8c0lw9I8HjXpnsgXprLWKARVgmhl0,7943
99
+ linkml/validators/sparqlvalidator.py,sha256=JowuZ5KxmWkldgWIXAb8DJi7YCPm8x3it0QkgM4lSi0,4612
100
+ linkml/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ linkml/workspaces/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ linkml/workspaces/datamodel/workspaces.py,sha256=1M6yqcTnlpmKhUdI-QVxL40wNC1MSRAqrOwvYoLesh0,15073
103
+ linkml/workspaces/datamodel/workspaces.yaml,sha256=EjVrwPpeRZqJRjuGyyDRxxFzuv55SiLIXPBRUG6HStU,4233
104
+ linkml/workspaces/example_runner.py,sha256=hkGHGVPsRp4VQjUU8CQibpnRCMhrULktZ7_A3asj_nw,11648
105
+ linkml-1.5.7.dist-info/entry_points.txt,sha256=2DTCsfVNoXo-USAjNMbFWRTSPga78gUDzSZBzFM9o5Q,2113
106
+ linkml-1.5.7.dist-info/LICENSE,sha256=Nv_Z3AhdUpp-YOEnbXOuWgMLAgMT5sVAhZOmrirzlnM,6555
107
+ linkml-1.5.7.dist-info/METADATA,sha256=-HvzQn-YxboH283BSxsR8OOH_4dNviEvmia0eE08f30,3529
108
+ linkml-1.5.7.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
109
+ linkml-1.5.7.dist-info/RECORD,,
@@ -1,109 +0,0 @@
1
- linkml/__init__.py,sha256=3xnLekxTB0CwWdZ7L60a49njf4Y1mPwLKY6aSmMoE2k,3227
2
- linkml/_version.py,sha256=25QZReXDv1vAuyqQnF_g1YV7REzjWtdJHwY4WFcHgo8,326
3
- linkml/generators/PythonGenNotes.md,sha256=9DLNymKlYwJ9c_ZO9AiN8mVnddRhG04EFwt5mLm212E,51005
4
- linkml/generators/README.md,sha256=wOkCrA89zRNMmBm8X2Ste-gh-Yf5cxBXgSJen4QjuIo,4158
5
- linkml/generators/__init__.py,sha256=Pt0xfVIaGupq2tOm5jCOwpoakWd8ZWEYNa3feq6o7U4,616
6
- linkml/generators/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- linkml/generators/common/type_designators.py,sha256=RMwL0jWoMHszxv5NTRqZi-fHq1sGLMUBiwCJWd95_pE,2040
8
- linkml/generators/csvgen.py,sha256=kozH0dV2ijk7Z4ir6cAuXSevU2DfD1LN-ha_34L5Xoo,3118
9
- linkml/generators/docgen/class.md.jinja2,sha256=ez1NfhNHjAYMVBj1_fcbfJkozcAac8R6kGnjrQ5xNTw,2873
10
- linkml/generators/docgen/class_diagram.md.jinja2,sha256=0yTHt1BiVyIrpn_oKLsnpXgV440sNooeL0dmjcyPuhQ,2682
11
- linkml/generators/docgen/common_metadata.md.jinja2,sha256=zy8Ua3gDtAAq8VA3e3O3ft9W7eJopVZaq5efP8LU_hU,1321
12
- linkml/generators/docgen/enum.md.jinja2,sha256=H8YaILMWMwaiMIE6avtDbHkn59Rb48XPYjoA_KUTh50,1018
13
- linkml/generators/docgen/index.md.jinja2,sha256=wXUYTmayPLFltC0vbGE_Mf6m3GkkWav7FOEjCvEpHp4,1466
14
- linkml/generators/docgen/index.tex.jinja2,sha256=Go_EA-_N4JUpbOYbk3OY11mz5yV70VF2l2sMtgIPWw4,501
15
- linkml/generators/docgen/schema.md.jinja2,sha256=xlENfnzNRYgPT_0tdqNFxgklVM4Qf5BuzhFVvSMDuxs,70
16
- linkml/generators/docgen/slot.md.jinja2,sha256=uLOK8MzeX4RNQbMUQBwnDRgynPExou3_ZdifvhqVbZs,2557
17
- linkml/generators/docgen/subset.md.jinja2,sha256=d700xLDGK_CXMOS1NBm9X52ieH5GoQjIu4t7DjivfRs,1704
18
- linkml/generators/docgen/type.md.jinja2,sha256=QmCMJZrFwP33eHkggBVtypbyrxTb-XZn9vHOYojVaYk,635
19
- linkml/generators/docgen.py,sha256=3swpk1QosDqEYbkBirwLk9rVRgPWyQjhRZgy9czo-Hg,32994
20
- linkml/generators/dotgen.py,sha256=HHztK_C3EatZtR0vUF0hZ_UMTvDOcp5NHtqVh6CfoA8,5112
21
- linkml/generators/erdiagramgen.py,sha256=LbR2iht4ZWztYtWtiBKtqNGy_TAVV0tmcGnM4mKLlpI,10913
22
- linkml/generators/excelgen.py,sha256=e9ehD98VZiuoTMbJNva6LhctLaFhvxbRCncKoy_aUKk,6894
23
- linkml/generators/golanggen.py,sha256=6eEDkA9zaF5b_jsBG--QzsKQNvIwuXzrV0uOlrDz8gI,6393
24
- linkml/generators/golrgen.py,sha256=F6bUHH7LgoTcBmitr3OvaXa_E8D676UbVCgzKizWdSQ,3575
25
- linkml/generators/graphqlgen.py,sha256=HE7Ua3V5gHbx9jdrvMeGGV1HD43VZeGts7_nPut1620,2347
26
- linkml/generators/javagen/example_template.java.jinja2,sha256=ec4CVTv_0zS7V5Y-1E6H4lRraya10gfX7BEMBlu38X4,444
27
- linkml/generators/javagen/java_record_template.jinja2,sha256=yS7vKlgkHOQJfMjeziADDBCICri5JBp85BzreSp8QXw,1737
28
- linkml/generators/javagen.py,sha256=fqBLcDATDB1fkWbgDDWNdJKj8m39ZaNcKmpmfT1ylSk,5499
29
- linkml/generators/jsonldcontextgen.py,sha256=a_vEnHUsunKY_oaIo9H76pD8n7iFbyB1fPU6ax9K9Bo,8821
30
- linkml/generators/jsonldgen.py,sha256=w_NXSt0_ZcnpSP8_ZiUCohCb-eo49R-HfYF7JNqKKcY,7952
31
- linkml/generators/jsonschemagen.py,sha256=XjjgDTxlWyRbY7r29KWsxrGCxapTYfpPDIAtLinrblM,21688
32
- linkml/generators/linkmlgen.py,sha256=5uwtioEvKf6d4r7hI6LjdY8JtnPukfhRelJMgTYWP24,3555
33
- linkml/generators/markdowngen.py,sha256=Dt99SGNBNVvCmA1Nl2MGF_KMca5gDExuJFceo1Wlwro,34422
34
- linkml/generators/namespacegen.py,sha256=1AHpFCOV-dAZmMdLe4VZi7ixQzJvlgEzdcwaYCwF3pM,6532
35
- linkml/generators/oocodegen.py,sha256=cJI866d4lS7HSUpeWnSHycwqU6fiPNWqC-aHFTg_YjM,7831
36
- linkml/generators/owlgen.py,sha256=uxhJkubSwOEsffXEEwQTNNdMBo74UNWPDyHznMO_5RA,29182
37
- linkml/generators/prefixmapgen.py,sha256=2MKdiCcToHNBvV-QbOGM2J7vp__0Ynr_aMjYdBE48UM,4911
38
- linkml/generators/projectgen.py,sha256=1f1d5ft4m7E3vcXn-2ymxopdt77rjy7r38KIV9in9og,9811
39
- linkml/generators/protogen.py,sha256=p2SA5ICwLf7Ew4zpmN7nLV1xrgyPaucXkRM1HEONL5Y,2443
40
- linkml/generators/pydanticgen.py,sha256=Mf1CMX_jWoyt9zXUVATqPAy4ygCP70wvUpW59KwBlCA,22150
41
- linkml/generators/pythongen.py,sha256=I1WtADCxwGAOeoYLwXWfPSOJLsXuE_u6kotl50q8rgo,50389
42
- linkml/generators/rdfgen.py,sha256=56haqxj-VMOfNeDgpUqlqSjFfPamAUUbffDLo93BpGI,2825
43
- linkml/generators/shaclgen.py,sha256=t_BEUYezk-nJNuV5_BgP8tfI2fnul2O4YA4V9GWxLlw,5621
44
- linkml/generators/shexgen.py,sha256=sRVbsvsbl8JltLBObmYGXiEXMkdxqxPUZOmL-JztQbM,9547
45
- linkml/generators/sparqlgen.py,sha256=FXRAA0y5H7Ep1WF6jR-gf2y4J_Ntw2rsZshW3JsijUI,6632
46
- linkml/generators/sqlalchemy/__init__.py,sha256=VSRw0_g2fdYXSNv403YjwJf3zgq6OD7JC2rsKoN4J50,166
47
- linkml/generators/sqlalchemy/sqlalchemy_declarative_template.py,sha256=J98CQOk3uOuemBgWN0gFondm8-Xr-I_6Pp3hgnUTDD8,2575
48
- linkml/generators/sqlalchemy/sqlalchemy_imperative_template.py,sha256=63jR9haRyOkr9i_VEuU6he7qNzUXlMTRW1drY3e7Xew,1625
49
- linkml/generators/sqlalchemygen.py,sha256=VUR4YRP38TBEqcAX4IG2CAhvggsdnKNCLi90da0-XJA,9334
50
- linkml/generators/sqlddlgen.py,sha256=SDad6cATOYBubRy55dLEM_nrGhFV5eZXsXreE7vL8aA,18626
51
- linkml/generators/sqltablegen.py,sha256=ICk1iCHSgpUBcZL__SMtR80uyjxlYkZP2AApT6X3HoM,11387
52
- linkml/generators/sssomgen.py,sha256=2SBUNI-Ikk92715Qa9WEZ3xzg-MpZRjGGGZ5DwWcNk8,7177
53
- linkml/generators/string_template.md,sha256=kRcfic6entgIaJdpSg6GF3jcjC9wbKsCVM6wVT2qipc,1788
54
- linkml/generators/summarygen.py,sha256=HkFlmITgsedhedBb9xOs9Rr8fJsAv0ODhXitMoAbbsQ,3020
55
- linkml/generators/terminusdbgen.py,sha256=Hhu2e17EyHyZq9jbN48PIqbHCNuSyup_PRMLKnRBjEg,4760
56
- linkml/generators/typescriptgen.py,sha256=-0QC8ceJ5o941P6S5GZ4af5XL36FhAibWg_jr8BExS0,6094
57
- linkml/generators/yamlgen.py,sha256=6Gc9T-W8RYCtTHZkI746cgKbPiOF1rL1LCImpU7yV8M,1746
58
- linkml/generators/yumlgen.py,sha256=0D1Q_mOTu_WZkb4m2L1_AcenATVAn2u_0pJxDRwJQWI,13311
59
- linkml/linter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
- linkml/linter/cli.py,sha256=Spd_82b7oQKdXSrQPGEdjhoko-Esikg1od_tQGgaXPQ,4323
61
- linkml/linter/config/datamodel/.linkmllint.yaml,sha256=40rNhcL35FXQSjlVBMWnyPgplwEUqFT_sJmeZqUzxMw,292
62
- linkml/linter/config/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- linkml/linter/config/datamodel/config.py,sha256=yYDUQT1ob7yB0nK-BQDj6DcerbBuMv5he67KpS3y2hk,17711
64
- linkml/linter/config/datamodel/config.yaml,sha256=hh4a8RoHEsEpl-_E50SZjJD8kmHGquBdcrI4ZqNdAME,6980
65
- linkml/linter/config/default.yaml,sha256=O3kaiwyvEO3siX2jDzuBjsCQc1b_EMe466OfRz8Gc5Q,540
66
- linkml/linter/config/recommended.yaml,sha256=hxrRSlCZzFXr3WndWAxs2RKwuSwQxRjrvRQi-zteiYQ,198
67
- linkml/linter/formatters/__init__.py,sha256=lKTbA20yL_TuimKZIBI1DGXgDO7D4QSrJ3zZFCJRwu0,269
68
- linkml/linter/formatters/formatter.py,sha256=u2DNowT7Nx1rexCMJmghlXklTYb98_Glj5qhnhjTkBc,518
69
- linkml/linter/formatters/json_formatter.py,sha256=rrOELuETUCFTl1Ewnrus9Rx9hl2g4uucrMfN6yw33iI,767
70
- linkml/linter/formatters/markdown_formatter.py,sha256=sumF2MNJYL5oipLwCftCr3AiaCmVhd9V6di9aYpJ29I,2605
71
- linkml/linter/formatters/terminal_formatter.py,sha256=xmNwlRieVCssRt3fpnNP5WWw_YXGmaBsbxFoMWufy5M,2085
72
- linkml/linter/formatters/tsv_formatter.py,sha256=1VW-1Tv16mwhIDpHdExYpJJR3z42K5_XK2C-4mmYYdE,871
73
- linkml/linter/linter.py,sha256=mV5gr6OsHLjcwy5hUEqaBtKmBOG4YT-gohyPbOgnafI,5004
74
- linkml/linter/rules.py,sha256=FIO4P1E-68q-0x7V_Lq8LHWFf6B1bMt21yulwZs76pk,11649
75
- linkml/reporting/__init__.py,sha256=AMfY9isV0Uk-58qFRz6un_Jn7xOL3klpI1Dv_AOd3S0,55
76
- linkml/reporting/model.py,sha256=DbuwvYu7b2Apq8Ic4kv29c-kNF9bfpTunoiJXp_8ZAw,9189
77
- linkml/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- linkml/transformers/relmodel_transformer.py,sha256=-x2N4s2GKELNHrSQT8G1Gh6H9zbTrYMM9odyq3SShs0,18594
79
- linkml/transformers/schema_renamer.py,sha256=hbkW6efqctwj1Xrl_484zRHyeXbG4q4tex0umD30704,5455
80
- linkml/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- linkml/utils/converter.py,sha256=D1CUwSXIshspx2zScnGbZEhUw7A9FBLZxAqcQjbjTE0,6463
82
- linkml/utils/datautils.py,sha256=yFEpv-eeDSkbnCCeG-GpTWWAOYC8Yb4lkVbn9iM371Q,4384
83
- linkml/utils/datavalidator.py,sha256=cmNGhsgiKUBkp5ee1aI9l6sBnX4nO9oI_nv2vc5vu7k,490
84
- linkml/utils/execute_tutorial.py,sha256=QBCHEBWSKtmlbtvumO_YPmC9AoXLzN6T2OCVJtWdMb0,6999
85
- linkml/utils/generator.py,sha256=9TnGcZIV5WLkEOODAwMGaUYhEy4nCuGlRC5qy_MXCtU,39737
86
- linkml/utils/helpers.py,sha256=_ZodooC0zp2t6z-kDu2C2h1wm4X-GDpuLdvUx1-BU8w,445
87
- linkml/utils/ifabsent_functions.py,sha256=BRssK7rjyx2rcQQSeM0aVzSnNFK8HbsJvSfnPlKxCtk,5773
88
- linkml/utils/mergeutils.py,sha256=GIm19Zha0im5CcZ_VtswfqVaJFhW8UU_Yp9t55mBPyI,9498
89
- linkml/utils/rawloader.py,sha256=r6vv4KO2cuaq3BNgU5a6vJchAytZfd0hHlcuAsddivQ,4560
90
- linkml/utils/schema_builder.py,sha256=lkqPTxLJE7Cw8SqwIZx0s7tVcjhipv7t3pvzc6Pz5YI,9065
91
- linkml/utils/schema_fixer.py,sha256=52H7cCelds8GFlyRop00fu3lArLEAz2AkvN5mlUAajU,13464
92
- linkml/utils/schemaloader.py,sha256=Qu_1NHcBCMYIwwr5XipGmeN_umSHhO5EzyUDmNrcrVU,48537
93
- linkml/utils/schemasynopsis.py,sha256=ChnorHjp1SF6YRYe8METthwi5TmaWv8Vxh2s-Butsgc,19733
94
- linkml/utils/sqlutils.py,sha256=iKR0WOQHNAoS1tpYJ0jyk1bOeN4D9pbI4nb9bKdjznY,16297
95
- linkml/utils/typereferences.py,sha256=sMIMmSn0mFbz7R_xm2AraxTwK9bTy_DTfaIuGbtJjQo,2395
96
- linkml/utils/validation.py,sha256=xi-rFbIYVLOGpE3WU01b7yiiSve6dWQbuBxoraPfoX8,1514
97
- linkml/validators/__init__.py,sha256=cpfJFrHhyqR4UpYn95Kh_lshRGW1hV0B_mEoDjmVgqs,140
98
- linkml/validators/jsonschemavalidator.py,sha256=6uKIUo8XrOxHSlmYEfZrdjvbNmnHMT-8WBxNZfH83lM,6255
99
- linkml/validators/sparqlvalidator.py,sha256=TaU6y334TaBM-qk2lOF5ou3FETUsQPZGMheZO7n1l7U,4873
100
- linkml/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- linkml/workspaces/datamodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- linkml/workspaces/datamodel/workspaces.py,sha256=pe-5WkXcHWQkUBYCPZ_jBYdY7P9rpHTZo4duJPmMe4w,15641
103
- linkml/workspaces/datamodel/workspaces.yaml,sha256=EjVrwPpeRZqJRjuGyyDRxxFzuv55SiLIXPBRUG6HStU,4233
104
- linkml/workspaces/example_runner.py,sha256=nWMfc6RyTy8P2FaUdrsVzdDoO3B6oMBUSa0wTwZPjEc,11912
105
- linkml-1.5.5.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
106
- linkml-1.5.5.dist-info/LICENSE,sha256=Nv_Z3AhdUpp-YOEnbXOuWgMLAgMT5sVAhZOmrirzlnM,6555
107
- linkml-1.5.5.dist-info/entry_points.txt,sha256=2DTCsfVNoXo-USAjNMbFWRTSPga78gUDzSZBzFM9o5Q,2113
108
- linkml-1.5.5.dist-info/METADATA,sha256=XujcHqu_Zc0jQ7HXknNr8SsvT2VYugTsAj6Z98z4TBE,3529
109
- linkml-1.5.5.dist-info/RECORD,,
File without changes