nmdc-schema 11.15.0__py3-none-any.whl → 11.15.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.
@@ -30,7 +30,7 @@ from pydantic import (
30
30
 
31
31
 
32
32
  metamodel_version = "None"
33
- version = "11.15.0"
33
+ version = "11.15.1"
34
34
 
35
35
 
36
36
  class ConfiguredBaseModel(BaseModel):
@@ -307,12 +307,12 @@ linkml_meta = LinkMLMeta({'default_prefix': 'nmdc',
307
307
  'xsd': {'prefix_prefix': 'xsd',
308
308
  'prefix_reference': 'http://www.w3.org/2001/XMLSchema#'}},
309
309
  'settings': {'DOI': {'setting_key': 'DOI',
310
- 'setting_value': '^doi:10.\\d{2,9}/.*$'},
310
+ 'setting_value': 'doi:10.\\d{2,9}/.*'},
311
311
  'NCBItaxon_id': {'setting_key': 'NCBItaxon_id',
312
312
  'setting_value': 'NCBITaxon:\\d+'},
313
- 'PMID': {'setting_key': 'PMID', 'setting_value': '^PMID:\\d+$'},
313
+ 'PMID': {'setting_key': 'PMID', 'setting_value': 'PMID:\\d+'},
314
314
  'URL': {'setting_key': 'URL',
315
- 'setting_value': '^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$'},
315
+ 'setting_value': 'https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)'},
316
316
  'add_recov_methods': {'setting_key': 'add_recov_methods',
317
317
  'setting_value': 'Water Injection|Dump '
318
318
  'Flood|Gas Injection|Wag '
@@ -330,7 +330,7 @@ linkml_meta = LinkMLMeta({'default_prefix': 'nmdc',
330
330
  'country': {'setting_key': 'country',
331
331
  'setting_value': '([^\\s-]{1,2}|[^\\s-]+.+[^\\s-]+)'},
332
332
  'date_time_stamp': {'setting_key': 'date_time_stamp',
333
- 'setting_value': '(\\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\\d|3[01])(T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)(\\.\\d+)?(Z|([+-][01]\\d:[0-5]\\d))?)?)?)?$'},
333
+ 'setting_value': '(\\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\\d|3[01])(T([01]\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?(\\.\\d+)?(Z|([+-][01]\\d:[0-5]\\d))?)?)?)?'},
334
334
  'dna_bases': {'setting_key': 'dna_bases',
335
335
  'setting_value': '[ACGT]'},
336
336
  'duration': {'setting_key': 'duration',
@@ -379,6 +379,8 @@ linkml_meta = LinkMLMeta({'default_prefix': 'nmdc',
379
379
  'termLabel': {'setting_key': 'termLabel',
380
380
  'setting_value': '([^\\s-]{1,2}|[^\\s-]+.+[^\\s-]+)'},
381
381
  'text': {'setting_key': 'text', 'setting_value': '.*'},
382
+ 'timestamp': {'setting_key': 'timestamp',
383
+ 'setting_value': '(\\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\\d|3[01])(T([01]\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?(\\.\\d+)?(Z|([+-][01]\\d:[0-5]\\d))?)?)?)?'},
382
384
  'unit': {'setting_key': 'unit',
383
385
  'setting_value': '([^\\s-]{1,2}|[^\\s-]+.+[^\\s-]+)'},
384
386
  'version': {'setting_key': 'version',
@@ -8937,17 +8939,10 @@ class Biosample(Sample):
8937
8939
  "property. It's just a "
8938
8940
  'biogeochemical measurement.']},
8939
8941
  'heavy_metals_meth': {'comments': ['Required when heavy metals '
8940
- 'are provided',
8941
- 'If different methods are '
8942
- 'used for multiple metals, '
8943
- 'indicate the metal and '
8944
- 'method. Separate metals by '
8945
- ';'],
8942
+ 'are provided'],
8946
8943
  'examples': [{'value': 'https://doi.org/10.3390/ijms9040434'},
8947
- {'value': 'mercury '
8948
- 'https://doi.org/10.1007/BF01056090; '
8949
- 'chromium '
8950
- 'https://doi.org/10.1007/s00216-006-0322-8'}],
8944
+ {'value': 'doi:10.1007/BF01056090'},
8945
+ {'value': 'https://doi.org/10.1007/s00216-006-0322-8'}],
8951
8946
  'multivalued': True,
8952
8947
  'name': 'heavy_metals_meth',
8953
8948
  'title': 'heavy metals method/ extreme '
@@ -9305,7 +9300,7 @@ class Biosample(Sample):
9305
9300
  'slot_uri': 'MIXS:0000324',
9306
9301
  'structured_pattern': {'interpolated': True,
9307
9302
  'partial_match': True,
9308
- 'syntax': '^{PMID}|{DOI}|{URL}$'},
9303
+ 'syntax': '^({PMID}|{DOI}|{URL})$'},
9309
9304
  'todos': ["I think it's weird the way GSC writes the title. I recommend this "
9310
9305
  'change. Thoughts?']} })
9311
9306
  alkalinity: Optional[QuantityValue] = Field(default=None, title="alkalinity", description="""Alkalinity, the ability of a solution to neutralize acids to the equivalence point of carbonate or bicarbonate""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
@@ -9864,7 +9859,7 @@ class Biosample(Sample):
9864
9859
  'keywords': ['culture'],
9865
9860
  'slot_uri': 'MIXS:0001041',
9866
9861
  'structured_pattern': {'interpolated': True,
9867
- 'syntax': '^{text}|{PMID}|{DOI}|{URL}$'}} })
9862
+ 'syntax': '^({text}|{PMID}|{DOI}|{URL})$'}} })
9868
9863
  cur_land_use: Optional[str] = Field(default=None, title="current land use", description="""Present state of sample site""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
9869
9864
  'value': 'enumeration'}},
9870
9865
  'domain_of': ['Biosample'],
@@ -9914,7 +9909,7 @@ class Biosample(Sample):
9914
9909
  'slot_uri': 'MIXS:0000314',
9915
9910
  'structured_pattern': {'interpolated': True,
9916
9911
  'partial_match': True,
9917
- 'syntax': '^{PMID}|{DOI}|{URL}$'},
9912
+ 'syntax': '^({PMID}|{DOI}|{URL})$'},
9918
9913
  'todos': ["I'm not sure this is a DOI, PMID, or URI. Should pool the "
9919
9914
  'community and find out how they accomplish this if provided.']} })
9920
9915
  date_last_rain: Optional[TimestampValue] = Field(default=None, title="date last rain", description="""The date of the last time it rained""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
@@ -10444,9 +10439,9 @@ class Biosample(Sample):
10444
10439
  'partial_match': True,
10445
10440
  'syntax': '^{scientific_float}( *- '
10446
10441
  '*{scientific_float})? *{text}$'}} })
10447
- freq_clean: Optional[QuantityValue] = Field(default=None, title="frequency of cleaning", description="""The number of times the sample location is cleaned. Frequency of cleaning might be on a Daily basis, Weekly, Monthly, Quarterly or Annually""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units', 'value': '1/d'}},
10442
+ freq_clean: Optional[QuantityValue] = Field(default=None, title="frequency of cleaning", description="""The number of times the sample location is cleaned per day.""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units', 'value': '1/d'}},
10448
10443
  'domain_of': ['Biosample'],
10449
- 'examples': [{'value': 'Daily'}],
10444
+ 'examples': [{'value': '2 1/d'}],
10450
10445
  'keywords': ['frequency'],
10451
10446
  'slot_uri': 'MIXS:0000226'} })
10452
10447
  freq_cook: Optional[QuantityValue] = Field(default=None, title="frequency of cooking", description="""The number of times a meal is cooked per week""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units', 'value': '1/d'}},
@@ -10494,7 +10489,8 @@ class Biosample(Sample):
10494
10489
  genetic_mod: Optional[str] = Field(default=None, title="genetic modification", description="""Genetic modifications of the genome of an organism, which may occur naturally by spontaneous mutation, or be introduced by some experimental means, e.g. specification of a transgene or the gene knocked-out or details of transient transfection""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
10495
10490
  'examples': [{'value': 'PMID:19497774'}],
10496
10491
  'slot_uri': 'MIXS:0000859',
10497
- 'structured_pattern': {'interpolated': True, 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10492
+ 'structured_pattern': {'interpolated': True,
10493
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10498
10494
  geo_loc_name: Optional[TextValue] = Field(default=None, title="geographic location (country and/or sea,region)", description="""The geographical origin of the sample as defined by the country or sea name followed by specific region name. Country or sea names should be chosen from the INSDC country list (http://insdc.org/country.html), or the GAZ ontology (http://purl.bioontology.org/ontology/GAZ)""", json_schema_extra = { "linkml_meta": {'domain_of': ['FieldResearchSite', 'Biosample'],
10499
10495
  'examples': [{'value': 'USA: Maryland, Bethesda'}],
10500
10496
  'keywords': ['geographic', 'location'],
@@ -10629,18 +10625,16 @@ class Biosample(Sample):
10629
10625
  "I think it's weird the way GSC writes the title. I recommend this "
10630
10626
  "change. Thoughts? I would argue this isn't an extreme unusual "
10631
10627
  "property. It's just a biogeochemical measurement."]} })
10632
- heavy_metals_meth: Optional[list[str]] = Field(default=[], title="heavy metals method/ extreme unusual properties", description="""Reference or method used in determining heavy metals""", json_schema_extra = { "linkml_meta": {'comments': ['Required when heavy metals are provided',
10633
- 'If different methods are used for multiple metals, indicate the '
10634
- 'metal and method. Separate metals by ;'],
10628
+ heavy_metals_meth: Optional[list[str]] = Field(default=[], title="heavy metals method/ extreme unusual properties", description="""Reference or method used in determining heavy metals""", json_schema_extra = { "linkml_meta": {'comments': ['Required when heavy metals are provided'],
10635
10629
  'domain_of': ['Biosample'],
10636
10630
  'examples': [{'value': 'https://doi.org/10.3390/ijms9040434'},
10637
- {'value': 'mercury https://doi.org/10.1007/BF01056090; chromium '
10638
- 'https://doi.org/10.1007/s00216-006-0322-8'}],
10631
+ {'value': 'doi:10.1007/BF01056090'},
10632
+ {'value': 'https://doi.org/10.1007/s00216-006-0322-8'}],
10639
10633
  'keywords': ['extreme', 'method', 'properties', 'unusual'],
10640
10634
  'slot_uri': 'MIXS:0000343',
10641
10635
  'structured_pattern': {'interpolated': True,
10642
10636
  'partial_match': True,
10643
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10637
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10644
10638
  height_carper_fiber: Optional[QuantityValue] = Field(default=None, title="height carpet fiber mat", description="""The average carpet fiber height in the indoor environment""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
10645
10639
  'value': 'centimeter'},
10646
10640
  'storage_units': {'tag': 'storage_units', 'value': 'cm'}},
@@ -10664,7 +10658,7 @@ class Biosample(Sample):
10664
10658
  'slot_uri': 'MIXS:0000321',
10665
10659
  'structured_pattern': {'interpolated': True,
10666
10660
  'partial_match': True,
10667
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10661
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10668
10662
  host_age: Optional[QuantityValue] = Field(default=None, title="host age", description="""Age of host at the time of sampling; relevant scale depends on species and study, e.g. Could be seconds for amoebae or centuries for trees""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
10669
10663
  'value': 'year, day, hour'},
10670
10664
  'storage_units': {'tag': 'storage_units', 'value': 'a|d|h'}},
@@ -10741,7 +10735,7 @@ class Biosample(Sample):
10741
10735
  'slot_uri': 'MIXS:0000871',
10742
10736
  'structured_pattern': {'interpolated': True,
10743
10737
  'partial_match': True,
10744
- 'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
10738
+ 'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
10745
10739
  host_height: Optional[QuantityValue] = Field(default=None, title="host height", description="""The height of subject""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
10746
10740
  'value': 'centimeter, millimeter, meter'},
10747
10741
  'storage_units': {'tag': 'storage_units', 'value': 'cm|m|mm'}},
@@ -10969,7 +10963,7 @@ class Biosample(Sample):
10969
10963
  'slot_uri': 'MIXS:0000340',
10970
10964
  'structured_pattern': {'interpolated': True,
10971
10965
  'partial_match': True,
10972
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10966
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10973
10967
  link_class_info: Optional[str] = Field(default=None, title="link to classification information", description="""Link to digitized soil maps or other soil classification information""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
10974
10968
  'value': 'PMID,DOI or url'}},
10975
10969
  'domain_of': ['Biosample'],
@@ -10981,7 +10975,7 @@ class Biosample(Sample):
10981
10975
  'slot_uri': 'MIXS:0000328',
10982
10976
  'structured_pattern': {'interpolated': True,
10983
10977
  'partial_match': True,
10984
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10978
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10985
10979
  lithology: Optional[LithologyEnum] = Field(default=None, title="lithology", description="""Hydrocarbon resource main lithology (Additional information: http://petrowiki.org/Lithology_and_rock_type_determination). If \"other\" is specified, please propose entry in \"additional info\" field""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
10986
10980
  'examples': [{'value': 'Volcanic'}],
10987
10981
  'keywords': ['lithology'],
@@ -10997,7 +10991,7 @@ class Biosample(Sample):
10997
10991
  'slot_uri': 'MIXS:0000331',
10998
10992
  'structured_pattern': {'interpolated': True,
10999
10993
  'partial_match': True,
11000
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10994
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
11001
10995
  magnesium: Optional[QuantityValue] = Field(default=None, title="magnesium", description="""Concentration of magnesium in the sample""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
11002
10996
  'value': 'mole per liter, milligram per '
11003
10997
  'liter, parts per million, '
@@ -11492,11 +11486,11 @@ class Biosample(Sample):
11492
11486
  'slot_uri': 'MIXS:0000316',
11493
11487
  'structured_pattern': {'interpolated': True,
11494
11488
  'partial_match': True,
11495
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
11489
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
11496
11490
  previous_land_use: Optional[str] = Field(default=None, title="history/previous land use", description="""Previous land use and dates""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
11497
11491
  'value': 'land use name;date'}},
11498
11492
  'domain_of': ['Biosample'],
11499
- 'examples': [{'value': 'fallow; 2018-05-11:T14:30Z'}],
11493
+ 'examples': [{'value': 'fallow;2018-05-11T14:30Z'}],
11500
11494
  'keywords': ['history', 'land', 'use'],
11501
11495
  'slot_uri': 'MIXS:0000315',
11502
11496
  'string_serialization': '{text};{timestamp}'} })
@@ -11728,7 +11722,7 @@ class Biosample(Sample):
11728
11722
  'slot_uri': 'MIXS:0001061',
11729
11723
  'structured_pattern': {'interpolated': True,
11730
11724
  'partial_match': True,
11731
- 'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
11725
+ 'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
11732
11726
  root_med_carbon: Optional[TextValue] = Field(default=None, title="rooting medium carbon", description="""Source of organic carbon in the culture rooting medium; e.g. sucrose""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
11733
11727
  'value': 'carbon source name;measurement '
11734
11728
  'value'},
@@ -12290,8 +12284,7 @@ class Biosample(Sample):
12290
12284
  store_cond: Optional[TextValue] = Field(default=None, title="storage conditions", description="""Explain how and for how long the soil sample was stored before DNA extraction (fresh/frozen/other)""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
12291
12285
  'examples': [{'value': '-20 degree Celsius freezer;P2Y10D'}],
12292
12286
  'keywords': ['condition', 'storage'],
12293
- 'slot_uri': 'MIXS:0000327',
12294
- 'structured_pattern': {'syntax': '^{storage_condition_type};{duration}$'}} })
12287
+ 'slot_uri': 'MIXS:0000327'} })
12295
12288
  substructure_type: Optional[list[SubstructureTypeEnum]] = Field(default=[], title="substructure type", description="""The substructure or under building is that largely hidden section of the building which is built off the foundations to the ground floor level""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
12296
12289
  'examples': [{'value': 'basement'}],
12297
12290
  'keywords': ['type'],
@@ -12458,7 +12451,7 @@ class Biosample(Sample):
12458
12451
  'slot_uri': 'MIXS:0001070',
12459
12452
  'structured_pattern': {'interpolated': True,
12460
12453
  'partial_match': True,
12461
- 'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
12454
+ 'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
12462
12455
  toluene: Optional[QuantityValue] = Field(default=None, title="toluene", description="""Concentration of toluene in the sample""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
12463
12456
  'value': 'milligram per liter, parts per '
12464
12457
  'million'},
@@ -12550,7 +12543,7 @@ class Biosample(Sample):
12550
12543
  'slot_uri': 'MIXS:0000338',
12551
12544
  'structured_pattern': {'interpolated': True,
12552
12545
  'partial_match': True,
12553
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
12546
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
12554
12547
  tot_nitro_content: Optional[QuantityValue] = Field(default=None, title="total nitrogen content", description="""Total nitrogen content of the sample""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units',
12555
12548
  'value': 'mg/L|ug/L|umol/L|%'}},
12556
12549
  'domain_of': ['Biosample'],
@@ -12567,7 +12560,7 @@ class Biosample(Sample):
12567
12560
  'slot_uri': 'MIXS:0000337',
12568
12561
  'structured_pattern': {'interpolated': True,
12569
12562
  'partial_match': True,
12570
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
12563
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
12571
12564
  tot_org_carb: Optional[QuantityValue] = Field(default=None, title="total organic carbon", description="""Total organic carbon content""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
12572
12565
  'value': 'gram Carbon per kilogram sample '
12573
12566
  'material'},
@@ -13529,7 +13522,7 @@ class Biosample(Sample):
13529
13522
 
13530
13523
  @field_validator('add_recov_method')
13531
13524
  def pattern_add_recov_method(cls, v):
13532
- pattern=re.compile(r"^(Water Injection|Dump Flood|Gas Injection|Wag Immiscible Injection|Polymer Addition|Surfactant Addition|Not Applicable|other);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d):([0-5]\d)(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$$")
13525
+ pattern=re.compile(r"^(Water Injection|Dump Flood|Gas Injection|Wag Immiscible Injection|Polymer Addition|Surfactant Addition|Not Applicable|other);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$")
13533
13526
  if isinstance(v, list):
13534
13527
  for element in v:
13535
13528
  if isinstance(element, str) and not pattern.match(element):
@@ -13568,7 +13561,7 @@ class Biosample(Sample):
13568
13561
 
13569
13562
  @field_validator('agrochem_addition')
13570
13563
  def pattern_agrochem_addition(cls, v):
13571
- pattern=re.compile(r"^.*;[-+]?[0-9]*\.?[0-9]+ ([^\s-]{1,2}|[^\s-]+.+[^\s-]+);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d):([0-5]\d)(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$$")
13564
+ pattern=re.compile(r"^.*;[-+]?[0-9]*\.?[0-9]+ ([^\s-]{1,2}|[^\s-]+.+[^\s-]+);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$")
13572
13565
  if isinstance(v, list):
13573
13566
  for element in v:
13574
13567
  if isinstance(element, str) and not pattern.match(element):
@@ -13620,7 +13613,7 @@ class Biosample(Sample):
13620
13613
 
13621
13614
  @field_validator('al_sat_meth')
13622
13615
  def pattern_al_sat_meth(cls, v):
13623
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
13616
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
13624
13617
  if isinstance(v, list):
13625
13618
  for element in v:
13626
13619
  if isinstance(element, str) and not pattern.match(element):
@@ -14062,7 +14055,7 @@ class Biosample(Sample):
14062
14055
 
14063
14056
  @field_validator('cult_root_med')
14064
14057
  def pattern_cult_root_med(cls, v):
14065
- pattern=re.compile(r"^.*|^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14058
+ pattern=re.compile(r"^(.*|PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14066
14059
  if isinstance(v, list):
14067
14060
  for element in v:
14068
14061
  if isinstance(element, str) and not pattern.match(element):
@@ -14075,7 +14068,7 @@ class Biosample(Sample):
14075
14068
 
14076
14069
  @field_validator('cur_vegetation_meth')
14077
14070
  def pattern_cur_vegetation_meth(cls, v):
14078
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14071
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14079
14072
  if isinstance(v, list):
14080
14073
  for element in v:
14081
14074
  if isinstance(element, str) and not pattern.match(element):
@@ -14478,7 +14471,7 @@ class Biosample(Sample):
14478
14471
 
14479
14472
  @field_validator('genetic_mod')
14480
14473
  def pattern_genetic_mod(cls, v):
14481
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14474
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14482
14475
  if isinstance(v, list):
14483
14476
  for element in v:
14484
14477
  if isinstance(element, str) and not pattern.match(element):
@@ -14556,7 +14549,7 @@ class Biosample(Sample):
14556
14549
 
14557
14550
  @field_validator('heavy_metals_meth')
14558
14551
  def pattern_heavy_metals_meth(cls, v):
14559
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14552
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14560
14553
  if isinstance(v, list):
14561
14554
  for element in v:
14562
14555
  if isinstance(element, str) and not pattern.match(element):
@@ -14582,7 +14575,7 @@ class Biosample(Sample):
14582
14575
 
14583
14576
  @field_validator('horizon_meth')
14584
14577
  def pattern_horizon_meth(cls, v):
14585
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14578
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14586
14579
  if isinstance(v, list):
14587
14580
  for element in v:
14588
14581
  if isinstance(element, str) and not pattern.match(element):
@@ -14634,7 +14627,7 @@ class Biosample(Sample):
14634
14627
 
14635
14628
  @field_validator('host_growth_cond')
14636
14629
  def pattern_host_growth_cond(cls, v):
14637
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$|.*$")
14630
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|.*)$")
14638
14631
  if isinstance(v, list):
14639
14632
  for element in v:
14640
14633
  if isinstance(element, str) and not pattern.match(element):
@@ -14777,7 +14770,7 @@ class Biosample(Sample):
14777
14770
 
14778
14771
  @field_validator('link_addit_analys')
14779
14772
  def pattern_link_addit_analys(cls, v):
14780
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14773
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14781
14774
  if isinstance(v, list):
14782
14775
  for element in v:
14783
14776
  if isinstance(element, str) and not pattern.match(element):
@@ -14790,7 +14783,7 @@ class Biosample(Sample):
14790
14783
 
14791
14784
  @field_validator('link_climate_info')
14792
14785
  def pattern_link_climate_info(cls, v):
14793
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14786
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14794
14787
  if isinstance(v, list):
14795
14788
  for element in v:
14796
14789
  if isinstance(element, str) and not pattern.match(element):
@@ -14803,7 +14796,7 @@ class Biosample(Sample):
14803
14796
 
14804
14797
  @field_validator('local_class_meth')
14805
14798
  def pattern_local_class_meth(cls, v):
14806
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14799
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14807
14800
  if isinstance(v, list):
14808
14801
  for element in v:
14809
14802
  if isinstance(element, str) and not pattern.match(element):
@@ -15167,7 +15160,7 @@ class Biosample(Sample):
15167
15160
 
15168
15161
  @field_validator('prev_land_use_meth')
15169
15162
  def pattern_prev_land_use_meth(cls, v):
15170
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15163
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
15171
15164
  if isinstance(v, list):
15172
15165
  for element in v:
15173
15166
  if isinstance(element, str) and not pattern.match(element):
@@ -15362,7 +15355,7 @@ class Biosample(Sample):
15362
15355
 
15363
15356
  @field_validator('root_cond')
15364
15357
  def pattern_root_cond(cls, v):
15365
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$|.*$")
15358
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|.*)$")
15366
15359
  if isinstance(v, list):
15367
15360
  for element in v:
15368
15361
  if isinstance(element, str) and not pattern.match(element):
@@ -15388,7 +15381,7 @@ class Biosample(Sample):
15388
15381
 
15389
15382
  @field_validator('salinity_meth')
15390
15383
  def pattern_salinity_meth(cls, v):
15391
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15384
+ pattern=re.compile(r"^PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$")
15392
15385
  if isinstance(v, list):
15393
15386
  for element in v:
15394
15387
  if isinstance(element, str) and not pattern.match(element):
@@ -15672,19 +15665,6 @@ class Biosample(Sample):
15672
15665
  raise ValueError(err_msg)
15673
15666
  return v
15674
15667
 
15675
- @field_validator('store_cond')
15676
- def pattern_store_cond(cls, v):
15677
- pattern=re.compile(r"^([^\s-]{1,2}|[^\s-]+.+[^\s-]+);P(?:(?:\d+D|\d+M(?:\d+D)?|\d+Y(?:\d+M(?:\d+D)?)?)(?:T(?:\d+H(?:\d+M(?:\d+S)?)?|\d+M(?:\d+S)?|\d+S))?|T(?:\d+H(?:\d+M(?:\d+S)?)?|\d+M(?:\d+S)?|\d+S)|\d+W)$")
15678
- if isinstance(v, list):
15679
- for element in v:
15680
- if isinstance(element, str) and not pattern.match(element):
15681
- err_msg = f"Invalid store_cond format: {element}"
15682
- raise ValueError(err_msg)
15683
- elif isinstance(v, str) and not pattern.match(v):
15684
- err_msg = f"Invalid store_cond format: {v}"
15685
- raise ValueError(err_msg)
15686
- return v
15687
-
15688
15668
  @field_validator('sulfate')
15689
15669
  def pattern_sulfate(cls, v):
15690
15670
  pattern=re.compile(r"^[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?( *- *[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?)? *.*$")
@@ -15817,7 +15797,7 @@ class Biosample(Sample):
15817
15797
 
15818
15798
  @field_validator('tiss_cult_growth_med')
15819
15799
  def pattern_tiss_cult_growth_med(cls, v):
15820
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$|.*$")
15800
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|.*)$")
15821
15801
  if isinstance(v, list):
15822
15802
  for element in v:
15823
15803
  if isinstance(element, str) and not pattern.match(element):
@@ -15921,7 +15901,7 @@ class Biosample(Sample):
15921
15901
 
15922
15902
  @field_validator('tot_nitro_cont_meth')
15923
15903
  def pattern_tot_nitro_cont_meth(cls, v):
15924
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15904
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
15925
15905
  if isinstance(v, list):
15926
15906
  for element in v:
15927
15907
  if isinstance(element, str) and not pattern.match(element):
@@ -15947,7 +15927,7 @@ class Biosample(Sample):
15947
15927
 
15948
15928
  @field_validator('tot_org_c_meth')
15949
15929
  def pattern_tot_org_c_meth(cls, v):
15950
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15930
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
15951
15931
  if isinstance(v, list):
15952
15932
  for element in v:
15953
15933
  if isinstance(element, str) and not pattern.match(element):
@@ -16902,7 +16882,7 @@ class LibraryPreparation(MaterialProcessing):
16902
16882
  'slot_uri': 'MIXS:0000038',
16903
16883
  'structured_pattern': {'interpolated': True,
16904
16884
  'partial_match': True,
16905
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
16885
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
16906
16886
  pcr_cond: Optional[str] = Field(default=None, title="pcr conditions", description="""Description of reaction conditions and components of polymerase chain reaction performed during library preparation""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
16907
16887
  'value': 'initial '
16908
16888
  'denaturation:degrees_minutes;annealing:degrees_minutes;elongation:degrees_minutes;final '
@@ -17013,7 +16993,7 @@ class LibraryPreparation(MaterialProcessing):
17013
16993
 
17014
16994
  @field_validator('nucl_acid_amp')
17015
16995
  def pattern_nucl_acid_amp(cls, v):
17016
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
16996
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
17017
16997
  if isinstance(v, list):
17018
16998
  for element in v:
17019
16999
  if isinstance(element, str) and not pattern.match(element):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nmdc_schema
3
- Version: 11.15.0
3
+ Version: 11.15.1
4
4
  Summary: Schema resources for the National Microbiome Data Collaborative (NMDC)
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -27,6 +27,8 @@ Requires-Dist: jsonasobj2 (>=1,<2)
27
27
  Requires-Dist: jsonschema (>=4,<5)
28
28
  Requires-Dist: linkml (>=1.9.6,<2.0.0)
29
29
  Requires-Dist: linkml-runtime (>=1.9.5,<2.0.0)
30
+ Requires-Dist: pyasn1 (>=0.6.2)
31
+ Requires-Dist: pymdown-extensions (>=10.16.1)
30
32
  Requires-Dist: pymongo (>=4.7.2,<5.0.0)
31
33
  Requires-Dist: python-dotenv
32
34
  Requires-Dist: pyyaml (>=6,<7)
@@ -111,18 +111,18 @@ nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/__init__.py,sha25
111
111
  nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_1.py,sha256=6MYmrB9yfJ3XFb2QabTcJeycK2tyVO3MtSItns2s9Zg,35421
112
112
  nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_2.py,sha256=wzard2sUTeRS7voVTfPt3_OtafTffnv0o0OyE1OBzA0,2987
113
113
  nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_3.py,sha256=crm2NEmn0xepEMKWHvCSkfX3G6hRn377f38rq24XlO8,3710
114
- nmdc_schema/nmdc.py,sha256=K9sL0fMkVx9NFKTcveCD1uu_okiclWYyyeAaSUjo_Cc,734561
115
- nmdc_schema/nmdc.schema.json,sha256=5KxRKZq4en-rfbWLoX0cGk5_2IM-ey0zWKbdmn7z5O8,622776
114
+ nmdc_schema/nmdc.py,sha256=qRS6Pnmpc6v7eGI0KKifLlT1XjL2ivrJmpNv-RUfUDg,734561
115
+ nmdc_schema/nmdc.schema.json,sha256=-4Kl1TMmix7dYRSRUqDh9-5w0yuyHThWXWRos6S5-LY,622696
116
116
  nmdc_schema/nmdc_data.py,sha256=_wNKi5NDxuvvRsJEim2ialX7VJkDBJLRpiTOPpFHBm8,9608
117
- nmdc_schema/nmdc_materialized_patterns.json,sha256=daummpfOXLbNVrqKj-MmkfWhiNDSmPYbgqPcC6fxEeA,867081
118
- nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=6mSNToiVpTakBqeh63bcCYelfduhh5W9YUhd95TDGVc,659454
119
- nmdc_schema/nmdc_materialized_patterns.yaml,sha256=KGnzttVy5LuZO5HAQAVMfyR9Rxp6O1eB3-5oRPchP64,687174
120
- nmdc_schema/nmdc_pydantic.py,sha256=iKXRpWJqmZJm4HuOBJFvFwvlXLQJkIqbq1zeMb1WOJY,1494737
117
+ nmdc_schema/nmdc_materialized_patterns.json,sha256=zYelDCg5vw2Xu2sqkJdNSXivLq4nYOMkGFoUOFoANLU,866760
118
+ nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=Zj6OJrAkCNAy834i5aYPswgmu55CwcDgAJyYAJTHVf4,659065
119
+ nmdc_schema/nmdc_materialized_patterns.yaml,sha256=7JrVT3czqz-j2Ks7Dvbva57s4qS9Zz0u0aWzWyA8po4,686820
120
+ nmdc_schema/nmdc_pydantic.py,sha256=WDqucyOgVuhxAk6LJCcU_GExEKH1ItrYT9OcKzFB8d8,1493333
121
121
  nmdc_schema/nmdc_schema_validation_plugin.py,sha256=rjtn1tYhngGyc1AV8vcT8BJ9a_MmHbcK3hRUf9dzPtA,4799
122
122
  nmdc_schema/nmdc_version.py,sha256=DsfEKnmN3LHR831WWELxyfZY6rnP9U8tfygamkrsaHY,2305
123
123
  nmdc_schema/validate_nmdc_json.py,sha256=PVJV2O1qQXMi206HaUKqRNLiLc164OpNYKPURSKN8_E,3148
124
- nmdc_schema-11.15.0.dist-info/METADATA,sha256=bY0FxcDuKunjQljVz0xYZ2wtwcFmINKBIXDL_0iwDGU,5883
125
- nmdc_schema-11.15.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
126
- nmdc_schema-11.15.0.dist-info/entry_points.txt,sha256=ioyD5P6op5Zy68bqg5MafLAryb73rfzyx8YXKItroC8,1531
127
- nmdc_schema-11.15.0.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
128
- nmdc_schema-11.15.0.dist-info/RECORD,,
124
+ nmdc_schema-11.15.1.dist-info/METADATA,sha256=KaT6c9quHmSLZ4_yVFGyozbDi1c8ICC5dPGKu2-KFew,5961
125
+ nmdc_schema-11.15.1.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
126
+ nmdc_schema-11.15.1.dist-info/entry_points.txt,sha256=ioyD5P6op5Zy68bqg5MafLAryb73rfzyx8YXKItroC8,1531
127
+ nmdc_schema-11.15.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
128
+ nmdc_schema-11.15.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: poetry-core 2.3.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any