From 8a4faf12fee92687eb4d52b14006be1508948866 Mon Sep 17 00:00:00 2001 From: Nathan McDougall Date: Tue, 17 Dec 2024 13:12:02 +1300 Subject: [PATCH] maint: add rdata as a testing dependency (#265) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add rdata as a dependency * Don't explicitly install rdata an extra time. Don't reference [test] in `pip install -e .` * Revert removal of `[test]` in cases where it is still needed. * Add read_rds workaround for rdata on Python 3.8. * Remove `hasattr` check * Add type conversion for 3.8 support of rds load * Use f.name for 3.8 rdata call * Use f.name rather than type conversion. * Enable `reportMissingImports` in pyright * Isolate protected import for pyright * Disable pyright for protected optional import * Fix typo 🤦‍♂️ * dropped 3.8, no longer need workaround --------- Co-authored-by: isabelizimm --- .github/workflows/ci.yml | 3 +-- pins/drivers.py | 2 +- pyproject.toml | 2 +- requirements/dev.txt | 4 ++++ 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c1b4772..72025c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,8 +91,7 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install -r requirements/dev.txt - python -m pip install rdata - python -m pip install -e .[test] + python -m pip install -e . - name: run Posit Connect run: | diff --git a/pins/drivers.py b/pins/drivers.py index 8ca6e3a..fcf9bee 100644 --- a/pins/drivers.py +++ b/pins/drivers.py @@ -114,7 +114,7 @@ def load_data( elif meta.type == "rds": try: - import rdata + import rdata # pyright: ignore[reportMissingImports] return rdata.read_rds(f) except ModuleNotFoundError: diff --git a/pyproject.toml b/pyproject.toml index 76b75b5..96b24ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,7 @@ test = [ "pytest-dotenv", "pytest-parallel", "s3fs", + "rdata", ] [build-system] @@ -102,7 +103,6 @@ reportArgumentType = false reportAttributeAccessIssue = false reportCallIssue = false reportIncompatibleMethodOverride = false -reportMissingImports = false reportMissingTypeStubs = false reportOptionalMemberAccess = false reportOptionalSubscript = false diff --git a/requirements/dev.txt b/requirements/dev.txt index 0b1c497..24473da 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -360,6 +360,8 @@ pyzmq==26.2.0 # jupyter-client quartodoc==0.9.1 # via pins (pyproject.toml) +rdata==0.11.2 + # via pins (pyproject.toml) referencing==0.35.1 # via # jsonschema @@ -442,6 +444,8 @@ wheel==0.45.1 # via pip-tools wrapt==1.17.0 # via aiobotocore +xarray==2024.6.0 + # via rdata xxhash==3.5.0 # via pins (pyproject.toml) yarl==1.18.3