From 073e4191a8925dc3187e4ed1372f62ead77bc9df Mon Sep 17 00:00:00 2001 From: David Rodriguez Date: Mon, 10 Feb 2025 16:43:54 +0000 Subject: [PATCH 1/3] Updating view handling code; pinning sqlalchemy version --- astrodbkit/views.py | 16 +++++++++++++--- pyproject.toml | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/astrodbkit/views.py b/astrodbkit/views.py index dd8d40e..fb3860e 100644 --- a/astrodbkit/views.py +++ b/astrodbkit/views.py @@ -45,14 +45,24 @@ def view_doesnt_exist(ddl, target, connection, **kw): def view(name, metadata, selectable): - t = table(name) - t._columns._populate_separate_keys(col._make_proxy(t) for col in selectable.selected_columns) + t = sa.table( + name, + *( + sa.Column(c.name, c.type, primary_key=c.primary_key) + for c in selectable.selected_columns + ), + ) + t.primary_key.update(c for c in t.c if c.primary_key) sa.event.listen( metadata, "after_create", CreateView(name, selectable).execute_if(callable_=view_doesnt_exist), ) - sa.event.listen(metadata, "before_drop", DropView(name).execute_if(callable_=view_exists)) + sa.event.listen( + metadata, + "before_drop", + DropView(name).execute_if(callable_=view_exists), + ) return t diff --git a/pyproject.toml b/pyproject.toml index db24daa..ebf1531 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ requires-python = ">= 3.11" dependencies = [ "astropy", "astroquery", - "sqlalchemy>=2.0", + "sqlalchemy==2.0.38", "pandas>=1.0.4", "packaging", "specutils>=1.0", From 674322e80b74feaa71b69e6615a185972502e5b6 Mon Sep 17 00:00:00 2001 From: David Rodriguez Date: Mon, 10 Feb 2025 19:05:20 +0000 Subject: [PATCH 2/3] changing version pinning to be more flexible --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ebf1531..22e696f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ requires-python = ">= 3.11" dependencies = [ "astropy", "astroquery", - "sqlalchemy==2.0.38", + "sqlalchemy>=2.0.38", "pandas>=1.0.4", "packaging", "specutils>=1.0", From efdc9f6dfb8d320e196302000cc1d1506160efde Mon Sep 17 00:00:00 2001 From: David Rodriguez Date: Mon, 10 Feb 2025 19:05:34 +0000 Subject: [PATCH 3/3] adding scheduled test for checking dependencies --- .github/workflows/test-dependencies.yml | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/test-dependencies.yml diff --git a/.github/workflows/test-dependencies.yml b/.github/workflows/test-dependencies.yml new file mode 100644 index 0000000..9247927 --- /dev/null +++ b/.github/workflows/test-dependencies.yml @@ -0,0 +1,30 @@ +# This workflow will install the package on a regular schedule to check if there are any depenedency issues. + +name: Test Astrodbkit Dependencies + +on: + schedule: + - cron: '0 16 * * *' + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.11, 3.12, 3.13] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + # install package and requirements + pip install ".[all]" + - name: Test with pytest + run: | + pytest