lsst-felis 27.2024.3300__py3-none-any.whl → 27.2024.3400__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.

Potentially problematic release.


This version of lsst-felis might be problematic. Click here for more details.

felis/datamodel.py CHANGED
@@ -492,7 +492,7 @@ class Table(BaseObject):
492
492
  tap_table_index: int | None = Field(None, alias="tap:table_index")
493
493
  """IVOA TAP_SCHEMA table index of the table."""
494
494
 
495
- mysql_engine: str | None = Field(None, alias="mysql:engine")
495
+ mysql_engine: str | None = Field("MyISAM", alias="mysql:engine")
496
496
  """MySQL engine to use for the table."""
497
497
 
498
498
  mysql_charset: str | None = Field(None, alias="mysql:charset")
@@ -773,6 +773,31 @@ class Schema(BaseObject):
773
773
  table_indicies.add(table_index)
774
774
  return self
775
775
 
776
+ @model_validator(mode="after")
777
+ def check_unique_constraint_names(self: Schema) -> Schema:
778
+ """Check for duplicate constraint names in the schema.
779
+
780
+ Raises
781
+ ------
782
+ ValueError
783
+ Raised if duplicate constraint names are found in the schema.
784
+ """
785
+ constraint_names = set()
786
+ duplicate_names = []
787
+
788
+ for table in self.tables:
789
+ for constraint in table.constraints:
790
+ constraint_name = constraint.name
791
+ if constraint_name in constraint_names:
792
+ duplicate_names.append(constraint_name)
793
+ else:
794
+ constraint_names.add(constraint_name)
795
+
796
+ if duplicate_names:
797
+ raise ValueError(f"Duplicate constraint names found in schema: {duplicate_names}")
798
+
799
+ return self
800
+
776
801
  def _create_id_map(self: Schema) -> Schema:
777
802
  """Create a map of IDs to objects.
778
803
 
felis/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "27.2024.3300"
2
+ __version__ = "27.2024.3400"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lsst-felis
3
- Version: 27.2024.3300
3
+ Version: 27.2024.3400
4
4
  Summary: A vocabulary for describing catalogs and acting on those descriptions
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License: GNU General Public License v3 or later (GPLv3+)
@@ -1,11 +1,11 @@
1
1
  felis/__init__.py,sha256=THmRg3ylB4E73XhFjJX7YlnV_CM3lr_gZO_HqQFzIQ4,937
2
2
  felis/cli.py,sha256=iXZ3ViMKAC45OHOT5OSPW0aqSxOTG2Oa0qrgbADKD7A,14378
3
- felis/datamodel.py,sha256=f0iHz2N0mXOWNBUPfmXO9bDmALKG1UUJPvFp_oPo4jU,26598
3
+ felis/datamodel.py,sha256=_gvg0bIL0k4ssu8GzE5ubR653fs_zQYCKqnPqhmfabo,27437
4
4
  felis/metadata.py,sha256=JgqZeFqGFuuahOKL2jLrh3KDZhjILQJoS2_p3P8lKNE,13739
5
5
  felis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  felis/tap.py,sha256=pyLHBWzXCw4F1wDbQiyxyJYPQcye4It2yRuVFoQQK5I,21746
7
7
  felis/types.py,sha256=m80GSGfNHQ3-NzRuTzKOyRXLJboPxdk9kzpp1SO8XdY,5510
8
- felis/version.py,sha256=NiQ2xf9osfwJG1W0J5AFtqbuQIt9vDj9eILHTVVltKg,55
8
+ felis/version.py,sha256=4yfXG1Fcx5_9hIpMLenPMBwqIPvmpOQu6MejMwNsmS8,55
9
9
  felis/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  felis/db/dialects.py,sha256=n5La-shu-8fHLIyf8rrazHDyrzATmMCdELtKV_0ymxI,3517
11
11
  felis/db/sqltypes.py,sha256=JJy97U8KzAOg5pFi2xZgSjvU8CXXgrzkvCsmo6FLRG4,11060
@@ -13,11 +13,11 @@ felis/db/utils.py,sha256=I8t9Yui98T8iPyrs0Q-qyjjaxVyX8kQkyizvzv-p4FE,11526
13
13
  felis/db/variants.py,sha256=eahthrbVeV8ZdGamWQccNmWgx6CCscGrU0vQRs5HZK8,5260
14
14
  felis/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  felis/tests/postgresql.py,sha256=B_xk4fLual5-viGDqP20r94okuc0pbSvytRH_L0fvMs,4035
16
- lsst_felis-27.2024.3300.dist-info/COPYRIGHT,sha256=vJAFLFTSF1mhy9eIuA3P6R-3yxTWKQgpig88P-1IzRw,129
17
- lsst_felis-27.2024.3300.dist-info/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
18
- lsst_felis-27.2024.3300.dist-info/METADATA,sha256=zMf5z3224Qn-U88B1dZT6DWJBwEOOHsOMVOKNXj7S28,1288
19
- lsst_felis-27.2024.3300.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
20
- lsst_felis-27.2024.3300.dist-info/entry_points.txt,sha256=Gk2XFujA_Gp52VBk45g5kim8TDoMDJFPctsMqiq72EM,40
21
- lsst_felis-27.2024.3300.dist-info/top_level.txt,sha256=F4SvPip3iZRVyISi50CHhwTIAokAhSxjWiVcn4IVWRI,6
22
- lsst_felis-27.2024.3300.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
23
- lsst_felis-27.2024.3300.dist-info/RECORD,,
16
+ lsst_felis-27.2024.3400.dist-info/COPYRIGHT,sha256=vJAFLFTSF1mhy9eIuA3P6R-3yxTWKQgpig88P-1IzRw,129
17
+ lsst_felis-27.2024.3400.dist-info/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
18
+ lsst_felis-27.2024.3400.dist-info/METADATA,sha256=k9YoYj_fBf3QWV6M2Is0B5VvzaYzaJweWM6DfzcMz4Y,1288
19
+ lsst_felis-27.2024.3400.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
20
+ lsst_felis-27.2024.3400.dist-info/entry_points.txt,sha256=Gk2XFujA_Gp52VBk45g5kim8TDoMDJFPctsMqiq72EM,40
21
+ lsst_felis-27.2024.3400.dist-info/top_level.txt,sha256=F4SvPip3iZRVyISi50CHhwTIAokAhSxjWiVcn4IVWRI,6
22
+ lsst_felis-27.2024.3400.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
23
+ lsst_felis-27.2024.3400.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.2.0)
2
+ Generator: setuptools (73.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5