lsst-felis 28.0.0__tar.gz → 28.0.0rc1__tar.gz
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.
- {lsst_felis-28.0.0/python/lsst_felis.egg-info → lsst_felis-28.0.0rc1}/PKG-INFO +4 -4
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/pyproject.toml +3 -3
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/db/utils.py +17 -17
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/version.py +1 -1
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1/python/lsst_felis.egg-info}/PKG-INFO +4 -4
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/lsst_felis.egg-info/requires.txt +2 -2
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/COPYRIGHT +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/LICENSE +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/README.rst +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/__init__.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/cli.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/datamodel.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/db/__init__.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/db/dialects.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/db/sqltypes.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/db/variants.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/metadata.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/py.typed +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/schemas/tap_schema_std.yaml +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/tap.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/tap_schema.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/tests/__init__.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/tests/postgresql.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/tests/utils.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/felis/types.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/lsst_felis.egg-info/SOURCES.txt +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/lsst_felis.egg-info/dependency_links.txt +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/lsst_felis.egg-info/entry_points.txt +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/lsst_felis.egg-info/top_level.txt +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/python/lsst_felis.egg-info/zip-safe +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/setup.cfg +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_cli.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_datamodel.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_metadata.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_postgres.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_tap.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_tap_schema.py +0 -0
- {lsst_felis-28.0.0 → lsst_felis-28.0.0rc1}/tests/test_tap_schema_postgres.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: lsst-felis
|
|
3
|
-
Version: 28.0.
|
|
3
|
+
Version: 28.0.0rc1
|
|
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+)
|
|
@@ -23,8 +23,8 @@ Requires-Dist: sqlalchemy>=1.4
|
|
|
23
23
|
Requires-Dist: click>=7
|
|
24
24
|
Requires-Dist: pyyaml>=6
|
|
25
25
|
Requires-Dist: pydantic<3,>=2
|
|
26
|
-
Requires-Dist: lsst-utils
|
|
27
|
-
Requires-Dist: lsst-resources
|
|
26
|
+
Requires-Dist: lsst-utils
|
|
27
|
+
Requires-Dist: lsst-resources
|
|
28
28
|
Provides-Extra: test
|
|
29
29
|
Requires-Dist: pytest>=3.2; extra == "test"
|
|
30
30
|
Provides-Extra: dev
|
|
@@ -26,8 +26,8 @@ dependencies = [
|
|
|
26
26
|
"click >= 7",
|
|
27
27
|
"pyyaml >= 6",
|
|
28
28
|
"pydantic >= 2, < 3",
|
|
29
|
-
"lsst-utils
|
|
30
|
-
"lsst-resources
|
|
29
|
+
"lsst-utils",
|
|
30
|
+
"lsst-resources"
|
|
31
31
|
]
|
|
32
32
|
requires-python = ">=3.11.0"
|
|
33
33
|
dynamic = ["version"]
|
|
@@ -69,7 +69,7 @@ felis = "felis.cli:cli"
|
|
|
69
69
|
package_dir = "python"
|
|
70
70
|
filename = "docs/CHANGES.rst"
|
|
71
71
|
directory = "docs/changes"
|
|
72
|
-
title_format = "{version} ({project_date})"
|
|
72
|
+
title_format = "felis {version} ({project_date})"
|
|
73
73
|
issue_format = "`{issue} <https://jira.lsstcorp.org/browse/{issue}>`_"
|
|
74
74
|
|
|
75
75
|
|
|
@@ -280,12 +280,7 @@ class DatabaseContext:
|
|
|
280
280
|
create a new schema. For other variants, this is an unsupported
|
|
281
281
|
operation.
|
|
282
282
|
"""
|
|
283
|
-
if self.engine.dialect.name == "sqlite":
|
|
284
|
-
# Initialization is unneeded for sqlite.
|
|
285
|
-
return
|
|
286
283
|
schema_name = self.metadata.schema
|
|
287
|
-
if schema_name is None:
|
|
288
|
-
raise ValueError("Schema name is required to initialize the schema.")
|
|
289
284
|
try:
|
|
290
285
|
if self.dialect_name == "mysql":
|
|
291
286
|
logger.debug(f"Checking if MySQL database exists: {schema_name}")
|
|
@@ -309,6 +304,11 @@ class DatabaseContext:
|
|
|
309
304
|
raise ValueError(f"PostgreSQL schema '{schema_name}' already exists.")
|
|
310
305
|
logger.debug(f"Creating PG schema: {schema_name}")
|
|
311
306
|
self.execute(CreateSchema(schema_name))
|
|
307
|
+
elif self.dialect_name == "sqlite":
|
|
308
|
+
# Just silently ignore this operation for SQLite. The database
|
|
309
|
+
# will still be created if it does not exist and the engine
|
|
310
|
+
# URL is valid.
|
|
311
|
+
pass
|
|
312
312
|
else:
|
|
313
313
|
raise ValueError(f"Initialization not supported for: {self.dialect_name}")
|
|
314
314
|
except SQLAlchemyError as e:
|
|
@@ -326,24 +326,24 @@ class DatabaseContext:
|
|
|
326
326
|
Notes
|
|
327
327
|
-----
|
|
328
328
|
In MySQL, this will drop a database. In PostgreSQL, it will drop a
|
|
329
|
-
schema.
|
|
330
|
-
database variants, this is currently an unsupported operation.
|
|
329
|
+
schema. For other variants, this is an unsupported operation.
|
|
331
330
|
"""
|
|
331
|
+
schema_name = self.metadata.schema
|
|
332
|
+
if not self.engine.dialect.name == "sqlite" and self.metadata.schema is None:
|
|
333
|
+
raise ValueError("Schema name is required to drop the schema.")
|
|
332
334
|
try:
|
|
333
|
-
if self.dialect_name == "
|
|
335
|
+
if self.dialect_name == "mysql":
|
|
336
|
+
logger.debug(f"Dropping MySQL database if exists: {schema_name}")
|
|
337
|
+
self.execute(text(f"DROP DATABASE IF EXISTS {schema_name}"))
|
|
338
|
+
elif self.dialect_name == "postgresql":
|
|
339
|
+
logger.debug(f"Dropping PostgreSQL schema if exists: {schema_name}")
|
|
340
|
+
self.execute(DropSchema(schema_name, if_exists=True, cascade=True))
|
|
341
|
+
elif self.dialect_name == "sqlite":
|
|
334
342
|
if isinstance(self.engine, Engine):
|
|
335
343
|
logger.debug("Dropping tables in SQLite schema")
|
|
336
344
|
self.metadata.drop_all(bind=self.engine)
|
|
337
345
|
else:
|
|
338
|
-
|
|
339
|
-
if schema_name is None:
|
|
340
|
-
raise ValueError("Schema name is required to drop the schema.")
|
|
341
|
-
if self.dialect_name == "mysql":
|
|
342
|
-
logger.debug(f"Dropping MySQL database if exists: {schema_name}")
|
|
343
|
-
self.execute(text(f"DROP DATABASE IF EXISTS {schema_name}"))
|
|
344
|
-
elif self.dialect_name == "postgresql":
|
|
345
|
-
logger.debug(f"Dropping PostgreSQL schema if exists: {schema_name}")
|
|
346
|
-
self.execute(DropSchema(schema_name, if_exists=True, cascade=True))
|
|
346
|
+
raise ValueError(f"Drop operation not supported for: {self.dialect_name}")
|
|
347
347
|
except SQLAlchemyError as e:
|
|
348
348
|
logger.error(f"Error dropping schema: {e}")
|
|
349
349
|
raise
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__all__ = ["__version__"]
|
|
2
|
-
__version__ = "28.0.
|
|
2
|
+
__version__ = "28.0.0rc1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: lsst-felis
|
|
3
|
-
Version: 28.0.
|
|
3
|
+
Version: 28.0.0rc1
|
|
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+)
|
|
@@ -23,8 +23,8 @@ Requires-Dist: sqlalchemy>=1.4
|
|
|
23
23
|
Requires-Dist: click>=7
|
|
24
24
|
Requires-Dist: pyyaml>=6
|
|
25
25
|
Requires-Dist: pydantic<3,>=2
|
|
26
|
-
Requires-Dist: lsst-utils
|
|
27
|
-
Requires-Dist: lsst-resources
|
|
26
|
+
Requires-Dist: lsst-utils
|
|
27
|
+
Requires-Dist: lsst-resources
|
|
28
28
|
Provides-Extra: test
|
|
29
29
|
Requires-Dist: pytest>=3.2; extra == "test"
|
|
30
30
|
Provides-Extra: dev
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|